Ubuntu16.04+CUDA9.0+cuDNN7.4.2+Anaconda3-5.2.0+TensorFlow-gpu安装教程

一、准备工作

  • 环境基础: Ubuntu16.04
  • 显卡: GTX1060
  • 安装包下载:
  1. cuda:https://developer.nvidia.com/cuda-90-download-archive
  2. cudnn:https://developer.nvidia.com/cudnn 记得注册Nvidia账号,否则不能下载
  3. Anaconda:https://www.anaconda.com/download/

二、安装流程

  • 安装系统,清理环境
  • 安装Nvidia驱动
  • 安装Cuda&cuDNN
  • 安装Anaconda和tensorflow-gpu
  • 配置ssh服务以及远程桌面

Tips:cuda9.2版本太高,最新的tensorflow-gpu 1.8也没有提供支持 。不合适的CUDA版本会导致import tensorflow出现错误。在本教程中所安装的tensorflow是1.12.0版本

三、 安装系统,清理环境

   $ sudo apt-get remove –purge cuda*
   $ sudo apt-get remove –purge nvidia*

四、安装Nvidia显卡驱动

  • 安装相关依赖项
$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
$sudo add-apt-repository ppa:graphics-drivers/ppa  
$sudo apt-get update

1.懒人做法
​ 安装完上述依赖之后,点击系统设置->软件->附加驱动->选择其中一项,比如:

Using NVIDIA binary driver-version 3***.** from nvidia-3**(open source)

2.勤劳做法

  • 首先去官网查看适合自己显卡的驱动
image.png

驱动文件后缀名应当是以.run结尾的。把这个文件移动到home目录下。我的显卡型号是GTX1060,系统是linux 64位,按照要求选择后点击search.,点击下载就好了。我下载后的驱动文件是:NVIDIA-Linux-x86_64-384.98.run。

注意: 很多问题几乎都是出在显卡驱动安装上面,比如循环登录无法进入桌面、运行深度学习程序出错又不清楚是哪等。这些问题都应该首要考虑到是否是显卡驱动出现问题,解决办法就是重新安装显卡驱动。如下:

$ctrl + alt + f1 #转换到命令行界面,登陆账户
$sudo service lightdm stop #关闭图形界面服务
$sudo apt-get remove nvidia* #用于卸载程序
$sudo apt-get install nvidia-390 #选择重新安装的驱动版本
$sudo sudo service lightdm start #开启图形界面服务
$sudo reboot

3.安装驱动
禁用自带显卡驱动,在终端下输入:

$sudo gedit /etc/modprobe.d/blacklist.conf #在其最后一行加上blacklist nouveau
$sudo update-initramfs -u 
$ctrl + alt + f1 #转换到命令行界面,登陆账户
$sudo service lightdm stop #关闭图形界面服务
$cd ~ 
$sudo ./NVIDIA-Linux-x86_64-384.98.run
$sudo sudo service lightdm start #开启图形界面服务
$sudo reboot

五、安装CUDA&cuDNN

1.安装CUDA

​ CUDA是NVIDIA的编程语言平台,想使用GPU就必须要使用cuda。

(1)下载CUDA

​ 首先在官网下载CUDA,选择自己合适的版本。 该链接界面只显示最新版本。若需要下载以前的版本,可在页面下方点击Legacy Releases,选择自己需要的其他版本。

image.png

(2)安装CUDA

安装相关依赖:

$sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

下载完成后执行以下命令:

$sudo chmod 7777 cuda_9.0.176_384.81_linux.run
$sudo ./cuda_9.0.176_384.81_linux.run

注意:执行后会先出现一个声明,需要阅读到100%,同意声明后才会开始安装.安装时首先会有一系列提示让你确认,但是注意,有个让你选择是否安装nvidia361驱动时,一定要选择否:

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?

(3)设置环境变量和动态链接库
打开~/.bashrc文件: sudo gedit ~/.bashrc 将以下内容写入到~/.bashrc尾部:

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${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

最后在终端输入以下命令使该链接生效:

$sudo ldconfig

(4)测试CUDA的samples

$cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery 
$sudo make 
$sudo ./deviceQuery
./deviceQuery Starting...
 CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 1060 6GB"
  CUDA Driver Version / Runtime Version          9.2 / 9.0
  CUDA Capability Major/Minor version number:    6.1
  ...
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.2, CUDA Runtime Version = 9.0, NumDevs = 1
Result = PASS

如果显示一些关于GPU的信息,则说明安装成功。
2.配置cuDNN

(1)下载cuDNN

cuDNN是GPU加速计算深层神经网络的库。 首先去官网下载cuDNN,需要注册一个账号才能下载。

image.png

(2)解压cuDNN

下载cuDNN7.4.2之后进行解压:

$ tar -xvf cudnn-9.0-linux-x64-v7.4.2.24.tgz

(3)复制并建立软链接
进入cuDNN7.4.2 解压之后的cuda目录,在命令行进行如下操作:

$cd cuda
$sudo cp include/cudnn.h /usr/local/cuda/include  #复制头文件
$sudo cp lib64/libcudnn* /usr/local/cuda/lib64/ 
$cd /usr/local/cuda/lib64/
$sudo ln -s libcudnn.so.7.4.2 libcudnn.so.7 #生成软衔接(注意这里要和自己下载的cudnn版本对应,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)
$sudo ln -s libcudnn.so.7 libcudnn.so #生成软链接
$sudo ldconfig -v #更新软链接

六、安装Anaconda和tensorflow-gpu

1.安装Anaconda

下载Anaconda,点击这里,选择下载python3版本,比如我下载的Anaconda3-5.2.0-Linux-x86_64.sh。在文件目录下执行:

$bash Anaconda3-5.2.0-Linux-x86_64.sh

最后要将其安装路径添加至环境变量当中,之后在终端执行

$source ~/.bahsrc 

详细步骤参照这里.
2.安装tensorflow-gpu

这里使用豆瓣源进行安装,地址为https://pypi.douban.com/simple ,在终端输入以下命令进行安装:

$pip -i https://pypi.douban.com/simple tensorflow-gpu==1.2.0 #这里提供1.2.0版本的安装

然后对安装好的tensorflow进行测试

$dc-gpu@dcgpu:~$ python
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
/home/dc-gpu/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
>>> tf.__version__
'1.12.0'
>>> 

如出现以上信息说明安装成功。

七、配置ssh服务以及远程桌面

1.安装ssh服务

(1)安装

打开”终端“,输入

$sudo apt-get update
$sudo apt-get install openssh-server
$sudo ps -e |grep ssh
#回车-->有sshd,说明ssh服务已经启动,如果没有启动,输入"sudo service ssh start"-->回车-->ssh服务就会启动。

(2)使用gedit修改配置文件"/etc/ssh/sshd_config"
打开”终端“,输入

$sudo gedit /etc/ssh/sshd_config
#-->回车-->把配置文件中的"PermitRootLogin without-password"加一个"#"号,把它注释掉-->再增加一句"PermitRootLogin yes"-->保存,修改成功。

2.安装远程桌面
Windowsd电脑远程桌面Ubuntu16.04,旨在远程图形界面控制Ubuntu电脑。

(1)Ubuntu端安装服务

打开”终端“,输入

$sudo apt-get install xrdp #安装xrdp
$sudo apt-get install vnc4server #安装vnc4server
$sudo apt-get install xubuntu-desktop #安装xubuntu-desktop
$echo "xfce4-session" >~/.xsession #向xsession中写入xfce4-session(每个用户自己运行此行)
$sudo apt-get install xinit 
$sudo apt-get install gdm   #弹出选择窗口,选择gdm并回车
$sudo apt-get update        #为下一条命令准备,否则下一条命令执行错误。 
$sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal # 安装gnome桌面
$vim ~/.vnc/xstartup # 修改vnc的启动文件
// "x-window-manager &"改为"gnome-terminal &"
$sudo service xrdp restart #开启xrdp服务
$vncserver -geometry 2560x1440 #以指定分辨率开启vnc服务,登陆方式为ip:5901,首次启用需要填写密码
$ifconfig #查看ip地址

(2)windows端控制

  • win + r之后输入mstsc, 打开远程桌面。
  • 弹出窗口中输入用户名和密码点OK,即可打开远程桌面。

另:下载vnc客户端进行登陆,登陆方式为ip:5901,密码为首次启动vncserver设置的密码。

八、结束语

至此,所有环境基本搭建完成。在此期间可能会遇到各种问题,若出现问题请自行百度,网上基本都有解决方案。如有疑问请联系我qq:741889820。

致谢

  1. https://blog.csdn.net/u013401766/article/details/78559495
  2. https://blog.csdn.net/jiangyanting2011/article/details/78873113
  3. https://blog.csdn.net/woodcorpse/article/details/80503232
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354

推荐阅读更多精彩内容