ubuntu通過cmake編譯matcaffe介面
阿新 • • 發佈:2019-01-01
這段時間在基於別人的程式碼做修改,但是原始碼編譯caffe的方式是使用cmake具體編譯方式如下:
cd caffe
mkdir build && cd build
cmake .. -DUSE_MPI=ON -DCUDNN_INCLUDE=/path/to/cudnn/include -DCUDNN_LIBRARY=/path/to/cudnn/lib64/libcudnn.so
make -j8 && make install
cd ../..
但是可以從列印的資訊看到並沒有配置Matlab介面;因此我們需要開啟編譯matlab的介面,修改caffe目錄下的CMakeLists.txt的一下內容
caffe_option(BUILD_matlab "Build Matlab wrapper" OFF IF UNIX OR APPLE)
改為
caffe_option(BUILD_matlab "Build Matlab wrapper" ON IF UNIX OR APPLE)
這時候再次配置,發現無法找到系統的Matlab,因此再次新增Matlab路徑,在caffe/cmake/Modules/FindMatlabMex.cmake修改
find_program(Matlab_mex NAMES mex mex.bat HINTS $(Matlab_DIR) PATH_SUFFIXES bin NO_DEFAULT_PATH) find_program(Matlab_mexext NAMES mexext mexext.bat HINTS $(Matlab_DIR) PATH_SUFFIXES bin NO_DEFAULT_PATH) 改為 find_program(Matlab_mex NAMES mex mex.bat HINTS /home/wyl/MATLAB PATH_SUFFIXES bin NO_DEFAULT_PATH) find_program(Matlab_mexext NAMES mexext mexext.bat HINTS /home/wyl/MATLAB PATH_SUFFIXES bin NO_DEFAULT_PATH)
這時候仍然報錯
/usr/bin/ld: cannot find -lpython2
需要修改
caffe/build/matlab/Cmakefiles/matlab.dir/build.make
lopencv_imgproc -lopencv_imgcodecs -llapack_atlas -lcblas -latlas -lpython2 -lboost_python -lmpi_cxx -lmpi -lprotobuf 改為 lopencv_imgproc -lopencv_imgcodecs -llapack_atlas -lcblas -latlas -lpython2.7 -lboost_python -lmpi_cxx -lmpi -lprotobuf