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

最近系统出问题,重新配置,直接参考:
http://www.52nlp.cn/%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AEubuntu-1080ti-cuda-cudnn
一.机器配置
Cpu: 至尊i7-6850k
内存:64G
显卡:Gtx-1080Ti
主板:x99-deluxe II
附华硕Deluxe主板安全模式关闭方式:
https://www.cnblogs.com/zhaofenqiang/p/6071385.html?utm_source=itdadao&utm_medium=referral
硬盘:256G(ssd)

二.Ubuntu系统安装(16.04)
(1)制作启动盘,工具UltraISO软碟通
(2)启动方式UEFI:
目前,大部分主板都支持UEFI启动,不再是以前的Legacy, ubuntu支持UEFI方式的启动。
(3)开机进入BIOS,设置UEFi模式下的u盘启动,按正常步骤,一般不选择联网等。
最近一次(2017.11.15由于开机登录系统后无桌面图标等问题)重装系统,安装过程遇到问题:1. 在做好启动U盘,选择U盘启动,选择ubuntu install 后系统黑屏(选其他一样),解决方法如下链接(注意第二步中进入grub是Esc,进入可编辑内容是右shift)。2.上述的ubuntu系统为官网下载的最新,但安装Nvidia驱动时又遇到其他问题,最终换了一个旧版本的16.04,解决。
https://www.cnblogs.com/huadongw/p/6505976.html
http://www.linuxidc.com/Linux/2017-01/139319.htm
最关键的一步:分区

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://blog.csdn.net/tianrolin/article/details/52830422
http://blog.csdn.net/ssmixi/article/details/73483795
http://www.linuxidc.com/Linux/2016-12/138907.htm

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

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

source ~/.bashrc

至于~/.bashrc什么意思 :http://blog.csdn.net/qing101hua/article/details/53086318

五.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://blog.csdn.net/kkk584520/article/details/51476816
http://blog.csdn.net/toormi/article/details/52904551

六.Cuda安装
(1)官网下载对应版本:
https://developer.nvidia.com/cuda-release-candidate-download
https://developer.nvidia.com/cuda-80-ga2-download-archive
选择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加速不能使用,本来准备先将就着这样用,以后再处理的,但是关机重启后电脑出现“登录界面死循环”,所以干脆第二遍完全重装。至于登录死循环问题,似乎是以后可能经常会出现的问题,所以,也希望知道原因的朋友留言讨论。

最新的机器系统配置(2017.11.15):
http://www.52nlp.cn/%e6%b7%b1%e5%ba%a6%e5%ad%a6%e4%b9%a0%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%8e%af%e5%a2%83%e9%85%8d%e7%bd%ae-ubuntu17-04-nvidia-gtx-1080-cuda-9-0-cudnn-7-0-tensorflow-1-3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值