环境要求:
python3.5,tensorflow-GPU环境,依赖的库,根据需要安装
(环境配置建议:python3.5,CUDA10.0,cudnn10.0,tensorflow-gpu13.1)
代码仓库:https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3.5
文件添加:
数据集:
data/VOCDevkit2007/VOC2007/(Annotations,ImageSets,JPEGImages)
预训练模型:data/imagenet_weights/vgg16.ckpt
环境配置:
Go to ./data/coco/PythonAPI
Run python setup.py build_ext --inplace
Run python setup.py build_ext install
Go to ./lib/utils
run python setup.py build_ext --inplace
Download pre-trained VGG16
Run train.py
关于参数修改:
1.模型保存参数:默认迭代5000次保存一下训练模型,修改config参数:
tf.app.flags.DEFINE_integer('snapshot_iterations', 50, "Iteration to take snapshot")
2.关于类别修改:
D:\Project\Project35\Faster-RCNN-TensorFlow-Python3.5-master\lib\datasets\pascal_voc.py
2-add.关于训练路径的修改:
/lib/datasets/pascal_voc.py
将self._devkit_path 改为自己的数据路径
self._devkit_path =r"D:\work\WaterAffairs\labelDatas\labelV1\VOCdevkit2007"
3.关于错误类型:CUDA_ERROE_OUT_OF_MEMORY
解决方法:
找到代码中Session,在session定义前 增加
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.7)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options,allow_soft_placement=True))
4.关于找不到文件的处理:
原因:config配置文件中的参数与模型名称不一致导致的:
tf.app.flags.DEFINE_string('pretrained_model', "./data/imagenet_weights/vgg16.ckpt", "Pretrained network weights")
处理:将“imagenet_weights中的”vgg_16.ckpt"改为“vgg16.ckpt”
检验模型的时刻了,运行demo.py,不过在此之前需要将demo.py的第108行原来默认的res101,改成我们现在用的vgg16
OSError: output\vgg16\voc_2007_trainval+voc_2012_trainval\default\vgg16_faster_rcnn_iter_70000.ckpt.meta not found.
https://blog.csdn.net/jcli1_14/article/details/81327047
5.关于win10 下安装pycocotools
命令行安装pycocotools:pip install pycocotools
安装时报错:
下载“pycocotools-2.0.0”,把“setup.py”里面的:
#extra_compile_args=['-Wno-cpp', '-Wno-unused-function', '-std=c99']
改为:extra_compile_args=[ '-std=c99']
在当前路径,运行“python setup.py install”进行安装。
训练自己的数据集:
lib/datasets/pascal_voc.py sef._classes=(按照自己的类修改)