Ubuntu16.04+1080ti+cuda9.0+cudnn7.04+tensorflow1.6配置
关于如何安装
Ubuntu16.04
以及显卡驱动、网卡驱动问题,你可以阅读这三篇篇Dell Alienware Aurora R6 (1080ti)安装Ubuntu17.04记录(解决显卡驱动、系统安装)
Ubuntu17.04+1080ti+cuda9+cudnn7+tensorflow1.4/1.3配置(解决cuda9和tensorflow1.4/1.3不兼容)
深度学习主机配置:Ubuntu16.04+1080ti+cuda8+cudnn6+tensorflow1.3(解决Ubuntu16.04无线网卡驱动)
请对照选项,解决相应的问题。这里我要强调一点显卡驱动
现在可以安装387
(推荐安装)。这里要说的一点是:请查清楚对应显卡驱动的稳定版本
我这篇文章的目的是希望给你提供一个正确的安装思路,不是对于一些问题的特解,而是一个更加广泛的解决思路。
首先,我要先说几个重点
- 不要安装非长期支持的
Ubuntu
版本(17.04,17.10) tensorflow
版本请和cuda
、cudnn
配套
关于第一点,如果你安装了非长期支持的版本(非LTS
),那么你会面临的问题就会非常多。一般非长期支持版本的支持时间为1年,而长期版本的支持时间为5年。如果过了这个时间的话,不会得到软件更新支持。所以对于那些安装了这些版本的人,我建议你们还是重装系统,免得以后麻烦。这里要说的是,关于Ubuntu 18.04LTS
的发布问题。我同样不推荐你安装,因为由于系统版本过新,所以相应的tensorflow
和cuda
都还没有支持。
关于第二点问题,这是本次安装的重点。你可以看到我在文章的标题写的也很详细。这是因为,你一定要对应版本匹配,否则会出现一些问题。
我们这里使用cuda9.0
,注意不是cuda9.1。因为如果你通过搜索访问cuda
的话,nvidia
官方默认会提供给你的是最新的发布版本,但是tensorflow
一般都还没有支持最新版本。这也是我要强调的:请查清楚你的tensorflow版本对应的cuda版本
你可以通过在nvidia
开发者官网内搜索,找到你想要的版本
这里关于cudnn
的安装同样,我们这里选择cudnn7.04
的原因是:这是tensorflow1.6
可以支持的最高版本。
如果你安装错了,可以通过如下命令消除
sudo rm /usr/local/cuda/include/cudnn.h sudo rm /usr/local/cuda/lib64/libcudnn*
- 1
- 2
对于上面的方法,根据你安装文件夹的不同做相应调整。
安装cuda
时一个有用的操作:我们在安装好cuda
后,会编辑相应的.bashrc
文件,我推荐你这样去写
#cuda export PATH=/usr/local/cuda/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} export CUDA_HOME=/usr/local/cuda
- 1
- 2
- 3
- 4
你注意到,我在写的时候export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
,我没有将cuda
写成相应的cuda
版本。如export PATH=/usr/local/cuda9.0/bin${PATH:+:${PATH}}
。这样写的好处是,我们只要将usr/local
目录下的不同版本的cuda
通过软连接,去链接就可以了,不用再每次安装不同的cuda
后,去修改相应的.bashrc
文件。我之前在这个步骤掉进坑里,环境变量配置错误导致tensorflow装好了却加载不上,我以为是cuda版本不对,来来回回试了好几个版本,最后发现只不过是环境变量没配置好.....
通过如下命令建立一个cuda->cuda-9.0
的连接。
sudo ln -s cuda-9.0 cuda
- 1
还要提醒你要注意的一点是,安装tensorflow
时,不要忘记后面的-gpu
选项。
sudo pip install tensorflow-gpu
- 1
最后我要说的是,不要认为现在装好了就万事大吉了,因为如果cuda
和tensorflow
都支持了Ubuntu 18.04LTS
的话,你最好重装系统,安装Ubuntu 18.04LTS
python 2.7
,因为python2.7
到2020年,就不再支持相应的维护了。
所以以上软件,你最好安装对应的python 3.x
版本。
都2018年了,你不用python 3.x
,你不用c++11/14/17
,还在用那些过时的东西,你是真的out了。当然了,学习的过程肯定是从古典到现代的^_^ !!!