Ubuntu16.04安装配置编译运行Caffe-SSD
一、安装caffe
官网安装步骤:http://caffe.berkeleyvision.org/install_apt.html
1.依赖环境安装:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install --no-install-recommends libboost-all-d
2.安装blas
sudo apt-get install libopenblas-dev
3.python安装
sudo apt-get install python-dev
4.其他库安装
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
二、安装caffe-ssd
git clone https://github.com/weiliu89/caffe.git cd caffe git checkout ssd
编译:
# Modify Makefile.config according to your Caffe installation. cp Makefile.config.example Makefile.config make -j8 # Make sure to include $CAFFE_ROOT/python to your PYTHONPATH. make py make test -j8 # (Optional) make runtest -j8
如果过程中报错,尝试修改一下文件:
Makefile.config:
将USE_CUDNN :=1取消注释
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include后面打上一个空格, 然后添加/usr/include/hdf5/serial, 如果没有这一句会报一个找不到hdf5.h的错误
替换NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS) 为NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS) 保存退出。
模型下载:
遇到的问题:
1、提示没有Caffe模块:
执行的操作
echo "export PYTHONPATH=/home/xiaoda/caffe/python" >> ~/.bashrc source ~/.bashrc echo $PYTHONPATH #检查环境变量的值
2、模块没有定义输出函数
[email protected]:~/caffe$ python examples/ssd/score_ssd_pascal.py Traceback (most recent call last): File "examples/ssd/score_ssd_pascal.py", line 2, in <module> import caffe File "/home/xiaoda/caffe/python/caffe/__init__.py", line 1, in <module> from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver File "/home/xiaoda/caffe/python/caffe/pycaffe.py", line 13, in <module> from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \ ImportError: dynamic module does not define module export function (PyInit__caffe)
可能是python3.6.5的问题,因为版本较高的 Python 和 caffe 不一定兼容;caffe 官网 (http://caffe.berkeleyvision.org/ ) 上也提示说, 只是较好的支持 caffe 2.7 版本;
ubuntu16默认安装python2 和python3,
#检查python版本: python --version
#设置默认python: echo alias python= python2 >> ~/.bashrc
提示缺啥,安装啥
sudo apt-get install python-skimage sudo apt-get install python-protobuf
大工告成: