matconvnet中使用fastrcnn遇到的问题
这几天用了matconvnet(MATLAB下的深度学习工具)踩了好几个坑,还好最终总算是能用了。现在把其中遇到的坑总结一下。
matconvnet的官网:http://www.vlfeat.org/matconvnet/
按照官网上的说明,其实在windows和cpu下编译,完全没问题。基本上不用改什么地方,按照官网说明就一遍过了。
当需要训练网络的时候,把代码搬到linux和gpu上,就出现了一些问题,这里把这些问题记录一下。
1.编译过了,但是运行fast-rcnn的demo的时候,报错如下:
Invalid MEX-file '/data/zycui_data/code/matconvnet-1.0-beta25/matlab/mex/vl_imreadjpeg.mexa64':
Missing symbol '_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv' required by
'/data/zycui_data/code/matconvnet-1.0-beta25/matlab/mex/vl_imreadjpeg.mexa64'
Missing symbol '_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv' required by
'/data/zycui_data/code/matconvnet-1.0-beta25/matlab/mex/vl_imreadjpeg.mexa64'
Missing symbol '_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv' required by
'/data/zycui_data/code/matconvnet-1.0-beta25/matlab/mex/vl_imreadjpeg.mexa64'
Missing symbol '_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv' required by
'/data/zycui_data/code/matconvnet-1.0-beta25/matlab/mex/vl_imreadjpeg.mexa64'
Missing symbol '_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv' required by
'/data/zycui_data/code/matconvnet-1.0-beta25/matlab/mex/vl_imreadjpeg.mexa64'
Missing symbol '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc' required by
'/data/zycui_data/code/matconvnet-1.0-beta25/matlab/mex/vl_imreadjpeg.mexa64'
Missing symbol '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm' required by
'/data/zycui_data/code/matconvnet-1.0-beta25/matlab/mex/vl_imreadjpeg.mexa64'
Missing symbol '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_' required by
'/data/zycui_data/code/matconvnet-1.0-beta25/matlab/mex/vl_imreadjpeg.mexa64'
Missing symbol '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm' required by
'/data/zycui_data/code/matconvnet-1.0-beta25/matlab/mex/vl_imreadjpeg.mexa64'
Missing symbol '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_' required by
'/data/zycui_data/code/matconvnet-1.0-beta25/matlab/mex/vl_imreadjpeg.mexa64'
Missing symbol '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_' required by
'/data/zycui_data/code/matconvnet-1.0-beta25/matlab/mex/vl_imreadjpeg.mexa64'
Missing symbol '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1
造成这个现象的原因是libstdc++.so.这个文件。在Windows下没什么问题,但是linux系统有这个文件,matalb自己也有这个问题,所以发生了调用了错误。为了修正这个错误,可以设置一下让matlab调自己的库而不是系统的库。通过在命令行里设置并打开MATLAB就可以了
链接如下: https://stackoverflow.com/questions/43643670/runtime-linker-error-using-thrust-in-matlab-mex-file
2.也是编译通过了,跑demo的时候报错,
CUDA_ERROR_ILLEGAL_ADDRESS
查了很久,也没有查到什么解决办法,matconvnet官方也没有说怎么解决,只是有人提出了编译的时候使用cudnn就不会有这个错误了,我试了一下,还真是这样,所以编译的时候,把cudnn加上就好了。
连接:https://github.com/vlfeat/matconvnet/issues/65#issuecomment-164496925
总结
以上是生活随笔为你收集整理的matconvnet中使用fastrcnn遇到的问题的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 基于边缘的图像分割——分水岭算法(wat
- 下一篇: 利用SIFT和RANSAC算法(open