ubuntu通过cmake编译matcaffe接口

xiaoxiao2021-02-28  44

这段时间在基于别人的代码做修改,但是源代码编译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
转载请注明原文地址: https://www.6miu.com/read-2626860.html

最新回复(0)