提特征
首先要修改
rcnn/rcnn_cache_pool5_features.m- 备份
rcnn_cache_pool5_features
- 复制
rcnn_cache_pool5_features并另存为OPT_rcnn_cache_pool5_features
- 复制
- 修改
OPT_rcnn_cache_pool5_features(改路径等)
- 在训练好的文件中挑选loss最小的50k次迭代文件,复制到指定目录下
cp finetune_OPT_2017_train_iter_50000 ~/CODE/rcnn/data/caffe_nets/finetune_OPT_2017_train_iter_50000 .prototxt内容修改
./model-defs/rcnn_batch_256_output_pool5.prototxt无需修改.m内容修改
[33] ip.addOptional('net_file', './data/caffe_nets/finetune_OPT_2017_train_iter_50000', @isstr);
[36] ip.addOptional('cache_name', 'v1_finetune_OPT_2017_train_iter_50000', @isstr);
- 在训练好的文件中挑选loss最小的50k次迭代文件,复制到指定目录下
- 备份
其次要修改
rcnn/experiments/rcnn_exp_cache_features.m- 备份
rcnn_exp_cache_features
- 复制
rcnn_exp_cache_features并另存为OPT_rcnn_exp_cache_features
- 复制
- 修改
OPT_rcnn_exp_cache_features(改路径等)
[4] net_file = './data/caffe_nets/finetune_OPT_2017_train_iter_50000';
[5] cache_name = 'v1_finetune_OPT_2017_train_iter_50000';
[10] VOCdevkit = './datasets/OPTdevkit2017';
[13] imdb_train = imdb_from_voc(VOCdevkit, 'train', '2017');
[14] imdb_val = imdb_from_voc(VOCdevkit, 'val', '2017');
[15] imdb_test = imdb_from_voc(VOCdevkit, 'test', '2017');
[16] imdb_trainval = imdb_from_voc(VOCdevkit, 'trainval', '2017');
- 备份
然后调用
rcnn_exp_cache_features.m提特征:
>> OPT_rcnn_exp_cache_features('train'); % chunk1
>> OPT_rcnn_exp_cache_features('val'); % chunk2
>> OPT_rcnn_exp_cache_features('test_1'); % chunk3
>> OPT_rcnn_exp_cache_features('test_2'); % chunk4
训练、测试
首先要修改
rcnn/rcnn_train.m- 备份
rcnn_train
- 复制
rcnn_train并另存为OPT_rcnn_train
- 复制
- 修改
./model-defs/rcnn_batch_256_output_fc7.prototxt
rcnn_batch_256_output_fc7.prototxt不需要修改
- 修改
OPT_rcnn_train(改默认参数、路径等)
[42] ip.addParamValue('net_file', './data/caffe_nets/finetune_OPT_2017_train_iter_50000', @isstr);
[45] ip.addParamValue('cache_name', 'v1_finetune_OPT_2017_train_iter_50000', @isstr);
- 备份
其次要修改
rcnn/rcnn_test.m- 备份
rcnn_test
- 复制
rcnn_test并另存为OPT_rcnn_test
- 复制
- 修改
OPT_rcnn_test(改默认参数等)
- 不需要修改
OPT_rcnn_test
- 不需要修改
- 备份
然后要修改
rcnn/experiments/rcnn_exp_train_and_test.m- 备份
rcnn_exp_train_and_test
- 复制
rcnn_exp_train_and_test并另存为OPT_rcnn_exp_train_and_test
- 复制
- 修改
OPT_rcnn_exp_train_and_test(改默认参数等)
[5] net_file = './data/caffe_nets/finetune_OPT_2017_train_iter_50000';
[6] cache_name = 'v1_finetune_OPT_2017_train_iter_50000';
[13] VOCdevkit = './datasets/OPTdevkit2017';
[16] imdb_train = imdb_from_voc(VOCdevkit, 'trainval', '2017');
[17] imdb_test = imdb_from_voc(VOCdevkit, 'test', '2017');
- 备份
然后调用
rcnn_exp_train_and_test.m训练后几层 ( fc6, fc7 ) 并给出测试结果:
>>test_results = OPT_rcnn_exp_train_and_test()
本文介绍如何通过修改RCNN相关脚本来提取特征、选择最佳迭代模型,并进行最后几层网络的训练与测试。涉及文件包括rcnn_cache_pool5_features.m、rcnn_exp_cache_features.m、rcnn_train.m等。
3432

被折叠的 条评论
为什么被折叠?



