天天看點

pvanet 訓練自定義資料編譯方法訓練腳本部署資料集備注

源碼

編譯方法

  1. 到lib目錄下執行
make
           
  1. caffe-fast-rcnn目錄下執行
cp Makefile.config.example Makefile.config
#編輯Makefile.config内容,啟動WITH_PYTHON_LAYER := 1
make -j8 && make pycaffe
           

訓練腳本

假設處理的目标是pascal_voc_object (object是關鍵字)

  1. models/pascal_voc_object/目錄中放置train.prototxt, solver.prototxt, test.prototxt

    網絡定義

  2. models/pvanet/cfgs/pascal_voc_object/train.yml

    pva特有的參數

  3. data/pascal_voc_object/lit_pva_pretrained.caffemodel

    預訓練模型

部署資料集

  1. 定義資料集

    編輯lib/datasets/factory.py

for year in ['object']:
    for split in ['train', 'val', 'trainval', 'test']:
        name = 'voc_{}_{}'.format(year, split)
        __sets[name] = (lambda split=split, year=year: pascal_voc(split, year))
           
  1. 修改lib/datasets/pascal_voc.py

    修改類别名字清單,注意類别名字必須和xml中一緻!

  2. 按照voc格式組織資料,放置在如下目錄

    data/VOCdevkitobject/VOCobject/

  3. 訓練
python ./tools/train_net.py --gpu 0 --solver models/pascal_voc_object/solver.prototxt --iters 10000 --cfg=models/pvanet/cfgs/pascal_voc_object/train.yml 
--imdb voc_object_trainval --weights data/pascal_voc_object/lite_pva_pretrained.caffemodel
           

備注

data/cache: 這裡有些cache資料,更新資料集後,最好把這個目錄裡的pkl删除

繼續閱讀