faster用python版本的 https://github.com/rbgirshick/py-faster-rcnn
train_faster_rcnn_alt_opt.py源码在 https://github.com/rbgirshick/py-faster-rcnn/blob/master/tools/train_faster_rcnn_alt_opt.py
faster rcnn训练的开始是:faster_rcnn_alt_opt.sh。下面命令是训练的,还有它的参数说明。
调用最初脚本的说明
1 |
|
源码
train_faster_rcnn_alt_opt.py的源码:
1 | #!/usr/bin/env python |
部分参数说明
train_faster_rcnn_alt_opt.py 的部分参数说明:
- net_name: {ZF, VGG_CNN_M_1024, VGG16}
- pretrained_model: data/imagenet_models/${net_name}.v2.caffemodel
- cfg_file: experiments/cfgs/faster_rcnn_alt_opt.yml
- imdb_name: “voc_2007_trainval” or “voc_2007_test”
- cfg.TRAIN.HAS_RPN = True 表示用 xml 提供的 propoal
- cfg是配置文件,它的默认值放在上面的cfg_file里,其他还可以自己写配置文件之后与默认配置文件融合。
net_name
net_name是用get_solvers()找到网络。还要用到cfg的参数 MODELS_DIR ,
例子是join(MODELS_DIR, net_name, ‘faster_rcnn_alt_opt’,’stage1_rpn_solver60k80k.pt’)
imdb_name
imdb_name在factory中被拆成‘2007’(year)和‘trainval’/‘test’(split)到类pascal_voc中产生相应的imdb
整个step的大致流程
1 | (ImageNet model)->stage1_rpn_train->rpn_test |
数据imdb和roidb
roidb原本是imdb的一个属性,但imdb其实是为了计算roidb存在的,他所有的其他属性和方法都是为了计算roidb