FastRCNN 训练自己数据集(一)——编译配置

来源:互联网 发布:知乎 好听的民谣下载 编辑:程序博客网 时间:2024/06/05 18:05
  
#1楼 2015-10-20 14:13 lightning16  
demo我都跑通了,现在是想用自己的道路标识进行训练,用什么工具能把这些标识提前出来在annoations呢?
支持(0)反对(0)
  
#2楼[楼主2015-10-23 00:22 楼燚航的blog  
@ lightning16
你说的应该是原始的GroundTruth,就是目标在图中的位置吧,我当时是自己写的python 和 opencv一个标注小工具
支持(0)反对(0)
  
#3楼 2015-11-16 16:27 Vict  
cd $FRCN_ROOT
./tools/demo.py
这之前的东西都搞定,但跑demo出问题。
Traceback (most recent call last):
File "./tools/demo.py", line 17, in <module>
from fast_rcnn.config import cfg
File "/home/zhaoyannan/fast-rcnn/tools/../lib/fast_rcnn/__init__.py", line 8, in <module>
from . import config
File "/home/zhaoyannan/fast-rcnn/tools/../lib/fast_rcnn/config.py", line 23, in <module>
from easydict import EasyDict as edict
ImportError: No module named easydict
支持(0)反对(0)
  
#4楼 2015-11-16 16:28 Vict  
对了我是用cpu配置的caffe,没配置cuda
支持(0)反对(0)
  
#5楼[楼主2015-11-16 19:05 楼燚航的blog  
@ Vict
我觉得你可能是easydict环境没有配或者是附加模块的路径问题,你在编译的时候Makefile.config下是否添加了相应的python附加包的路径
支持(0)反对(0)
  
#6楼 2015-11-17 02:17 sunjieee  
博主,我在fast rcnn编译caffe-fast-rcnn出现问题
加上WITH_PYTHON_LAYER = 1就有问题
把这句注释掉就能编译,但跑会有问题
而我尝试最新的caffe同样加上WITH_PYTHON_LAYER = 1却能够编译完成
这是哪里的问题?是boost版本问题吗?
实验室的服务器不敢改,用自己电脑gt750跑的话会要几天吗?
具体报错:
.build_release/lib/libcaffe.so: undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > > const&)'
.build_release/lib/libcaffe.so: undefined reference to `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
collect2: error: ld returned 1 exit status
Makefile:545: recipe for target '.build_release/tools/device_query.bin' failed
make: *** [.build_release/tools/device_query.bin] Error 1
make: *** Waiting for unfinished jobs....
支持(0)反对(0)
  
#7楼[楼主2015-11-18 18:49 楼燚航的blog  
@ sunjieee
我之前boost升级也碰到过问题,后来退回到1.55版本,就没有Boost的问题了,你可以试试
支持(0)反对(0)
  
#8楼 2015-12-28 19:55 野孩子1991  
楼主,可否给下你的selective search的代码,我在网上找的产生的op都不好,对比demo里的检测车辆那个,我的op只能找到两辆车。谢谢。
支持(0)反对(0)
  
#9楼 2016-01-27 14:52 黄豆豆是小小兵  
博主您好,参照您的博客安装了fast-rcnn,但是在编译caffe和pycaffe时出现了问题,向您请教一下~
.build_release/lib/libcaffe.so:对‘caffe::CuDNNConvolutionLayer<double>::Backward_gpu(std::vector<caffe::Blob<double>*, std::allocator<caffe::Blob<double>*> > const&, std::vector<bool, std::allocator<bool> > const&, std::vector<caffe::Blob<double>*, std::allocator<caffe::Blob<double>*> > const&)’未定义的引用
谢谢( ^_^ )
支持(0)反对(0)
  
#10楼[楼主2016-02-19 13:08 楼燚航的blog  
@ 野孩子1991
你可以直接到Fast或者FasterRCNN的Github主页上有相应的链接,跳过去下载就可以了
支持(0)反对(0)
  
#11楼[楼主2016-02-19 13:09 楼燚航的blog  
@ 黄豆豆是小小兵
你那个cuDNN的编译选项要确保打开哦
支持(0)反对(0)
  
#12楼 2016-03-09 13:40 keran  
唔,我刚才没编译,但是现在编译出现了大bug呀,求帮助!
In file included from src/caffe/util/cudnn.cpp:2:0:
./include/caffe/util/cudnn.hpp:64:32: 错误: 变量或字段‘createTensor4dDesc’声明为 void
./include/caffe/util/cudnn.hpp:64:32: 错误: ‘cudnnTensorDescriptor_t’在此作用域中尚未声明
./include/caffe/util/cudnn.hpp:64:57: 错误: ‘desc’在此作用域中尚未声明
。。。。。太多了放不下
./include/caffe/util/cudnn.hpp: 在函数‘void caffe::cudnn::setConvolutionDesc(cudnnConvolutionStruct**, int, cudnnFilterDescriptor_t, int, int, int, int)’中:
./include/caffe/util/cudnn.hpp:104:3: 错误: ‘cudnnSetConvolution2dDescriptor’的实参不依赖模板参数,所以‘cudnnSetConvolution2dDescriptor’的声明必须可用 [-fpermissive]
./include/caffe/util/cudnn.hpp:104:3: 附注: (如果您使用‘-fpermissive’,G++ 会接受您的代码,但是允许使用未定义的名称是不建议使用的风格)
./include/caffe/util/cudnn.hpp: 在函数‘void caffe::cudnn::createPoolingDesc(cudnnPoolingStruct**, caffe::PoolingParameter_PoolMethod, cudnnPoolingMode_t*, int, int, int, int, int, int)’中:
./include/caffe/util/cudnn.hpp:117:13: 错误: ‘CUDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING’在此作用域中尚未声明
./include/caffe/util/cudnn.hpp:123:3: 错误: ‘cudnnSetPooling2dDescriptor’的实参不依赖模板参数,所以‘cudnnSetPooling2dDescriptor’的声明必须可用 [-fpermissive]
make: *** [.build_release/src/caffe/util/math_functions.o] 错误 1

谢谢!
支持(0)反对(0)
  
#13楼 2016-03-30 15:31 雪花扇子  
楼主你好,为什么会出现cannot import name symbol_database
支持(0)反对(0)
  
#14楼 2016-04-01 18:46 JustJay  
@ 野孩子1991
selective-search提取OP的坐标是[top left bottom right]形式,并且从1开始,demo.py里面OP坐标形式为[left top right bottom],并且从0开始。
所以你需要进行坐标变换:all_proposals=all_proposals[ : , (1,0,3,2)]-1。
我当时也是只能检测出两辆车,后来发现是坐标的问题
支持(0)反对(0)
  
#15楼 2016-04-01 18:51 JustJay  
@ 雪花扇子
我建议你在make -j8 && make pycaffe 之后从上到下依次查找error。很多问题是没有安装库文件。google相应error之后 sudo apt-get install 相应的库 就好啦!
支持(0)反对(0)
  
#16楼 2016-04-01 18:58 雪花扇子  
@ JustJay
谢谢!那个问题以及解决了。我看了demo发现不仅有图片还有.mat的数据文件,那在在测试的时候是不是还得准备测试图片的.mat文件。这样我随便拿一张图片来做测试不就不能测试吗?
支持(0)反对(0)
  
#17楼 2016-04-01 19:04 JustJay  
@ 雪花扇子
是这样的,如果你需要测试自己的图片就要提取Object Proposal,也就是那个生成的.mat文件。我目前用的是selective-search提取的,Edge-Boxes还没有调好。不过你要非常注意坐标问题,正如博主提到的一样。
支持(0)反对(0)
  
#18楼 2016-04-01 19:10 雪花扇子  
@ JustJay
那我如果是实际用呢?就比如像博主那样要对道路上的车辆进行检测,那是不是要把视频每帧经过 selective-search 提取出 Object Proposal生成.mat文件然后和每帧图片本身传到模型做检测啊。这样的话有点麻烦
支持(0)反对(0)
  
#19楼 2016-04-01 19:16 JustJay  
@ 雪花扇子
我是初学caffe,现在还只是进行到检测自己的图片阶段,甚至还没有开始训练自己的数据集:(,不过你说的这个问题我不久会着手研究,如果你有什么进展,希望可以互相交流切磋!!!
支持(0)反对(0)
  
#20楼 2016-04-01 19:21 雪花扇子  
@ JustJay
我也是出学,只是在跑demo的时候发现这个问题,多多交流
支持(0)反对(0)
  
#21楼 2016-04-05 10:33 野孩子1991  
@ JustJay
非常感谢,我现在着手正在搞别的,等过段时间再搞一下试试。
支持(0)反对(0)
0 0
原创粉丝点击