之前使用Ubuntu17.04和Windows都是使用的Cuda9.0,因为官方文档写明支持到cuda9.0.而这次使用Ubuntu18.04按照之前环境搭建(cuda安装的deb版)后一直报错cuda驱动和运行时不匹配问题.查找到了很多Ubuntu18.04配cuda9.0的博客,都是一般套路,直接使用Ubuntu17.04的cuda9.0下载链接,而且没有任何错误迹象.所以我怀疑是cuda版本和驱动程序不匹配,找了许久没有找到384的驱动,最低版本都是390.后来从其他下载站弄到了384版本的显卡驱动,安装也总是报错.具体试错情景如下:
ALT+F2
进入命令行界面->报错:内核已加载驱动(此方法普遍流行网上,可能需要注销图形界面才行)根据结果可以猜想Ubuntu18.04根本没法使用384版本驱动,而390是替代版,而Ubuntu18.04默认最低390.
最后干脆不想着降低版本,试试cuda10环境能不能搭建,网上查找一番,证实了这个想法的可行性.
显卡驱动是很有问题的一个环节首先得开机没问题,驱动问题无法开机修改引导参数还是很奏效的.
sudo apt-get --purge remove nvidia-*
sudo gedit /etc/modprobe.d/blacklist.conf
并在后面添加:
blacklist nouveau
options nouveau modeset=0
保存退出后:
sudo update-initramfs -u
$ sudo add-apt-repository ppa:graphics-drivers/ppa
4.查看可用版本
ubuntu-drivers devices
5.安装指定版本(410以上)
sudo apt install nvidia-driver-410
这个官网直接下载就行,主下载界面就是,比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
这样就安装完成了
这个在Windows上是要覆盖几个文件的,在Linux貌似不用,下载也简单,对应好版本即可.
$ python -c "import tensorflow as tf;
tf.enable_eager_execution();
print(tf.add(tf.constant(1),tf.constant(2)))"