Ubuntu16.04+tensorflow(gpu)+Cuda(8.0)+cudnn(5.1)

一.机器配置
Cpu: 至尊i7-6850k
内存:64G
显卡:Gtx-1080Ti
主板:x99-deluxe II
硬盘:256G(ssd)

二.Ubuntu系统安装(16.04)
(1)制作启动盘,工具UltraISO软碟通
(2)启动方式UEFI:
目前,大部分主板都支持UEFI启动,不再是以前的Legacy,ubuntu支持UEFI方式的启动。
(3)开机进入BIOS,设置UEFi模式下的u盘启动,按正常步骤,一般不选择联网等。
最关键的一步:分区

swap交换空间:这个就虚拟内存,网上大部分教程说分为物理内存的1.5-2倍,然而本机器物理内存已有64G,因此不必按这个来,够用就行。
——类型:交换空间,主分区,空间起始位置,2G.

EFI系统分区:
系统的引导文件都在其中,它的作用和旧式的boot分区作用一样,但boot默认是grub引导,efi显然是UEFI引导的。
——类型:EFI系统,逻辑分区(这里不是主分区,老是的boot挂载才是主分区),空间起始位置,512M;

挂载“/Home”:
——类型:EXT4日志文件系统,逻辑分区,空间起始位置,100G(根据自己硬盘空间而定,越大越好)。

挂载“/USR”:
——类型:EXT4日志文件系统,逻辑分区,空间起始位置,100G(根据自己硬盘空间而定,越大越好)。

挂载”/”:
——类型:EXT4日志文件系统,逻辑分区,空间起始位置,剩下空间(就剩20G左右)。

分配好挂载点后,至关重要一步是选择“按转引导启动器的设备”,选择为刚刚建立的EFI系统分区对应的硬盘编号。接下来,就是不断的下一步。

参考文档:http://blog.csdn.net/ysy950803/article/details/52643737

三.驱动安装
开机后进入桌面系统,会发现分辨率未达到最高,且系统“显示”设置下无其他分辨率的选择,显卡对应驱动未安装导致的。
(1)Nvidia官网下载对应版本驱动:http://www.geforce.cn/drivers
GeForce10 Series+Linux 64
(2)禁止集成的Nouveau驱动:
Ubuntu系统集成的显卡驱动程序是nouveau,它是第三方为NVIDIA开发的开源驱动,我们需要先将其屏蔽才能安装NVIDIA官方驱动。

将驱动添加到黑名单blacklist.conf中,但是由于该文件的属性不允许修改。所以需要先修改文件属性。

查看属性:

$sudo ls -lh /etc/modprobe.d/blacklist.conf

修改属性:

$sudo chmod 666 /etc/modprobe.d/blacklist.conf

编辑器打开:

$sudo vi /etc/modprobe.d/blacklist.conf
添加:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

(3)开始安装:
按Ctrl+ALt+F1到控制台,关闭当前图形环境:

$sudo service lightdm stop
切换到驱动对应目录,并运行:
$sudo sh NVIDIA-Linux-x86_64-xxx.run

(4)重启
如果安装后驱动程序工作不正常,使用下面的命令进行卸载:
sudo sh ~/NVIDIA-Linux-x86_64-367.44.run --uninstall

(5)nvidia-smi
nvidia-settings
可观看相关信息。

$cat /proc/driver/nvidia/version

可查看显卡驱动版本。

参考文档:http://www.jb51.cc/article/p-nlkfwffi-bpw.html

四.Anaconda安装
较为简单,参考:http://blog.csdn.net/zhdgk19871218/article/details/46502637

其中注意一点是,更新环境便变量:

source ~/.bashrc

至于~/.bashrc什么意思 :http://www.jb51.cc/article/p-uzauoxbr-bt.html

五.Tensorflow安装(GPU+py36)
本人主要在Anaconda环境下安装的,因为它集成了一些底层依赖。
(1)建立tensorflow环境:

conda create -n tensorflow python=3.6 //根据自己的python版本选择

(2)pip方式安装:
先激活环境:

source activate tensorflow

在这里采用清华镜像安装,若直接官网安装,可能由于网速问题带来麻烦:

pip install \
  -i https://pypi.tuna.tsinghua.edu.cn/simple/ \
  https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/gpu/tensorflow_gpu-1.0.1-cp36-cp36m-linux_x86_64.whl

此时,打开python测试:此时出现

libcudart.s0.8.0:cannot open shared object file``````(问题记不太清,原因是因为cuda/cudnn未安装,安装见后续步骤)

关闭tensorflow环境:source deactivate tensorflow

PIp安装的优缺点:
优点:应该是几种安装方法中最快的一种
缺点:不能灵活定制,操作系统、GPU 硬件、CUDA 版本、cuDNN 版本必须与官方标称一致

Tensorflow另一种安装方式:源码安装(本人未试过)
参考:
http://www.jb51.cc/article/p-dscfjgqk-pa.html
http://www.jb51.cc/article/p-endjvhqe-qq.html

六.Cuda安装
(1)官网下载对应版本:
https://developer.nvidia.com/cuda-release-candidate-download
选择runfile安装类型,大小1.4G左右。
同时,可以下载官网的安装手册,有对应教程。

(2)检查本机环境是否支持安装:
a) 检查自己的GPU是否是CUDA-capable:

$ lspci | grep -i nvidia

b)检查自己的Linux版本是否支持 CUDA
c)检查自己的系统中是否装了gcc:$gcc –version
d)检查是否安装了kernel header和 package development

在终端中输入: $uname –r 可以查看自己的kernel版本信息
在终端中输入:$ sudo apt-get install linux-headers-$(uname -r)

(3)安装Cuda 8.0
a)禁用Nouveau
之前安装驱动时已经做过,此处不需要重复

b)关闭图形化界面
alt+ctrl+F1
运行:$ sudo sh cuda_xxx_linux.run
按照提示进行下一步,其中“驱动安装”选择no,因为之前驱动已经安装。

参考文档:http://m.blog.csdn.net/article/details?id=51882183

**(——选择Deb(本地)类型格式文件安装方法:
$ sudo dpkg -i cuda-repo-ubuntu1604-8.0-local_8.0.61_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda

上述命令执行完毕后,cuda将被安装到/usr/local/bin目录下。**

(4)添加环境变量

打开:
sudo vim ~/.bashrc
添加:
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda8.0
/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

或者:

sudo vim /etc/profile
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-8.0/bin:/usr/local/cuda/bin:$PATH

(5)验证:
a)进入NVIDIA_CUDA-8.0_Samples目录,执行: make()b)1Utilities ./deviceQuery/deviceQuery,

七.Cudnn安装
它是一个使用GPU加速的深度神经网络库,从nvidia官网下载,对应版本v5.1,v6(最新) for cuda 8.0.
https://developer.nvidia.com/rdp/cudnn-download
需要注册帐号等。
安装较为简单:

$ 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* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

最后一句主要是修改权限。
第一次安装时可以找到下载页面,即官网下载。
但过了几天,该页面无法下载:(可能后续应该还会有的)

于是,找到如下安装包(github中):
https://hub.docker.com/r/nvidia/cuda/ (github镜像地址)
http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64 (对应版本下载地址)
下载的v5.1版本的dep
直接安装成功了。

此时打开tensorflow:
测试:

$ source activate tensorflow
python
>>>import tensorflow as tf
>>>hello=tf.constant('hello,tensorflow')
>>>sess=tf.Session()
>>>print(sess.run(hello))

成功安装结果如下:

八.安装总结 以上安装方法,所用相关软将版本都是最新版本,并亲测有效,第一次安装时由于采用PIp安装方式版本未配置对,使得Gpu加速不能使用,本来准备先将就着这样用,以后再处理的,但是关机重启后电脑出现“登录界面死循环”,所以干脆第二遍完全重装。至于登录死循环问题,似乎是以后可能经常会出现的问题,所以,也希望知道原因的朋友留言讨论。

相关文章

文章浏览阅读2.3k次,点赞4次,收藏22次。最近安装了CARLA预...
文章浏览阅读6.3k次,点赞5次,收藏15次。在清华镜像中下载U...
文章浏览阅读5k次。linux环境, python3.7.问题描述: 安装...
文章浏览阅读4.2k次,点赞4次,收藏17次。要安装这个 standa...
文章浏览阅读894次,点赞51次,收藏31次。在安卓使用vscode主...