工作记录:RCNN在自己的数据库上finetune之后进行测试

来源:互联网 发布:sql promp8破解 编辑:程序博客网 时间:2024/06/06 09:27

提特征

  1. 首先要修改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);
  2. 其次要修改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');
  3. 然后调用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

训练、测试

  1. 首先要修改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);
  2. 其次要修改rcnn/rcnn_test.m

    • 备份rcnn_test
      • 复制rcnn_test并另存为 OPT_rcnn_test
    • 修改OPT_rcnn_test(改默认参数等)
      • 不需要修改OPT_rcnn_test
  3. 然后要修改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');
  4. 然后调用rcnn_exp_train_and_test.m训练后几层 ( fc6, fc7 ) 并给出测试结果:

>>test_results = OPT_rcnn_exp_train_and_test()
阅读全文
0 0
原创粉丝点击