使用py-faster-rcnn来训练voc2007数据集(Ubuntu)
来源:互联网 发布:摩天轮票务 知乎 编辑:程序博客网 时间:2024/06/03 15:52
数据集
1、下载数据集:
输入指令:
- 1
- 2
- 3
文件挺大,要下载一段时间。如果嫌慢的话,直接打开url使用其他下载器下载也可以。
下载完成后得到三个文件:
2、解压:
- 1
- 2
- 3
解压后其中的文件会自动合并到一起。
其中比较重要的两个文件夹分别是VOC2007和VOCcode。
3、将VOCdevkit文件夹放到py-faster-rcnn的data目录,即
输入指令,为PASCAL_VOC dataset创建链接 :
- 1
- 2
4、下载预训练模型:
- 1
- 2
文件挺大的,下载时间可能会比较长。
当然下载方法也很多,也可以到csdn下载区找到,不多说了。
训练数据集
好了,到目前为止都很简单。接下来要使用指令来训练了,一般来说都会因为环境不兼容碰到各种坑,后面会给出解决办法。
使用交替优化算法训练RPN
指令说明:
- 1
- 2
GPU_ID:你的GPU号,默认为0;
NET:使用的网络模型,模型有三种{ZF, VGG_CNN_M_1024, VGG16},其中zf较小,vgg16最大;
set 训练集设置,使用的数据集是pascal_voc;
示例:
- 1
- 2
使用联合训练的方法训练RPN
指令说明:
- 1
- 2
GPU_ID:你的GPU号,默认为0;
NET:使用的网络模型,模型有三种{ZF, VGG_CNN_M_1024, VGG16},其中zf较小,vgg16最大;
set 训练集设置,使用的数据集是pascal_voc;
这里跟前面类似,只是训练的方法不一样,使用的网络模型和数据集等等都是一样的。
示例:
- 1
- 2
可能遇到的问题
好了,前面的就是基本的操作步骤了。现在介绍一下可能遇到的问题。
错误1:
- 1
这个报错是因为numpy的版本太高,默认我们装anaconda的话,使用的numpy版本是1.12的,而这里用的是numpy1.11。由于语法不同,不兼容,所以报错。
解决方法一:对numpy版本做调整,把numpy版本降低到1.11。
输入指令:
- 1
如果装的是anaconda的话,要使用conda install
指令来重新安装numpy。但是不建议,因为会将一系列的python包更改掉,管理会变得很混乱,所以我没有采取这种方法。
给个参考链接,感兴趣的可以去看看:跑py-faster-rcnn过程中遇到的问题
解决办法二:
由于是numpy版本不兼容,我们就自己修改代码,使代码能兼容1.12版本的numpy。
修改$FRCN_ROOT/lib/rpn/proposal_target_layer.py,从第123行起:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
修改为:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
只是更改了ind,start,end变量,因为他们是numpy.int类型,将其进行强制类型转换,才能做索引。
错误2:
- 1
这个报错也是numpy的版本问题,有可能会遇到报错也有可能不会。
要么更换numpy版本,要么就是自己修改源码。
1) $FRCN_ROOT/lib/roi_data_layer/minibatch.py
将第26行:
- 1
改为:
- 1
2) $FRCN_ROOT/lib/datasets/ds_utils.py
将第12行:
- 1
改为:
- 1
3) $FRCN_ROOT/lib/fast_rcnn/test.py
将第129行:
- 1
改为:
- 1
4) $FRCN_ROOT/lib/rpn/proposal_target_layer.py
将第60行:
- 1
改为:
- 1
- 2
接下来可以回去前面输入指令测试了。如果还遇到了其他问题,下面给出几个参考博客链接:
Faster RCNN 训练中的一些问题及解决办法
Ubuntu16.04+cuda8.0+cudnn5.1配置faster-rcnn的方法以及训练自己的数据出现的问题
- caffe学习(七):使用py-faster-rcnn来训练voc2007数据集(Ubuntu)
- 使用py-faster-rcnn来训练voc2007数据集(Ubuntu)
- 将数据集做成VOC2007格式用于Faster-RCNN训练
- Faster-RCNN/SSD/训练将数据集做成VOC2007格式
- 将数据集做成VOC2007格式用于Faster-RCNN训练
- 制作VOC2007数据集用于Faster-RCNN训练
- Faster-RCNN训练:将数据集做成VOC2007格式
- Faster-RCNN训练:将数据集做成VOC2007格式
- 将数据集做成VOC2007格式用于Faster-RCNN训练
- 将数据集做成VOC2007格式用于Faster-RCNN训练
- 将数据集做成VOC2007格式用于Faster-RCNN训练
- 将数据集做成VOC2007格式用于Faster-RCNN训练
- 制作VOC2007格式数据集用于Faster-RCNN训练
- 将数据集做成VOC2007格式用于Faster-RCNN训练
- 将数据集做成VOC2007格式用于Faster-RCNN训练
- 将数据集做成VOC2007格式用于Faster-RCNN训练
- 将数据集做成VOC2007格式用于Faster-RCNN训练
- 将数据集做成VOC2007格式用于Faster-RCNN训练
- 拷贝构造
- 灯泡开关问题----bulb switcher,from leetcode
- js中的事件委托或是事件代理详解
- void Update ( ) 更新 void FixedUpdate ( )
- 谈谈对Spring IOC的理解
- 使用py-faster-rcnn来训练voc2007数据集(Ubuntu)
- Kotlin语言学习之定义变量(var,val)、方法(fun)
- php.ini
- Linux 安装配置curl 命令工具
- 【菜鸟的leetcode之旅】674. Longest Continuous Increasing Subsequence
- 谈一谈富文本化操作
- 《JavaScript高级程序设计》学习笔记(第四章)
- 李正轩老师课件的视频网址(讲的SVM非常清晰)
- MongoDB-Elasticsearch 实时数据导入