这段时间在基于别人的代码做修改,但是源代码编译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