1. 程式人生 > >pvanet 訓練自定義資料

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刪除