你的位置:首页 > 操作系统

[操作系统]在ubuntu14.04上配置cuda_caffe_cudnn_anaconda_digits


参考网上的很多网站,以这篇为主:http://blog.csdn.net/yhl_leo/article/details/50961542

这篇算是自己对caffe学习的一个总结系列的开头。首先因为caffe的依赖项比较多,配置起来也比较麻烦。这篇算是比较详尽地把caffe的各种相关配置说清楚。转载请注明出处。

推荐ubuntu14.04版本,因为digits的支持比较好。显卡支不支持GPU加速要搞清楚啊,不支持就全用CPU算吧,别浪费时间折腾cuda了。

大家基本要按照官方教程上面来。但是官方教程有的坑没有点出来的,本文也一并列上了。

 

一、显卡的安装

禁用nouveau驱动,nouveau是ubuntu自带的对nivida的开源驱动,对安装nvidia的官方驱动会有问题,所以先将其禁用。

按Ctrl+Alt+F1 进入tty1控制台,输入

 

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

 

在里面写上

 

blacklist nouveau

options nouveau modeset=0

 

按esc 输入:wq 保存退出

 

ps:vim编辑器很好用啊,还不会的小伙伴要抓紧时间学啊。

 

执行

 

lspci | grep nouveau

 

查询pci总线中是否还有nouveau,grep后面接正则表达式过滤。

什么都没有说明禁用成功。

 

重启后登录时,可能会循环出现填写登录密码,不能进入系统的情况,按Ctrl+Alt+F1,登录,

卸载显卡方法:

 sudo apt-get remove --purge nvidia*

安装显卡驱动:

$ sudo add-apt-repository ppa:xorg-edgers/ppa

$ sudo apt-get update

$ sudo apt-get install nvidia-352

 

执行sudo start lightdm 输入密码能看到桌面就ok啦

 

ps:显卡驱动挂掉之后很可能你就看不到系统界面了,启动之后显示器一团漆黑,其实系统是在运行的。我的做法是先提前装好了SSH服务,碰到这种情况就通过另一台电脑SSH登陆进去安装驱动。

 

二、CUDA安装

CUDA官网下载。其实应该先下载好的,如果没来得及用图形界面下载,用wget, curl什么的下载也一样。 据说331的驱动有坑啊,大家不要用那个驱动。下面安装一些依赖项/

 

sudo service lightdm stop

sudo apt-get install g++

sudo apt-get install git

sudo apt-get install freeglut3-dev

 

首先在官网上下载安装文件(链接前文已经提供):

 

我下载的是deb本地安装文件,下载完成后,按照文档提示的命令安装:

sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb

sudo apt-get update

sudo apt-get install cuda

下载了下方的Installation Guide for Linux,里面有关于环境变量的设置方法:

 

如果有,则说明安装成功。没有可以按照下面方法卸载:

 

sudo /usr/local/cuda-7.5/bin/uninstall_cuda_7.5.plsudo /usr/bin/nvidia-uninstall

最后,配置环境变量,我们直接放在系统配置文件profile里面,先打开profile文件

sudo vi /etc/profile

 

在最后面加入两行代码:

 

export PATH=/usr/local/cuda-7.5/bin:$PATH 

export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH

执行 source /etc/profile 使环境变量生效

至此cuda安装完毕

 

三、CUDNN安装

CUDNN是给CUDA加速的。cuDNN是GPU加速计算深层神经网络的库。cudnn官网下载。貌似下载要先注册,审核通过还要几天时间。下载好之后解压。

 

执行如下命令:

sudo tar xvf cudnn-7.0-linux-x64-v4.0-prod.tgz && cd cuda/include && sudo cp *.h /usr/local/include/ && cd ../lib64 && sudo cp lib* /usr/local/lib/ && cd /usr/local/lib && sudo chmod +r libcudnn.so.4.0.7 && sudo ln -sf libcudnn.so.4.0.7 libcudnn.so.4 && sudo ln -sf libcudnn.so.4 libcudnn.so && sudo ldconfig

 

这样CUDNN就安装完毕了,是不是很简单啊。

四、Anaconda的安装

   到https://www.continuum.io/downloads 下载anaconda,推荐使用linux版的python 2.7版本,因为tensorflow中的有些东西不支持python3.5(如cPickle)。

 

下载成功后,在终端执行(2.7版本):

 

# bash Anaconda2-4.1.1-Linux-x86_64.sh

或者3.5 版本:

 

# bash Anaconda3-4.1.1-Linux-x86_64.sh

在安装的过程中,会问你安装路径,直接回车默认就可以了。有个地方问你是否将anaconda安装路径加入到环境变量(.bashrc)中,这个一定要输入yes

 

安装成功后,会有当前用户根目录下生成一个anaconda2的文件夹,里面就是安装好的内容。在终端可以输入

 

conda info 来查询安装信息

 

输入conda list 可以查询你现在安装了哪些库,常用的python, numpy, scipy名列其中。如果你还有什么包没有安装上,可以运行

 

conda install ***  来进行安装(***代表包名称),如果某个包版本不是最新的,运行 conda update *** 就可以了。

 

五、caffe的安装

首先先安装opencv,推荐2.4的版本。opencv1.x是纯C语言编写的,2.x c和c++的包都有,opencv3是只用c++写的。为了别人写的代码也能正常运行,还是推荐装2.x。

opencv2.4安装很简单了,下载下来解压,然后进入目录make, sudo make install就搞定了。

 

caffe官方下载 基本按照官方安装指南就可以了,l另外一个方法就是命令行下载

下载caffe:

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

如果你没安装Git,请阅读博客:Ubuntu Git安装与使用。

然后编译caffe:先安装依赖:

 

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

贾扬清大神还说了,大家一定要看清楚啊!

 

下面开始配置caffe并且开始编译了。

 

sudo cp Makefile.config.example Makefile.config

# Adjust Makefile.config (for example, if using Anaconda Python, or if cuDNN is desired) make all make test make runtest

配置文件有几点要注意:

 

# cuDNN acceleration switch (uncomment to build with cuDNN).

USE_CUDNN := 1

# CPU-only switch (uncomment to build without GPU support).

# CPU_ONLY := 1BLAS choice:# atlas for ATLAS (default)

# mkl for MKL

# open for OpenBlasBLAS := atlas

# Custom (MKL/ATLAS/OpenBLAS) include and lib directories.

# Leave commented to accept the defaults for your choice of BLAS

# (which should work)!

# BLAS_INCLUDE := /path/to/your/blas

# BLAS_LIB := /path/to/your/blas

这几个地方根据自己情况选择。

make all没有问题的话,caffe就算成功了啊。

 保存后重新编译:  (如果电脑有8个线程的话,就在后面加 -j8 ,可以加快编译速度)

sudo make clean

sudo make all -j8

sudo make test -j8

sudo make runtest -j8

本人编译的时候最后一步的时候,出现这样的错误:

libcudart.so.7.5 cannot open shared object file: No such file or directory

网上有一堆介绍,怎么设置环境变量的(我们分明已经设置过了),可以这样检查是否已经添加环境变量:

$ echo $PATH$ echo $LD_LIBRARY_PATH

可以看到,环境变量已经添加好。

 

解决方法是这样,将一些文件复制到/usr/local/lib文件夹下:

sudo cp /usr/local/cuda-7.5/lib64/libcudart.so.7.5 /usr/local/lib/libcudart.so.7.5 && sudo ldconfig

sudo cp /usr/local/cuda-7.5/lib64/libcublas.so.7.5 /usr/local/lib/libcublas.so.7.5 && sudo ldconfig

sudo cp /usr/local/cuda-7.5/lib64/libcurand.so.7.5 /usr/local/lib/libcurand.so.7.5 && sudo ldconfig

再次,尝试sudo make runtest命令,出现如下:

 

至此,caffe安装完成。

将caffe路径导入环境变量,执行命令如下:

 sudo vi ~/.bashrc

 在最后加上 export PYTHONPATH=/home/***/caffe/python:$PYTHONPATH

export CAFFE_HOME=/home/***/caffe:$CAFFE_HOME

之后执行 sudo ldconfig 来生效

接着在caffe里面执行sudo make pycaffe ,没有错误就OK了,测试caffe是否成功,

在终端输入 python 回车,import caffe 没有错误表示ok,

如果出现No module named google.protobuf.internal

解决办法参考链接:http://www.th7.cn/system/lin/201605/164288.shtml

sudo chmod 777 -R  anaconda2(文件夹) 改变权限 然后
conda install protobuf

就搞定啦~

 

DIGITS安装

 

参考链接:http://www.cnblogs.com/denny402/p/5136155.html 

 

一、安装digits 3.0

 

digits是运行在cuda和caffe基础上的,所以要先配置好cuda+caffe那是毫无疑问的了。还不会配置的,请参考:Caffe学习系列(1):安装配置ubuntu14.04+cuda7.5+caffe+cudnn

 

打开一个终端,依次运行下列命令:

 

cd

 

sudo -s

 

进入当前用户根目录,并切换到超级用户(符号由$变成#,不用每句都输sudo)

 

 

 

CUDA_REPO_PKG=cuda-repo-ubuntu1404_7.5-18_amd64.deb &&

 

wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/$CUDA_REPO_PKG &&

 

sudo dpkg -i $CUDA_REPO_PKG

 

接着

 

ML_REPO_PKG=nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb &&

 

http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/$ML_REPO_PKG &&

 

sudo dpkg -i $ML_REPO_PKG

 

apt-get update

 

apt-get install digits