Ubuntu18.04安装与tensorflow gpu + cuda9.0+cudnn7.1安装

Ubuntu18.04安装

由于Ubuntu18.04刚发布不久,所以还存在各种各样的问题,我最先是在笔记本上试水,结果重启后笔记本的屏幕不停的旋转,也没有找到什么合理的解决办法,只能 放弃,不过,作为一个喜欢折腾的人,仍然贼心不改,所以趁着最近在实验室搭深度学习框架的机会在台式上重新试水,在台式上我先后安装了Ubuntu18.04,16.04,14.04,64位,32位都安过,不过出现一个共同的问题,就是安装后,无论是否安装显卡驱动(NVIDIA官网对应版本驱动),进入桌面后都会十分卡队,打开一个界面就跟放PPT一样,很难受,上网上也找不到合理的解决方案,最后我在Ubuntu的安装目录发现了一个efi的文件夹,上网一查,发现是UEFI启动的意思,当时真是豁然开朗,最终通过进BIOS调整启动方式,在手动Ubuntu分区是不设置boot分区,而是设置efi分区解决了这个问题。
最后要补充一点:
如果你的电脑装了多个系统,在安装结束后不要立即重启电脑,那样有可能开机找不到引导项,为了有备无患,在安装后通过命令行输入如下命令:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update 
sudo apt-get install -y boot-repair && boot-repair  

之后会弹出一个boot-repair的界面选择推荐方式修复即可,之后就安心重启电脑吧


#NVIDIA显卡驱动安装

这里我准备借鉴其他前辈的经验,很多人说尽量不要使用Ubuntu自带的显卡驱动,这里我十分同意,因为我使用自带的专有驱动,重启后会开在登陆页面,不同版本的Ubuntu系统表现不同,但结果都是不能正常进入系统,虽然有解决办法,这里我仍建议直接到官网下载对应版本的显卡驱动,这里以下载.run文件为例来介绍如何安装显卡驱动:

  • 禁用系统默认的显卡驱动
sudo ls -lh /etc/modprobe.d/blacklist.conf %  查看属性
sudo chmod 666 /etc/modprobe.d/blacklist.conf %修改属性
sudo gedit /etc/modprobe.d/blacklist.conf %打开系统黑名单

将下列代码写入打开的文件末尾

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

执行如下指令后重启电脑

sudo update-initramfs -u

重启后执行如下指令,如果没有输出,表示禁用成功

lsmod | grep nouveau
  • 安装显卡驱动
    安装驱动前为防止系统没有自带gcc,g++,make等软件,可以先在终端中安装
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install make

接下来就可以安装显卡了,安装显卡驱动需要先进入文件命令模式,就是ttr模式,不同系统的进入方式大同小异,Ctrl+Alt+F1 ~F6都可以,不同的电脑不同,没有关系,能进入就可以,进入ttr模式后首先要打开你事先下载好的驱动的文件夹

sudo apt-get --purge remove nvidia-*

为保险起见先运行上述命令,删除原有的驱动

sudo chmod a+x NVIDIA-Linux-x86_64-384.130.run
sudo ./NVIDIA-Linux-x86_64-384.130.run -no-x-check -no-nouveau-check -no-opengl-files

在上述指令中,–no-opengl-files表示只安装驱动文件,不安装OpenGL文件,这个参数最重要。–no-x-check 安装驱动时不检查X服务。–no-nouveau-check 安装驱动时不检查nouveau(注:这个选项和1.2禁止集成的nouveau驱动组成双保险,其实一项操作就可以了)。引自Ubuntu16.04服务器版安装NVIDIA显卡驱动
安装的时候会显示失败,不要理他,继续安装就好。接下来就可以重启电脑了,我的电脑重启后分辨率编程640*480,很难受,我的电脑是1920x1080的分辨率,这里我们需要更改系统的配置文件
终端输入

 sudo gedit ~/.profile

在弹出的文件尾部添加如下代码,重启电脑后,进入设置中,就能将电脑分辨率选为1920x1080了

cvt 1920 1080
xrandr --newmode 1920x1080 173.00 1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
xrandr --addmode Virtual1 1920x1080

基本上这里就成功解决了
最后可以通过在终端输入nvidia-smi查看驱动是否安装成功

cuda9.0安装

卸载自带的cuda

cuda10.0及以下的卸载:

cd /usr/local/cuda-xx.x/bin/
sudo ./uninstall_cuda_xx.x.pl
sudo rm -rf /usr/local/cuda-xx.x

cuda10.1及以上的卸载:

cd /usr/local/cuda-xx.x/bin/
sudo ./cuda-uninstaller
sudo rm -rf /usr/local/cuda-xx.x

安装对应的gcc,g++

最初我希望安装最新版本的cuda,到我写这篇博客位置cuda已经发布cuda9.2.4,但是一定要先到tensorflow官网确认官方默认的cuda版本,之后根据cuda版本下载相应的cudnn。
另外需要注意的一点是,对于Ubuntu18.04系统来说编译器使用默认gcc7.3.0,但是对于cuda9.0,在ubuntu17.10中是对应gcc7.2,ubuntu16.04中对应gcc5,为了能够编译cuda9.0,我们需要对gcc,g++进行降级处理,为了Ubuntu17.04,16.04的cuda9.0都能正常安装,我们可以安装gcc5,g++5

sudo apt-get install gcc-5 gcc-5-multilib g++-5 g++-5-multilib

安装之后输入gcc --version发现还是7.3版本,输入:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 40 
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50
sudo update-alternatives --config gcc

会看到如下三个候选项用于替换gcc:
这里写图片描述
想用哪个gcc直接输入编号切换就好了

接下来同样要设置一下g++版本(和gcc保持一致)

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50 
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 40 
sudo update-alternatives --config g++

引自Ubuntu 17.10 + Cuda9.0 + CUDNN + Tensorflow最正确姿势排坑
这时输入在终端输入:

gcc -v

会发现gcc已经成功切换到gcc5版本了。

安装cuda

安装cuda比较简单,只要到官网下载相应的.run文件,并在终端输入如下命令即可

sudo sh cuda_9.0.176_384.81_linux.run --silent --toolkit --samples --librarypath=/usr/local/cuda

然后就是按照引导安装就可以了,不够要注意一点,在引导安装的过程中会询问是否安装显卡驱动,这里一定要选no,因为我们已经安装过显卡驱动了。
接下来需要配置环境变量:
在终端打开

sudo gedit  /etc/profile

将下面的代码加入到文件的末尾

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

保存后重启电脑
接下来需要检验是否安装成功
输入如下命令,如果最终输出pass,就显示安装成功

cd  /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

到此为止cuda的安装就告一段落了。

CuDNN 的安装

同之前的安装过程相比,cudnn安装就略显平淡,下载对应版本的cudnn,解压,打开所在文件夹,执行下面的指令

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

接着再从终端打开

sudo gedit ~/.bashrc

在文档尾部加上

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH

添加完路径后

source ~/.bashrc

到此为止CuDNN就安装好了。

#TensorFlow gpu版本安装
Ubuntu18.04好像没有自带python,所以可以根据个人需要安装python3,或是python2,我是通过pip安装python的各种库,所以下面以pip为例安装gpu版本tensorflow

pip3 install --user tensorflow-gpu

这里的–user是有些时候通过pip3安装库文件需要一个权限
安装好后,运行python,输入

import tensorflow as tf

如果能够正常导入,则说明到此为止tensorflow版本的深度学习框架基本安装成功。
————————————————————————————————————
参考文章:
Ubuntu 17.10 + Cuda9.0 + CUDNN + Tensorflow最正确姿势排坑
UBUNTU添加分辨率格式并保持的方法
Ubuntu16.04+cuda9.0安装教程
ubuntu 安装NVIDIA 显卡后分辨率改变成640*480解决办法
等文章,还有一些精彩的文章由于现在找不到了,所以没有链接,敬请谅解

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值