1、如果需要修改模型的存储位置。更改py-R-FCN/lib/fast_rcnn/config.py下的:
outdir = osp.abspath(osp.join(__C.ROOT_DIR, 'output_big_finetuning', __C.EXP_DIR, imdb.name))
2、如果训练的类别不同。更改prototxt。
3、如果训练模型的感受野/feature map大小发生变化。
A.更改prototxt里的'feat_stride': 16"和spatial_scale: 0.0625。
B./home/cowa/lhb/py-R-FCN/lib/rpn/generate.py
def imdb_rpn_compute_stats(net, imdb, anchor_scales=(8,16,32),
feature_stride=16):
C./home/cowa/lhb/py-R-FCN/lib/rpn/generate_anchors.py
def generate_anchors(base_size=16, ratios=[0.5, 1, 2],
scales=2**np.arange(3, 6)):
"""
4、如果需要蒋原本的数据弄成两类进行训练,修改:
A./home/cowa/lhb/py-R-FCN/lib/datasets/pascal_voc.py
self._classes = ('__background__', # always index 0
'red', 'yellow', 'green', 'off')
同时:
#cls='traffic_light'
#cls = self._class_to_ind['traffic_light']
cls = self._class_to_ind[obj.find('name').text.lower().strip()]
B./home/cowa/lhb/py-R-FCN/lib/datasets/voc_eval.py
#R = [obj for obj in recs[imagename] if obj['name'] == 'red' or obj['name'] == 'off' or obj['name'] == 'yellow' or obj['name'] == 'green']
R = [obj for obj in recs[imagename] if obj['name'] ==classname]