深度学习的各种骚套路机器学习

faster-RCNN的训练和demo的实现

2020-06-19  本文已影响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的测试。

上一篇下一篇

猜你喜欢

热点阅读