zoukankan      html  css  js  c++  java
  • Faster R-CNN利用新的网络结构来训练

    前言

    最近利用Faster R-CNN训练数据,使用ZF模型,效果无法有效提高。就想尝试对ZF的网络结构进行改造,记录下具体操作。

    一、更改网络,训练初始化模型

    这里为了方便,我们假设更换的网络名为LeNet。

    首先,需要先训练在Faster R-CNN中用来初始化网络的模型:LeNet.caffemodel。

    这里比较简单,直接用完整的LeNet去训练一部分数据(VOC2007,VOC2012均可),数据初始大小resize为224*224,即可得到初始化网络的模型。

    二、在Faster R-CNN中更相关内容(Faster R-CNN是基于matlab)

    1.文件夹"experiments":

    (1)添加文件script_faster_rcnn_VOC2007_LeNet.m(内容同script_faster_rcnn_VOC2007_ZF.m,将文件中的ZF替换为LeNet)。

    (2)子文件夹"+Model"添加文件LeNet_for_Faster_RCNN_VOC2007.m(内容同ZF_for_Faster_RCNN_VOC2007.m,将文件中的ZF替换为LeNet)

    (3)子文件夹"models"中内容也需要更换,具体改动见下面"文件夹"models"中内容修改和添加"

    2.文件夹"fetch_data"中:

    (1)添加文件fetch_model_LeNet.m(内容同fetch_model_ZF.m,将ZF替换为LeNet)

    3.文件夹"functions":

    (1)子文件夹"rpn"中proposal_train.m部分内容修改:

    同理 proposal_test.m。

    (2) 子文件夹"fast_rcnn"中fast_rcnn_train.m文件修改如同(1)。

    4.文件夹"models":

    选取子文件夹"rpn_prototxts"为例

    (1)添加文件夹"LeNet",将文件夹"ZF"中的所有文件都拷贝过来,然后对每个文件进行修改:

      train_val.prototxt:将主体网络ZF替换为LeNet,然后对文件里的参数作出更改,如下图。

      test.prototxt:将主体网络ZF替换为LeNet即可,并修改网络名称为LeNet。

      solver_xxxx.prototxt:

    (2)添加文件夹"LeNet_fc6",将文件夹"ZF_fc6"中的所有文件都拷贝过来,然后对每个文件进行修改,修改方式如上。

      对于子文件夹"fast_rcnn_prototxts"来说,添加和修改方式如上述(1)(2)一致。

    三、总结

    做完上述工作,即可顺利的利用自己的网络来进行Faster R-CNN的训练了。

     

  • 相关阅读:
    【class2src】Decompiler
    【JAVA-JDT-AST】Java抽象语法树的构建、遍历及转成dot格式(附Github源码)
    【IBM-WALA】Step by Step : use WALA to generate System Dependency Graph PDF and Dot File (Mac)
    [R]统计工具包
    [PYTHON-TSNE]可视化Word Vector
    【Latex】常用工具包
    [Python]编程之美
    【python】用python生成pdf文件
    【python】并查集
    【Scikit】实现Multi-label text classification代码模板
  • 原文地址:https://www.cnblogs.com/yyxf1413/p/7827198.html
Copyright © 2011-2022 走看看