参考:http://blog.csdn.net/yhaolpz https://blog.csdn.net/yhaolpz/article/details/71375762
https://blog.csdn.net/sunpeng19960715/article/details/54835148
中间可能出错的几个点:1.显卡驱动还是要找和自己匹配的驱动,具体方式见显卡驱动安装随笔
2.opencv安装有一个文件下载超时,自己下载下来安装,ippicv_linux_20151201.tgz,放到opencv-3.1.0/3rdparty/ippicv/downloads/linux-*目录下的同名文件,重新cmake
github:https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20151201/ippicv
3.caffe make过程中找不到python-numpy 可能numpy没有装 也可能Makefile.config中默认python2.7,你用的python3.x
4.make all -j8过程中出错,~/.bashrc中环境变量 export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH 未引入会报找不到cuda-8.0/lib64下的包找不到
配置编译caffe-ssd
1.下载:https://github.com/weiliu89/caffe.git
2.进入caffe目录:cp Makefile.config.example Makefile.config
3.更改配置文件:gedit Makefile.config
去掉CuDNN注释,修改Blas路径、opencv版本、python include路径添加hdf5等
4.修改Makefile文件
将: NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS) 替换为: NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
将: LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5 改为: LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
将:CXXFLAGS += -MMD -MP 改为:CXXFLAGS += -std=c++11 (这行代码是在需要matcaffe时候需要加上的)
5.编译caffe三部
-
make all -j16 //-j16根据本机的处理器配置,16是16核处理器的意思
-
make test -j16
-
make runtest -j16(这一步不是必须的)
make pycaffe -j16
(编译pycaffe)
可能出现问题:
1. pycaffe 引入 import caffe 没有模块 no moudles no lboost_python
错误:no moudles:
注意用的 python2.7 还是 python3.x 在makefile.config 里修改
在 sudo ~/.bashrc 里加上python环境变量export PYTHONPATH=/SSD所在目录/caffe/python
错误:
ImportError: /home/zero/Documents/caffe-master/python/caffe/_caffe.so:undefined symbol: _ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE
makefile.config里:python3.x的python_libraries 后边要去/usr/lib/x86_64_gun/lbboost_python 寻找 lboost_python3.so 和 lboost_python35m.so 没有lboost_python3.so 用符号链接创建一个 进入该目录下 ln -s lboost_python35m.so lboost_python3.so
错误:缺少各种依赖包
./caffe-ssd/python/requirements.txt 里边的依赖都装上 最好选择在要求的版本上选择低版本(caffe已经停止更新 可能不支持高版本模块)具体方法见pip3安装与卸载随笔