本文主要介绍了linux系统下深度学习系统的搭建,主要的安装思路如下:
linux系统安装:
首先安装当下热门的linux操作系统Ubuntu16.04,系统下载的链接如下:
https://www.ubuntu.com/download/desktop
(一)显卡驱动安装:
安装完系统后,安装1080ti的显卡驱动,可以在Nvidia的官网下载到驱动
下载完成后,把文件放在系统的默认文件夹下,作者把文件放在home下,nvidia官网的下载的界面如下:
然后进入linux的指令操作界面,首先我们关闭X-server,如果不关闭无法进行显卡驱动的安装,输入:
sudo lightdm stop
然后安装刚刚下载完成的1080ti的驱动,假设你下载下来的文件名是:1080ti.run
chmod +x 1080ti.run
sudo ./1080ti.run
这里注意:安装时会出现类似于“”安装用户须知“”的文档,一直按“”enter“”是没法跳过的,直接用“ctrl+c”跳过,然后输入“”accept“”
(二)CUDA安装:
在安装CUDA前,需要对ubuntu的GCC进行降级,否则CUDA无法编译通过,我第一次安装就是因为GCC未降级,跑mnist时未能调用GPU运行。具体参见如下链接:
http://www.cnblogs.com/xujianqing/p/6142963.html
软件安装
为了加速训练时的速度,接着我们进行cuda和cudnn的安装,进入nvidia的官网,下载cuda,作者选择的配置如图所示:
如果你的文件名为:cuda_8.0.61_375.26_linux.run
那么进入命令行界面,输入:
chmod +x cuda_8.0.61_375.26_linux.run同样会出现之前的“”安装用户须知“”,按下“”ctrl+c跳过“”
sudo ./8.0.61_375.26_linux.run
为CUDA添加环境变量:
sudo gedit ~/.bashrc
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
sudo gedit /etc/profile在打开的文件中输入:
export PATH=/usr/local/cuda/bin:$PATH
sudo gedit /etc/ld.so.conf.d/cuda.conf在打开的文件末尾加上一行保存:
/usr/local/cuda/lib64
(三)CUDNN安装:
然后进行解压,并将文件覆盖到指定目录,具体操作如下,作者使用的是cuda6.0,
不同版本的cudnn需要进行对应的更改,进入cudnn下载的目录,然后:
tar xvzf cudnn-8.0-Linux-x64-v5.1.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn.so* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn.so*
sudo ln -sf libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so
sudo ldconfig
注意:作者这里最后使用的时CuDNN5.1的版本,但操作方式相同,原因会在后面详细说明
(四)Tensorflow安装:
anaconda安装:
和N卡相关的软件我们都已安装好,在安装tensorflow前,先进行科学计算库anaconda的安装。
本文是基于anaconda安装tensorflow的,在官网上下载对应的安装包,作者选择的是linux 64位 ,Python版本为2.7
安装完anaconda以后,使用conda命令在终端下新建一个tensorflow的环境,
输入指令后系统会自动下载所依赖的软件库
conda create -n tensorflow python=2.7
tensorflow安装:
进入正题了,首先进入tensorflow的环境,输入:
source activate tensorflow
(这一步时配置tensorflow环境,tensorflow还未安装)
pip install tensorflow
如果下载速度过慢,可以搭个*,在github上tensorflow的官网也可下载
安装完tensorflow后,在终端中进入python
测试
python
import tensorflow as tf
若没有报错,则安装成功
jupyter notebook安装:
在终端下显然不能够便捷地调试和编译深度学习程序,因此作者推荐安装jupyter notebook,同样地,打开终端,进入tensorflow环境,输入:
pip install jupyter notebook安装完成后,在终端输入 jupyter noteook即可打开,记住要在tensorflow的环境下打开,因为我们是把jupyter安装在此环境下的。
(五)远程连接教程:
windows端:
登录到远程计算机后,输入账户和密码,就可以进入远程计算机的终端了(请先配置完linux端再进行此操作)
linux端
这里作者推荐这两篇博客,写的很详细,交叉阅览,很快能掌握:
解决了如何生成秘钥的问题:
http://blog.csdn.net/u013473520/article/details/50696771
解决了如果登陆失败,则有可能是服务器防火墙设置的问题
http://blog.csdn.net/bitboy_star/article/details/51427306
(六)总结一下安装思路:
(1)先安装linux操作系统,
(2)安装对应的显卡驱动,以及深度学习用的加速库CUDA和CUDNN。
(3)安装anaconda
(4)在tensorflow环境下安装tensorflow和jupyter notebook
(5)远程配置
(七)目前已知安装过程中遇到的问题汇总
(1)CuDNN版本选择
在配置CuDNN时,我一开始选择的版本是CuDNN6,但是因为我tensorflow中,整合的时cuda8.0+CuDNN5.1版本,因此在运行mnist时,会提示:
缺少cuda5.0,no such file or directory。解决这个问题有两个办法:
1.如果想使用6.0的CuDNN直接去github上面下载tensorflow的源码,使用bazel进行编译,具体可以参考这篇使用bazel编译tensorflow的教程:
http://blog.csdn.net/zhaoyu106/article/details/52793183/
2.在nvidia的网站上下载CuDNN5.1版本,按照(三)中的流程重新覆盖安装
(2)配置SSH远程访问
如果按照(五)中配置完jupyter notebook的远程访问还不能访问,一种原因是因为没有安装SSH server,这里给出安装ssh server的网址:
https://jingyan.baidu.com/article/9c69d48fb9fd7b13c8024e6b.html
有很详细的linux端配置ssh教程和如何在windows端连接的教程
(3)启动流程
linux端:按下启动键,windows端:打开putty,远程访问linux主机,启动tensorflow环境,启动jupyter notebook,在浏览器中打开jupyter notebook。此时运行mnist例子是没有问题的。给出一个mnist例子的链接:
nvidia-smi2.如果在linux上的下载速度太慢,可以在windows搭*,提前把tensorflow和numpy等安装包下载好,然后直接pip install下载的文件就可以了。
此外,对linux操作系统不熟悉的读者,安装过程中可能会出现很多问题,因此我推荐一些我安装时查阅的博客和网站,其次大家可以把遇到的问题放在百度里面搜索,搭建环境这类的博客文章很多。
参考文献:
cuda添加环境变量:http://blog.csdn.net/Tcorpion/article/details/52740920
极客学院的tensorflow安装指南:http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html
和本文类似的安装tensorflow的指南,可以交叉阅读:http://blog.csdn.net/dabokele/article/details/53013921
CUDA安装时,如果GCC的降级,和CUDA samples的运行可以参考:http://www.linuxidc.com/Linux/2017-01/139320.htm
python的官网也有tensorflow-gpu的whl包,下载完成后用pip命令安装即可https://pypi.python.org/pypi/tensorflow-gpu