Ububtu14.04 配置caffe+cuda

Ubuntu配置caffe可以分为一下几个步骤:
1.安装开发依赖包

sudo apt-get install build-essential
sudo apt-get install vim cmake git
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

2.安装gpu驱动
首先

sudo add-apt-repository ppa:graphics-drivers/ppa

然后跟新本地仓库

sudo apt-get update

然后安装驱动,384是驱动版本

sudo apt-get install nvidia-384

最后

nvidia-smi

查看是否安装驱动成功

3.安装cuda
首先
这里下载你需要版本的cuda仓库
然后
进入你下载deb 的目录安装仓库,将deb改为你自己的文件名

sudo dpkg -i cuda-repo-cuda-repo-ubuntu1404_6.5-14_amd64.deb

然后,更新本地仓库

sudo apt-get update 

跟新过程可能会报这样的错误“Ubuntu“无法解析或打开软件包的列表或是状态文件”的解决办法”,可以参考这里解决,如下:

sudo rm /var/lib/apt/lists/* -vf
sudo apt-get update

最后
开始安装cuda以及显卡驱动(安装cuda的同时就会把显卡驱动也全部安装好,这个真的很方便。但是下载的时间有点长。)

sudo apt-get install cuda

安装完之后你需要设置环境变量

export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

4.安装cudnn(用于深度学习加速)
1.到这里注册下载,貌似注册验证要花一两天的样子,嫌麻烦的可以直接到Linux公社资源站下载
2 完后到下载目录,执行以下命令安装

tar -zxvf cudnn-8.0-linux-x64-v5.0-ga.tgz
cd cudnn/cuda
sudo cp lib64* /usr/local/cuda/lib64/
cd cudnn/cuda/include
sudo cp cudnn.h /usr/local/cuda/include/

再更新下软连接

cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5.0
sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5.0
sudo ln -s libcudnn.so.5.0 libcudnn.so

3 设置环境变量
gedit /etc/profile
在打开的文件尾部加上
PATH=/usr/local/cuda/bin:$PATH
export PATH
保存后执行以下命令使之生效
source /etc/profile

同时创建以下文件

sudo vim /etc/ld.so.conf.d/cuda.conf

内容是
/usr/local/cuda/lib64

保存后,使之生效

sudo ldconfig

安装CUDA Sample 及 ATLAS

cd /usr/local/cuda/samples
sudo make all -j8

安装ATLAS

sudo apt-get install libatlas-base-dev 

1.安装Caffe需要的Python包
首先下载caffe
或者

git clone https://github.com/BVLC/caffe.git

2.转到caffe的python目录,安装scipy

cd caffe/python
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

3.最后安装requirement里面的包,需要root权限

sudo su
for req in $(cat requirements.txt); do pip install $req; done

如果提示报错,一般是缺少必须的包引起的,直接requirement中根据提示 pip install 就行了。

安装完后退出root权限

exit

4.编译caffe

首先修改配置文件,回到caffe目录

cd ~/caffe
cp Makefile.config.example Makefile.config
gedit Makefile.config

这里仅需修改两处:

i) 使用cuDNN
“#USE_CUDNN := 1”
这里去掉#,取消注释为
USE_CUDNN := 1
ii) 修改python包目录,这句话

PYTHON_INCLUDE := /usr/include/python2.7 \
  /usr/lib/python2.7/dist-packages/numpy/core/include
改为

PYTHON_INCLUDE := /usr/include/python2.7 \
  /usr/local/lib/python2.7/dist-packages/numpy/core/include

因为新安装的python包目录在这里: /usr/local/lib/python2.7/dist-packages/
接下来就好办了,直接make
make all -j4
make test
make runtest
make pycaffe

这时候cd 到caffe 下的 python 目录,试试caffe 的 python wrapper安装好没有:

python
import caffe

如果不报错,那就说明安装好了。

常见安装错误和解决办法:
1.找不到链接文件:/usr/bin/ld: cannot find -lxxx
/usr/bin/ld: cannot find -lcblas
/usr/bin/ld: cannot find -latlas
collect2: error: ld returned 1 exit status
make: * [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1
这说明在/usr/bin/找不到xxx.so的链接文件,解决方法有很多,我说其中一个在Makefiel.config中修改LIBRARY_DIRS 把你链接文件所在的路径加上:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/local/cuda/lib64

然后更新链接

sudo ldconfig -v 

如:我把/usr/lib /usr/local/cuda/lib64加入到LIBRARY_DIRS中
或者 把xxx的链接文件 cp 到 LIBRARY_DIRS 中。参考这个博客

2.在成功编译caffe的源码之后,可以在python环境中使用caffe。
在Ubuntu环境下,打开python解释程序,输入import caffe时:出现以下错误

>>>import caffe  
Traceback (most recent call last):  
File "<stdin>", line 1, in <module>  
ImportError: No module named caffe 

解决思路
基本思路是把caffe中的python导入到解释器中
解决方法
放到配置文件中,可以永久有效果,命令操作如下:
把环境变量路径放到 ~/.bashrc文件中,打开文件

sudo vim ~/.bashrc 

在文件下方写入

export PYTHONPATH=~/caffe/python:$PYTHONPATH

上述语句中 “~” 号表示caffe 所在的根目录。如:/xxx/home
关闭文件,在终端写入下面语句,使环境变量生效

source ~/.bashrc 

参考这个博客
3.出现 ImportError: No module named google.protobuf.internal
是requirement中 protobuf>=2.5.0 没安装好
解决: 重新安装
进入管理权限

sudo ru

安装

pip install protobuf>=2.5.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值