matconvnet中使用fastrcnn遇到的问题
這幾天用了matconvnet(MATLAB下的深度學(xué)習(xí)工具)踩了好幾個坑,還好最終總算是能用了?,F(xiàn)在把其中遇到的坑總結(jié)一下。
matconvnet的官網(wǎng):http://www.vlfeat.org/matconvnet/
按照官網(wǎng)上的說明,其實在windows和cpu下編譯,完全沒問題。基本上不用改什么地方,按照官網(wǎng)說明就一遍過了。
當(dāng)需要訓(xùn)練網(wǎng)絡(luò)的時候,把代碼搬到linux和gpu上,就出現(xiàn)了一些問題,這里把這些問題記錄一下。
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
造成這個現(xiàn)象的原因是libstdc++.so.這個文件。在Windows下沒什么問題,但是linux系統(tǒng)有這個文件,matalb自己也有這個問題,所以發(fā)生了調(diào)用了錯誤。為了修正這個錯誤,可以設(shè)置一下讓matlab調(diào)自己的庫而不是系統(tǒng)的庫。通過在命令行里設(shè)置并打開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
總結(jié)
以上是生活随笔為你收集整理的matconvnet中使用fastrcnn遇到的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于边缘的图像分割——分水岭算法(wat
- 下一篇: 利用SIFT和RANSAC算法(open