在GitHub上下载的TFFRCNN的程序,自己运行,走了很多的弯路,现记录下,供大家参考。
文章中所有下载的东西可以在这里下载:
链接:http://pan.baidu.com/s/1eR7HQmu 密码:05c9
代码在Ubuntu16.04上运行的,其中Python以及其他相关的支持包已经安装好。这里就不赘述了。
1. 首先下载TFFRCNN的例子程序:https://github.com/CharlesShang/TFFRCNN/#installation-sufficient-for-the-demo
2. 将程序解压,并导入PYCharm中
3. 推荐使用Python2(由于Python3的改动较大,会有很多报错的东西)。
File->settings->
4. /home/china409/Myprogram/PythonProgram/yx/4docagain/TFFRCNN-master/lib目录下,修改make.sh文件如下:
修改为如下代码:
5. 下载文件(这些文件再文章开头的连接中可以下载):
VGG16 - TFFRCNN (0.689 mAP on VOC07).
VGG16 - TFFRCNN (0.748 mAP on VOC07)
Resnet50 - TFFRCNN (0.712 mAP on VOC07)
PVANet trained on ImageNet, converted from caffemodel
下载后文件如图所示:
其中文件*.npy文件为预加载文件,*.ckpt文件为已经训练好的文件。
下载文件:
这三个文件分别为训练集、测试集和matlib文件。
6. 修改文件
/home/china409/Myprogram/PythonProgram/yx/TFFRCNN-master/faster_rcnn/demo.py
修改为如下代码:
7. 此时demo配置完成,运行时会运行“/home/china409/Myprogram/PythonProgram/yx/TFFRCNN-master/data/demo”中的图片。
8. 开始运行训练代码
9. 建立软链接
ln -s/home/china409/Myprogram/PythonProgram/yx/TFFRCNN-master/downloads/VOCdevkit_trainVOCdevkit2007
并将软链接copy到/home/china409/Myprogram/PythonProgram/yx/TFFRCNN-master/data目录下。
10. 修改文件/home/china409/Myprogram/PythonProgram/yx/TFFRCNN-master/faster_rcnn/train_net.py
此时便可以运行学习代码,运行时间会比较长,大概要6到10小时。
在运行时可以将迭代次数放小点,以加快速度:
parser.add_argument('--iters',dest='max_iters',
help='number of iterations to train',
default=50000,type=int)
11. 在训练完成后将demo.py中的model改为如下:
parser.add_argument('--model', dest='model', help='Model path',
default='/home/china409/Myprogram/PythonProgram/yx/TFFRCNN-master/output/faster_rcnn_voc_vgg/voc_2007_trainval')
12. 导入文件:from tensorflow.core.protobufimportsaver_pb2
13. 修改读取方式:
# 原代码
# saver = tf.train.Saver()
# saver.restore(sess, args.model)
# 修改
saver =tf.train.Saver(write_version =saver_pb2.SaverDef.V1)
ckpt =tf.train.get_checkpoint_state(args.model)
print("ckpt:", ckpt)
if ckpt andckpt.model_checkpoint_path:
saver.restore(sess,ckpt.model_checkpoint_path)
# 修改
此时便完成了运行。
如果想修改测试样本,可以直接替换data/demo下的图片文件