1. 程式人生 > >py-faster-rcnn訓練自己資料集需要修改的引數

py-faster-rcnn訓練自己資料集需要修改的引數

faster rcnn預設有三種網路模型ZF(小)、VGG_CNN_M_1024(中)、VGG16 (大)

訓練圖片大小為500*500,類別數1。

修改VGG_CNN_M_1024模型配置檔案

1)train.protxt檔案       input-data層的num_class數值由21改為2;       roi-data層的num_class數值由21改為2;       cls_score層的num_output數值由21改為2(1+1);       bbox_pred層的num_output數值由84改為8(2*4); 2)test.prototxt檔案 cls_score層的
num_output數值由21改為2(1+1); bbox_pred層的num_output數值由84改為8(2*4); 3)lib/datasets/pascal_voc.py檔案      修改self._classes = ('__background__',  '訓練的資料類別')

測試模型時需要改的檔案faster_rcnn_test.pt

cls_score層的num_output數值由21改為2;

bbox_pred層的num_output數值由84改為8;

cache問題

在重新訓練新的資料之前將cache刪除

1) py-faster-rcnn/output

 
2) py-faster-rcnn/data/cache

超引數

py-faster-rcnn/models/pascal_voc/VGG16/faster_rcnn_alt_opt/stage_fast_rcnn_solver*.pt

base_lr: 0.001

lr_policy: 'step'

step_size: 30000

display: 20

....

迭代次數在檔案py-faster-rcnn/tools/train_faster_rcnn_alt_opt.py中進行修改

max_iters = [80000, 40000, 80000, 40000]

分別對應rpn第1階段,fast rcnn第1階段,rpn第2階段,fast rcnn第2階段的迭代次數。

開始訓練:

cd py-faster-rcnn

./experiments/scripts/faster_rcnn_alt_opt.sh 0 VGG16 pascal_voc

引數表明使用第一塊GPU(0);模型是VGG16;訓練資料是pascal_voc(voc2007)。