驱动的安装(电脑断电重启后,突然进不了ubuntu图形界面,结果发现显卡驱动出了问题,按如下安装方式,重装了下,好了)
驱动下载地址:https://www.geforce.cn/drivers
驱动版本 NVIDIA-Linux-x86_64-418.56.run
1、卸载原有的NVIDIA驱动(没装的话就跳过)
一般方法”
sudo /usr/bin/nvidia-uninstall
2、禁用nouveau
安装NVIDIA需要把系统自带的驱动禁用,打开文件:
sudo gedit /etc/modprobe.d/blacklist.conf
在文本最后添加以下内容:
blacklist nouveau
option nouveau modeset=0
命令窗口会提示warn,无视之。
保存退出,执行以下命令生效:
sudo update-initramfs -u
重启电脑后输入:
lsmod | grep nouveau
没有任何输出说明禁用成功。
3、安装NVIDIA显卡驱动
禁用X服务
sudo service lightdm stop
安装
sudo ./NVIDIA-Linux-x86_64-375.20.run -no-opengl-files
–no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要
–no-x-check 安装驱动时不检查X服务
–no-nouveau-check 安装驱动时不检查nouveau
后面两个参数可不加。
安装的过程中会报一些类似错误的消息,不用管,当提示你nvidia-xconfig时,就视自己的电脑情况而定,如果电脑是双显卡(双独显、集显和独显)就选择不安装,如果只有一个显卡就选择安装。
安装完毕后重启验证是否安装成功:
nvidia-smi可以显示,说明安装成功
1.安装cuda9.0
下载cuda9.0的安装文件 cuda_9.0.176_384.81_linux.run(点击进入下载界面)
执行如下命令:
sudo sh cuda_9.0.176_384.81_linux.run
#..一堆协议说明...
#直接按q退出协议说明.
zerozone@zerozone: accept/decline/quit: accept #接受协议
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
y)es/(n)o/(q)uit: n #是否显卡驱动包,由于已经安装显卡驱动,选择n
Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y #是否安装工具包,选择y
Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]: #工具包安装地址,默认回车即可
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y #添加链接**注意这个连接,如果你之前安装过另一个版本的cuda,除非你确定想要用这个新版本的cuda,否则这里就建议选no,因为指定该链接后会将cuda指向这个新的版本**
Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y #安装样例
Enter CUDA Samples Location
[ default is /root ]: #样例安装地址默认即可
# ***安装信息***
Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
Missing recommended library: libXi.so
Missing recommended library: libXmu.so
#注意,这里出现了Missing recommended library错误,
#是因为博主在第一次安装时,没有添加最开始的那条安装相关依赖的指令,
#之后我添加了依赖后,再次安装,就没有Missing错误了
Installing the CUDA Samples in /root ...
Copying samples to /root/NVIDIA_CUDA-8.0_Samples now...
Finished copying samples.
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /root, but missing recommended libraries
Please make sure that
- PATH includes /usr/local/cuda-8.0/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run -silent -driver
Logfile is /tmp/cuda_install_6388.log
# ***安装完成***
2. cuda添加环境变量
在~/.bashrc 的最后添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
然后执行source ~/.bashrc,生效。
3. cuda多个版本的切换:(在安装的时候选择设置软链接,可以不执行该操作)
在安装了多个cuda版本后,可以在/usr/local/
目录下查看自己安装的cuda版本,如下图所示:
这里,cuda-8.0和cuda-9.0就是我们安装的两个cuda版本了,而cuda是一个软链接,它指向我们指定的cuda版本(注意上面在设置环境变量时,使用的是cuda,而不是cuda-8.0和cuda-9.0,这主要是为了方便我们切换cuda版本,可以让我们不用每次都去改环境变量的值)
可以使用stat命令查看当前cuda软链接指向的哪个cuda版本,如下所示:
可以看到,文件类型是symbolic link,而指向的目录正是/usr/local/cuda-9.0
,当我们想使用cuda-8.0版本时,只需要删除该软链接,然后重新建立指向cuda-8.0版本的软链接即可(注意名称还是cuda,因为要与bashrc
文件里设置的保持一致)
sudo rm -rf cuda
sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda
4. CNDNN7.0的安装
nvidia注册账号:1330786672@qq.cm 密码:271911@gaolili
4.1、官网下载cuDNN:
下载链接:https://developer.nvidia.com/rdp/cudnn-archive
4.2、下载cudnn7.0的linux包(tgz格式),不用下deb包,当然deb包也可以。
4.3 cd 到下载路径解压文件
tar -xzvf cudnn-9.0-linux-x64-v7.tgz
解压后会得到cuda目录,将cuda目录下的内容复制到相应位置
cd /home/cuda/lib64
cp * /usr/local/cuda/lib64
cd /home/cuda/include
cp cudnn.h /usr/local/cuda/include/
4.4 添加权限
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
此时,cudnn安装完成。
5. 安装tensorflow1.11.0
tensorflow1.12对应的cuda9.0, cudnn7.4.2
执行如下命令:
pip install tensorflow-gpu==1.11.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/
安装完成以后,进行验证,遇到如下错误:
解决方法:
1. 运行tensorflow,此时会报错,按后面的步骤继续做
2. 删除tensorflow文件夹
cd /usr/local/lib/python2.7/dist-packages/
rm -r tensorflow
3. 卸载tensorflow后再重新安装即可解决问题
总的来说,执行这些步骤后,可成功导入tensorflow.
但是,在训练的时候,会报错,显示cudnn的版本不匹配,需要cudnn7.2。
此时将cuda升级为9.2, cudnn升级为7.2时,import tensorflow时报错,显示没有libcublas.so.9.0,因为安装的是cuda9.2,libcublas.so.9.0。肯定找不到。
此时,又将cuda安装为9.0,cudnn还是7.2,在训练的时候又报错,显示Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED. Possibly insufficient driver version: 3。仍然是cudnn版本的问题。
最后安装cuda9.0,cudnn7.0,对应tensorflow1.9.0,此时可正常训练,但是会有个错误:
此时,需要升级numpy,执行如下命令,可升级
pip install numpy --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple/
此时,tensorflow1.9.0安装完成。