Deep Learning深度学习·神经网络·计算机视觉深度学习-推荐系统-CV-NLP

1.Ubuntu16.04配置Caffe全过程

2017-05-08  本文已影响777人  Meng_Blog

写在前面

最近拿到了一台新机器,安装了Ubuntu16.04。原来在笔记本的Ubuntu16.04下配置成功过caffe(cpu only)机器matlab与python接口。
特将在新机器上配置caffe完整过程记录如下。

0.机器配置

1.Caffe下载

2.编译前的准备

本部分根据Caffe官网Ubuntu下安装教程以及部分网络教程进行

2.1 General dependencies

执行此部分前最好先升级apt-get:
sudo apt-get update
然后分别执行下面两句:

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
(可能执行完这句后会再次提醒需要升级apt-get,再运行一遍升级命令就好了)
sudo apt-get install --no-install-recommends libboost-all-dev

此部分安装完成

2.2 安装NVIDIA显卡驱动

这部分耗费了一个下午的时间总算安装好了。

安装这部分的时候,先参考了《Ubuntu-安装-cuda7.0-单显卡-超详细教程》这篇文章(注意,不使用该文章中的方法安装Cuda,否则报错),按照二进制安装包安装的方式安装显卡驱动,一直报错,说kernel modules配置错误,错误报告很长,最后的部分如下:

错误报告:
scripts/Makefile.build:294: recipe for target '/tmp/selfgz6789/NVIDIA-Linux-x86_64-375.26/kernel/nvidia-drm/nvidia-drm-fence.o' failed
make[2]: *** [/tmp/selfgz6789/NVIDIA-Linux-x86_64-375.26/kernel/nvidia-drm/nvidia-drm-fence.o] Error 1
make[2]: Target '__build' not remade because of errors.
Makefile:1524: recipe for target '_module_/tmp/selfgz6789/NVIDIA-Linux-x86_64-375.26/kernel' failed
make[1]: *** [_module_/tmp/selfgz6789/NVIDIA-Linux-x86_64-375.26/kernel] Error 2
make[1]: Target 'modules' not remade because of errors.
make[1]: Leaving directory '/usr/src/linux-headers-4.10.0-19-generic'
Makefile:81: recipe for target 'modules' failed
make: *** [modules] Error 2
ERROR: The nvidia kernel module was not created.
ERROR: Installation has failed.  Please see the file '/var/log/nvidia-installer.log' for details.  You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.

后来根据这篇文章,采用apt-get方式安装,成功,但步骤有所不同。

我的具体安装步骤如下:
2.2.1 禁用旧的显卡驱动
Ubuntu中自带了适用于NVIDIA显卡的nouveau驱动,但是与NVIDIA官方驱动相比还是有很大差距的,而且没有官方驱动的话,也不能使用Cuda和cudnn。nouveau驱动与官方驱动冲突,因此,需要在安装官方驱动之前禁用nouveau驱动。

之前尝试过网上建议较多的添加blacklist的方法,发现都不能完全将nouveau驱动禁用。查看nouveau驱动是否完全被禁用命令如下:
lsmod | grep nouveau

于是采用另外一种方法,成功去除nouveau驱动。

执行 lsmod | grep nouveau 命令的结果

2.2.2 apt-get方式安装驱动

2.3 安装Cuda

安装Cuda时可以退出tyy1了,回到图形界面。安装过程中曾经尝试用run方法,但是不知什么原因一直失败。因此直接采用deb方式安装Cuda。步骤如下:

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

可以在/usr/local/中找到安装好的文件夹:


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

命令:source /etc/profile
最好能够退出(Logout)当前账户再登录,以确保环境配置成功

2.4 安装Cudnn6

注意:CUDA9.1需要与Cudnn7配合使用

#解压文件
tar -zxvf cudnn-6.5-linux-x64-v2.tgz
#切换路径,复制文件
cd cuda
sudo cp lib/* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/
#更新软连接
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.6
sudo ln -s libcudnn.so.6.0.20 libcudnn.so.6
sudo ln -s libcudnn.so.6 libcudnn.so 

2.5 安装MKL

2.6 安装Matlab

(我之前在byr上下载了MatlabR2017A安装包,没想到现在byr不能登录了。。。)
(好像2017版本的matlab不能接入caffe,我在make matcaffe的时候总有问题,所以暂时只是安装好了MATLAB,没有做与caffe的借口)
安装包包括三个文件,分别是R2017a_glnxa64_dvd1.iso,R2017a_glnxa64_dvd2.iso,和Crack文件夹。网络上其他版本基本上也是如此,比较常见的是一个ISO文件和一个Crack文件夹,安装过程类似。

sudo mkdir /media/matlab       #新建文件夹
sudo mount -o loop [path]/[ISO文件] /media/matlab      #两个ISO的话,先加载dvd1即可,dvd2以后用
sudo /media/matlab/install      #运行安装文件
sudo umount /media/matlab   #安装完成后取消挂载

Use license_standalone.lic to activate, or copy license_standalone.lic to %installdir%\licenses\ ,and run matlab without activation

after the installation finishes copy the folders to %installdir% to overwriting the originally installed files

2.6 安装Opencv

3.编译caffe

第二部分介绍了caffe编译前的各种准备工作,全部安装完成后,就可以进行caffe的编译了。

In lieu of manually editing Makefile.config to configure the build, Caffe offers an unofficial CMake build thanks to @Nerei, @akosiorek, and other members of the community. It requires CMake version >= 2.8.7. The basic steps are as follows:
mkdir build
cd build
cmake .. -DBLAS=MKL 这里由于我用了mkl,所以加上了‘-DBLAS=MKL’这一限制
make all -j '-j'是为了采用多核进行编译,速度较快。还可以在j后面加上数字限制核的数量。如‘-j8’
make install -j
make runtest -j
make pycaffe 配置caffe的python接口

在编译caffe的时候我开始用了make方式,一直报错。采用cmake之后很顺利,没有遇到问题。至此caffe编译完成,可以运行了。

4.mnist例子测试

5.以上就是配置caffe全过程,如有疏漏,以后补充。

注:开始配置的时候是在Ubuntu17.04上,后来更换了16.04的系统。安装步骤一样。只是文中配图还有一些是原来安装的截图,但不影响结果。在16.04系统上完全可用。

上一篇 下一篇

猜你喜欢

热点阅读