Ubuntu18.04配置TensorFlow环境

概要

之前使用Ubuntu17.04和Windows都是使用的Cuda9.0,因为官方文档写明支持到cuda9.0.而这次使用Ubuntu18.04按照之前环境搭建(cuda安装的deb版)后一直报错cuda驱动和运行时不匹配问题.查找到了很多Ubuntu18.04配cuda9.0的博客,都是一般套路,直接使用Ubuntu17.04的cuda9.0下载链接,而且没有任何错误迹象.所以我怀疑是cuda版本和驱动程序不匹配,找了许久没有找到384的驱动,最低版本都是390.后来从其他下载站弄到了384版本的显卡驱动,安装也总是报错.具体试错情景如下:

  1. 在安装英伟达驱动的前提下直接在图形界面安装->报错:内核已加载驱动
  2. 未注销图形界面,按ALT+F2进入命令行界面->报错:内核已加载驱动(此方法普遍流行网上,可能需要注销图形界面才行)
  3. 选择Ubuntu引导后在默认Ubuntu选项处按E编辑引导参数,修改倒数第二行最后一个参数为nomodeset(网上很多用以解决驱动bug进不了系统)->界面分辨率极低,此时可以在图形界面安装,但是安装到100%会突然报错.

根据结果可以猜想Ubuntu18.04根本没法使用384版本驱动,而390是替代版,而Ubuntu18.04默认最低390.
最后干脆不想着降低版本,试试cuda10环境能不能搭建,网上查找一番,证实了这个想法的可行性.

显卡驱动

显卡驱动是很有问题的一个环节首先得开机没问题,驱动问题无法开机修改引导参数还是很奏效的.

  1. 卸载之前有关驱动
sudo apt-get --purge remove nvidia-*
  1. 禁用nouveau
sudo gedit /etc/modprobe.d/blacklist.conf

并在后面添加:

blacklist nouveau
options nouveau modeset=0

保存退出后:

sudo update-initramfs -u
  1. 添加PPA
$ sudo add-apt-repository ppa:graphics-drivers/ppa

4.查看可用版本

 ubuntu-drivers devices

5.安装指定版本(410以上)

sudo apt install nvidia-driver-410

Cuda10.0

这个官网直接下载就行,主下载界面就是,比9.0要好找多了.
安装时输入以下命令:

 $ sudo dpkg -i cuda-repo-ubuntu1704-9-0-local-rc_9.0.103-1_amd64.deb

这个命令将deb打包安装

 $ sudo apt-key add '/var/cuda-repo-10-0-local-10.0.130-410.48/7fa2af80.pub'

按照我的认知,deb安装后就等于安装好了,结果还是报错,分析报错信息确定是环境变量的问题,结果网上写的安装目录在我这里并没有cuda,搜索一下全在/var/目录里,打开后里面全是deb包,还有一个pub文件,修改添加对应文件路径即可.

$ sudo apt-get update
$ sudo apt-get install cuda

这样就安装完成了

cudnn

这个在Windows上是要覆盖几个文件的,在Linux貌似不用,下载也简单,对应好版本即可.

测试一下环境

$ python -c "import tensorflow as tf;
tf.enable_eager_execution();
print(tf.add(tf.constant(1),tf.constant(2)))"

Ubuntu18.04配置TensorFlow环境_第1张图片
折腾够久了,遇到的坑也坚持过来了,看到结果时已差点就泪崩了.

你可能感兴趣的:(Python,Ubuntu,深度学习)