ubuntu16.04+python3 安装caffe(CPU only)

安装caffe(CPU only)

测试运行tensorflow框架的PSPNet网络失败,还是决定转向“科班出生”的caffe框架。于是就踏上了这条不归路,走的弯路很多,因此简单做了一些整理,希望可以给大家一些帮助。

本机配置

  • ubuntu16.04.1
  • python3.5
  • opencv2

安装依赖

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install -y build-essential cmake git pkg-config

sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler

sudo apt-get install -y libatlas-base-dev 

sudo apt-get install -y --no-install-recommends libboost-all-dev

sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev

opencv

sudo apt-get install -y python-opencv

caffe

下载caffe源码,解压缩到~/bin

ps:具体什么位置无所谓,个人习惯

备份Makefile.config.example
cp Makefile.config.example Makefile.config
修改Makefile.config
  1. 取消line 8的注释
CPU_ONLY := 1
  1. 注释掉python2.7的相关路径设置
#PYTHON_INCLUDE := /usr/include/python2.7 \
#		/usr/lib/python2.7/dist-packages/numpy/core/include
  1. 取消python3的注释
 PYTHON_LIBRARIES := boost_python3 python3.5m
 PYTHON_INCLUDE := /usr/include/python3.5m \
                 /usr/lib/python3.5/dist-packages/numpy/core/include

PYTHON_INCLUDE的第二部分根据情况而定,读者可以搜索dist-packages的具体路径。可能是/usr/local/lib/python3.5/dist-packages/numpy/core/include

  1. 修改引用文件的路径
# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

编译测试

make all -j4
make test -j4
make runtest -j4

默认是1核运算,-j4设置为4核运算,加快编译速度,可根据自己的情况设置。

安装caffe的python接口

udo apt-get install -y python-pip
sudo apt-get install -y python3-dev
sudo apt-get install -y python3-numpy python3-scipy
sudo apt-get install gfortran
sudo pip install –r python/requirements.txt
测试
make pycaffe -j4

运行成功后,可进入caffe/python目录,执行python3命令进入python窗口,输入import caffe不报错即可。

修改bashrc文件,添加以下语句,设置环境变量vi ~/.bashrc

export PYTHONPATH=/你的caffe路径/python:$PYTHONPATH

设置生效:source ~/.bashrc

此时,在终端(不局限与caffe目录下)使用import caffe都不报错,即caffe安装成功。

异常情况总结

一. ld cannot find lboost_python3

提示找不到lboost_python3,因此可以通过建立一个软连接指向对应的库文件

cd /usr/lib/x86_64-linux-gnu
sudo ln -s libboost_python-py35.so libboost_python3.so
二. ...anaconda3/lib/libpng16.so.16:对‘inflateValidate@ZLIB_1.2.9’未定义的引用

解决方法:在Makefile.config文件末尾加入语句,就可以找到对应的文件

LINKFLAGS := -Wl,-rpath,$(HOME)/anaconda3/lib
三. warning:libpcre.so.1, needed by ...../anaconda3/lib/libgobject-2.0.so.0, not found 以及后续的/usr/local/lib/libopencv_highgui.so:对‘jpeg_set_quality@LIBJPEG_9.0’未定义的引用

在这里插入图片描述
推荐先使用情况二对应的解决方法,理论上可以解决。如果还不行,就一条一条添加软链接。具体方法:win键打开搜索栏,搜索libpcre.so.1,找到其地址,添加软连接到\usr\lib即可,如

 sudo ln -s ~/anaconda3/lib/libpcre.so.1 /usr/lib/

对于其他库文件也类似处理。

祝大家生活愉快,安装顺利~
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值