faster-RCNN的训练和demo的实现

作者: 大海龟啦啦啦 | 来源:发表于2020-06-19 22:30 被阅读0次

    这个实验是基于# dBeker/Faster-RCNN-TensorFlow-Python3做的

    1、下载这个tensorflow的faster-RCNN版本,并按照他的README.md完成配置。

    git clone https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3.git
    
    进入其文件夹,之后会看到如下所示的东西

    里面有三个文件夹,其中data是我们放数据的文件夹,里面有cache、coco、demo和scripts四个子文件夹,新建一个文件夹imagenet_weights,将下载下来的VGG16模型放至该文件夹中,再将下载下来的PASCAL VOC2007的训练数据集放至其中,以供训练模型使用。

    2、将以上东西都配置好了之后就可以进行模型的训练了

    python train.py
    

    就可以完成训练,训练出来的模型会被放在“./default/voc_2007_trainval/default”目录中,到时候调用demo.py的时候就可以直接调用demo.py

    3、接下来是最让人头疼的调试demo.py的步骤了

    一定要将demo.py中这一行代码给注释掉

    tfmodel = os.path.join('output', demonet, DATASETS[dataset][0], 'default', NETS[demonet][0])
    

    因为不注释掉这一行代码的话,会出现找不到训练出来的模型的问题。
    其次,还要将以下代码块也一并注释掉

        if not os.path.isfile(tfmodel + '.meta'):
            print(tfmodel)
            raise IOError(('{:s} not found.\nDid you download the proper networks from '
                           'our server and place them properly?').format(tfmodel + '.meta'))
    

    同时添加一行代码

    tfmodel = './default/voc_2007_trainval/default/vgg16_faster_rcnn_iter_40000.ckpt'
    

    完成以上步骤还不足以完成demo.py的训练,还需要将\lib\config\config.py中的

    tf.app.flags.DEFINE_string('network', "vgg16", "The network to be used as backbone")
    

    转换成

    tf.app.flags.DEFINE_string('net', "vgg16", "The network to be used as backbone")
    

    这样便可完成demo.py的测试。

    相关文章

      网友评论

        本文标题:faster-RCNN的训练和demo的实现

        本文链接:https://www.haomeiwen.com/subject/ycwbxktx.html