Ubuntu安装Nvidia+cuda+cudnn+tensorflow
Nvidia418+CUDA10.0+CUDNN7.6.2+Tensoflow1.13.1
刚安装的Ubuntu发现分辨率很低,查了很多方法都无法解决。网上说是网卡驱动当原因。
那就,装显卡驱动呗。
一、安装显卡驱动
查看自己应该装什么型号的NVIDIA:
1、系统设置->详细信息:
2、在英伟达官网下载驱动相应型号的驱动:
英伟达官网:https://www.geforce.cn/drivers
3、进https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html查看你要装CUDA与NVIDIA相应版本要求(NVIDIA高一点没关系,建议不要下载太新的)
注意:如果不觉得烦,或是觉得官网靠谱,可以做一下里面安装前的操作,检查计算机是否适合安装相应的版本:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
现在正式准备开装:
1、安装当前运行的内核的内核头文件和开发包:
sudo apt-get install linux-headers-$(uname -r)
- 禁止第三方驱动:编辑/etc/modprobe.d/blacklist.conf
sudo vim /etc/modprobe.d/blacklist.conf
#如果没有vim,可以另开一个终端安装vim,安装命令:sudo apt-get install vim ;也可以使用gedit打开
在打开的文档末尾,加上下面两行代码:
blacklist nouveau
options nouveau modeset=0
- 更新内核:
sudo update-initramfs -u
4、重启:
reboot
5、检查第三方驱动是否被禁用:(使用命令后没有出现任何东西,则禁用成功)
lsmod | grep nouvea
6、如果第三方驱动被禁用,则进入文本模式进行安装:(记住下载当驱动文件的位置)
通过按Ctrl+Alt+F2文本模式,登录帐号,然后登录root帐号(如果忘记了密码,重置密码:sudo passwd root,第一个是sudo密码,第二个第三个是你需要重置的密码):
su root
关闭图形界面:
sudo service lightdm stop
安装过程在需要退出Xserver:
init 3
cd到下载驱动文件的位置:
然后开始使用bash进行安装:
sudo bash NVIDIA*.run
注意:
出现The distribution-provided pre-install script failed!
点击继续
出现x config选择 no
其他默认就可以了
装完就可以执行下面的命令开启图形界面:
sudo service lightdm start
执行下面命令,查看驱动是否安装成功:
nvidia-smi
如果出现表格信息则表示安装成功:右上角当CUDA Version:10.1表上最高支持CUDA10.1
二、安装CUDA10.0
- 在CUDA下载页面下载CUDA:https://developer.nvidia.com/cuda-downloads
低版本在Legacy Release 里面,选择相应版本的runfile(local)文件下载好。
下载完成后,cd到下载文件的位置,然后执行:
sudo sh cuda*.run
开始安装后出现界面,需要按ENTER键,直到出现询问是否接受协议,输入accept。
注意(重点):
出现cuda文件自带NVIDIA版本,是否覆盖原来安装驱动版本时选择no。否则有可能安装完成电脑不能打开。
出现OpenGL选择no。
其他的选择yes或是默认就好啦。
安装完成后,会在home目录下生成一个NVIDIA_CUDA-*_Samples的样例,cd进入这个目录(或者进入该目录后点击在终端打开),执行编译:
make -j8
编译完成后,执行一下命令:
cd bin/x86_64/linux/release/
./deviceQuery
编译完成会出现result = pass
最后设置环境变量:
vim ~/.bashrc
在文件的最后加入:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda/bin:$PATH
然后载入配置:
source ~/.bashrc
使用nvcc -V查看是否安装成功:
如果出现以上信息,恭喜你安装成功。否则,失败了!
三、安装cuDNN
进网页查看安装应该安装什么版本的cudnn:
https://docs.nvidia.com/deeplearning/sdk/cudnn-support-matrix/index.html
下载界面,点击download cudnn:cudnn下载需要注册登录才能下载,如果没注册过,那就注册一下,反正免费的。
https://developer.nvidia.com/cudnn
找到相应的版本:
下载:cuDNN Library for Linux
下载后的文件是tgz文件:
cudnn-10.0-linux-x64-v7.6.2.xx.tgz
对文件进行解压:
tar -zxvf cudnn-10.0-linux-x64-v7.6.2.xx.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
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
如上,已经完成cudnn的安装
如果不放心,想要确定是否安装完成,可以使用一下语句来检查:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
出现下面界面。恭喜你,cudnn安装成功了。
- 安装Tensorflow
按转tensorflow-gpu
sudo apt-get install python-pip
更换pip源:
将pip源换为国内源:
cd ~/.pip
如果不存在.pip目录,则创建目录:
mkdir ~/.pip
cd ~/.pip
touch pip.conf
sudo gedit ~/.pip/pip.conf
在pip.conf中写入如下内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
换源结束,继续一下安装tensorflow操作:
pip install numpy==1.16.3 --user
pip install tensorflow-gpu==1.13.1 --user
如果因为numpy失败
sudo pip purge remove numpy
pip install tensorflow-gpu==1.13.1 --user
验证tensorflow
python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))