对于ZF中的train.prototxt开头的input-data、结尾的loss_ls和loss_box不能改变,这个是Faster RCNN代码框架决定的。
layer { name: 'input-data' type: 'Python' top: 'data' top: 'im_info' top: 'gt_boxes' python_param { module: 'roi_data_layer.layer' layer: 'RoIDataLayer' param_str: "'num_classes': 21" } }
layer { name: "loss_cls" type: "SoftmaxWithLoss" bottom: "cls_score" bottom: "labels" propagate_down: 1 propagate_down: 0 top: "cls_loss" loss_weight: 1 loss_param { ignore_label: -1 normalize: true } } layer { name: "loss_bbox" type: "SmoothL1Loss" bottom: "bbox_pred" bottom: "bbox_targets" bottom: 'bbox_inside_weights' bottom: 'bbox_outside_weights' top: "bbox_loss" loss_weight: 1 }
将CaffeNet的train.prototxt中的Conv1-Conv5,RCNN对应的部分直接复制。
- train.prototxt参考第2步即可。
若有疑惑可以给我留言。