装caffe 的艰难之路

写在前面:
为什么觉得caffe难装,正常来说,如果你之前没有装过多个cuda和python版本,应该不难.但是我系统里面之前已经装过cuda7,cuda8,现在用的是cuda9.0;装caffe的过程发现cuda7和8的文件夹都还在,经过多次折腾之后,于是立即删除.对于python版本的问题,系统自带的是python2.7,但是我之前装了python 3.6 的anaconda,并且创建了多个envs;在命令行运行python,由于添加了anaconda的路径到系统环境中,所以显示的是anaconda的python环境,还有protoc也是anaconda装的,但是我之前装了tensorflow,对应的protoc版本比较高,但是和caffe要求的protoc版本是不一致的,于是只能在系统自带python2.7装caffe

确定 protoc版本可以运行:
protoc --version

确定protoc哪里有,可以运行:

whereis protoc

一般来说,caffe需要2.6.1版本的


还有一个问题是:opencv,很多人在conda里面是直接装opencv的,这个很方便,但是配置caffe如果运用anaconda里面的opencv,就会使其他的一些依赖相冲突,导致编译caffe过程的莫名错误.
所以,我选择了在系统自带的python2.7基础上装caffe,首先移除了bashrc里面的anaconda路径,达到的效果是运行python,显示的是2.7版本;

然后下载了opencv3.3从新装了一下;
装在成功可以验证opencv3.3的版本:
pkg-config --modversion opencv

另外:opencv也可以利用conda命令安装,但是从git下载之后的是及时更新的,我也是先在conda安装的caffe-gpu,运行自己的程序,发现有些参数或文件找不到,所以重新装的.

上面废话很多,直接跳过来的:总结下就是
#########################################
系统环境:ubuntu16.04
cuda环境:cuda9.0
python版本:ubuntu自带python2.7
opencv:基于系统装的3.3,不是conda里面装的
protoc:系统自带2.6.1
################################################
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-dev  
  
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev  
  
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev  
  
sudo apt-get install git cmake build-essential

选择合适的路径下载caffe文件夹:

进入caffe目录:
git checkout ssd
cp Makefile.config.example Makefile.config

2.修改部分设置如下 :
(1)修改 Makefile.config 文件内容,共5处
++++++++++++++++
USE_CUDNN := 1
OPENCV_VERSION := 3
CUDA_ARCH := #-gencode arch=compute_20,code=sm_20 \
#-gencode arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_61,code=sm_61

WITH_PYTHON_LAYER := 1
INCLUDE_DIRS := /usr/include/hdf5/serial
LIBRARY_DIRS := /usr/lib/x86_64-linux-gnu/hdf5/serial
++++++++++++++++++

 (2)修改 Makefile 文件,共2处
+++++++++++++++++++++
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial  
+++++++++++++++++++++
3.编译
回到命令行,caffe文件夹下:在make all之前,在命令行执行
export CPLUS_INCLUDE_PATH=/usr/include/python2.7
export LD_LIBRARY_PATH=/home/wy/.conda/envs/caffe/lib
再次执行python 和protoc --version 确保版本符合

make all
(这里每个人具体的情况会有不同的错误,google错误代码,重新make之前记得:sudo make clean)
make py
make test
sudo make runtest
(
可以测试minisit数据集:
)
4.配置环境变量
sudo gedit ~/.bashrc
export PYTHONPATH=../caffe/python:$PYTHONPATH 
这里的..代表你的caffe父目录
source ~/.bashrc  
测试在python中调用:
python
import caffe
不报错即完成
(我在这一步遇到了matplot版本不适应的问题,是重新安装的,然后发现pip命令也不好使,直接从新装了pip)
5.pycharm运行
在pycharm中调用caffe,选择对应的python版本

import sys
sys.path.append('/home2/software/caffe/python')
import caffe

没有报错,说明成功

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值