Ubuntu16.04+CUDA8.0+cudnn7.5+Caffe安装过程
一般这样标题的博客第一段都会有一段吐苦水的话,哈哈...我在此就按住不表了,总结起来就是:在污邦兔下面安装深度学习的平台光有经验有时候是不够的,还要有好人品Orz...
友情提示:如果出现不存在该文件或找不到文件的情况,很可能是因为终端定位的目录错误了,这是新手经常会遇到的问题。
1. 主要用到的软件列表:
注:具体版本由自己电脑决定,官网下载超链接。
Ubuntu-16.04.1-desktop-amd64 (64位ubuntu)
cudnn-7.5-linux-x64-v5.1.tgz(需要注册才能下载,现在审核时间很短,填个问卷就能下载了)
caffe-master (也可以在线下载 )
2. CPU版Caffe
直入正题,因为先前只需要安装CPU版的caffe,所以实现起来不是很难,参照这篇博客,基本能够实现,至于他最后训练手写字体mnist数据库失败的原因是因为没有修改example/mnist文件夹中的运行配置文件,即将默认的GPU运行模式改成CPU。
3. GPU版本安装及配置
3.1 安装一些基本依赖库
sudo apt-get install build-essential
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
3.2 更新gcc和g++
因为我用的都是比较新的软件版本,为避免与编译器版本不兼容问题(我安装过程中确实因为出现这个问题走了一些弯路),我将ubuntu自带的gcc/g++-4.9升级到了gcc/g++-5,具体步骤如下:
下载安装gcc/g++-5
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5
sudo apt-get install g++-5
sudo su
cd ../../usr/bin
ln -s /usr/bin/g++-5 /usr/bin/g++ -f
ln -s /usr/bin/gcc-5 /usr/bin/gcc -f
这样,gcc就默认成gcc-5,g++也默认成g++-5了。
3.3 安装CUDA8.0
我采用的是离线.deb安装方法,按自己的电脑和软件的情况,去官网下载dbe包,大概1.8G。然后在它存放的目录打开终端,执行下面的命令安装:
sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb # 自己的.deb包名
sudo apt-get update
sudo apt-get install cuda
安装完成之后切记要重启电脑:sudo reboot,让显卡配置生效。
3.4 安装cudnn7.5
将上面提到的cudnn安装包下载好解压,进入解压后的文件,在终端执行下面的指令安装:
cd cuda
sudo cp lib64/lib* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/
cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.5.1.3 # 自己查看.so的版本
sudo ln -sf libcudnn.so.5.1.3 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so
sudo ldconfig
3.5 添加环境变量
编辑计算机文件夹下的/etc/profile,加入CUDA环境变量(下面的2,3句),保存。
sudo gedit /etc/profile
PATH=/usr/local/cuda/bin:$PATH
export PATH
保存后执行下面的命令,使其生效:
source /etc/profile
同时,进入/etc/ld.so.conf.d/文件夹,执行下面的命令,新建一个名为cuda.conf的文件。
sudo gedit cuda.conf
然后在文件中写入如下内容:
/usr/local/cuda/lib64
保存后执行下面的命令,使其生效。
sudo ldconfig
3.6 Build CUDA Sample
进入usr/local/cuda/samples,然后build samples,命令如下:
sudo make all -j8
在执行完之后,进入samples/bin/x86_64/linux/release目录下,在终端执行查询命令:
./deviceQuery
如果返回了你电脑显卡的信息,且结尾有Result=PASS,则表示安装成功,否则,建议重启电脑之后再次尝试查询命令。
4 安装Atlas
安装命令如下:
sudo apt-get install libatlas-base-dev
5 安装Opencv
做机器视觉会比较多地用到Opencv这个强大的工具,下载Opencv安装包,解压后进入目录Install-OpenCv/Ubuntu/2.4,然后执行安装文件:
sh sudo ./opencv2_4_10.sh
这个可能要花点时间,耐心等待吧。
6 配置Python环境
下载caffe-master包,第1节有gitbub下载链接,下载之后,解压,打开Makefile文件,修改下面的两个地方:
INCLUDE_DIRS += $(BUILD_INCLUDE_DIR) ./src ./include
改成:
INCLUDE_DIRS += $(BUILD_INCLUDE_DIR) ./src ./include /usr/include/hdf5/serial
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改成:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
sudo apt-get install python-pip python-dev build-essential
sudo pip install --upgrade pip
sudo pip install -r python/requirements.txt
7 安装ipython notebook
notebook是很方便的python编译和运行工具,值得拥有 ,随便在哪个终端执行下面命令。
sudo apt-get install ipython-notebook python-sympy
sudo pip install jupyter
mkdir notebook
cd notebook
ipython notebook
如果有一个notebook网页跳出就说明ok了,至于不会用notebook的同学,建议学一下。不过这里只是一个辅助的工具啦,并不是本文主讲内容,因为还用不到。
8 编译Caffe
进入caffe-master文件夹,复制配置文件,留一个备份:
cp Makefile.config.example Makefile.config
USE_CUDNN := 1
USE_OPENCV := 1
USE_LMDB := 1
WITH_PYTHON_LAYER := 1
CUSTOM_CXX := g++
然后编译下面4个命令:
make all -j8
make pycaffe -j8
make test -j8
make runtest -j8
如果没有报错,那基本上就安装成功啦!
9 mnist手写字体识别例子实现
进入caffe-master文件夹,打开终端,下载数据:./data/mnist/get_mnist.sh
将数据转化成要求格式:
./examples/mnist/create_mnist.sh
训练:
./examples/mnist/train_lenet.sh
我自己在安装的过程中借鉴了很多别人的经验,觉得这就是博客的魅力所在,感谢他们的无私分享,也希望自己的分享能够给其他人带来帮助,有任何疑问都可以交流哈。
10 References
1. http://blog.csdn.net/letian0805/article/details/52845285
2. http://blog.csdn.net/ubunfans/article/details/47724341