工程师说rtx2080ti支支持cuda10,开始用cuda最新版10.1折腾了两天,都成功了,但是运行tensorflow时候提示要cuda9版本。最后实验了一下cuda9 cudnn7.3.1终于成功跑起来了, 记得用conda install tensorflow-gpu=1.8.0 或者1.7.0 安装 太低版本好像还是出问题。
另外,今天一早运行任务估计并行太大,导致系统死机,重新启动后,显卡驱动损坏了,没办法,重新安装驱动,完成后运行tf程序又出现类似的情况,提示cuda cudnn版本不对应。后来想着 nvidia显卡驱动重装了,估计cuda cudnn也需要重新安装,于是卸载了重装,直接跑tf程序,问题依旧,怎么办?
后来又把cuda下虚拟环境对应的tf重新安装了一下,直接运行conda install tensorflow-gpu=1.8.0(更高点版本),不用卸载,否则提示要下载低版本的cuda和cudnn。(不要执行conda uninstall tensorflow-gpu=1.8.0)
崩溃,一个系统搞了4天。浪费了大量时间!!哭晕!!!!!!!!!!!
如果卸载cuda9.0
sudo /usr/local/cuda-9.0/bin/uninstall_cuda_9.0.pl 执行。
因为要跑一些比较大的程序,所以实验室给配了一块比较新的显卡 rtx2080ti ,所以我要安装个与它适配的驱动。好了废话不多说,开始工作,一些图片也没有保存,还是依靠苍白的文字吧。。。
一、安装NVIDIA驱动
1.下载驱动文件
去官网下载和自己的显卡适配的驱动文件,是个.run文件。贴个下载地址:https://www.nvidia.cn/Download/index.aspx
search之后下载就行,记住它下载到了哪个文件夹里,以后会用的到
2.文件已经下载好了,但是在安装之前我我们需要做一些准备。
(1)、删除原有驱动(可选):$ sudo apt-get remove --purge nvidia*
我在删除的时候就提示我没有原有的驱动。
(2)、禁用nouveau,安装NVIDIA需要把系统自带的驱动禁用
打开文件:sudo gedit /etc/modprobe.d/blacklist.conf
在文本最后添加以下内容:
blacklist nouveau
option nouveau modeset=0
- 1
- 2
然后保存退出
执行:sudo update-initramfs -u
重启,命令行输入:lsmod | grep nouveau
没有任何输出的话就代表禁用成功。
3.安装NVIDIA驱动程序(准备另一台电脑,用来看教程或者是查找需要输入的命令)
禁用图形界面服务:sudo service lightdm stop
按Ctrl+Alt+F1进入命令行,输入用户名密码登录(通过Ctrl+Alt+F7可返回界面)
下载的是.run文件,首先给文件赋予执行权限,首先cd到下载目录:(重要的事情说三遍:注意参数、注意参数、注意参数)
打开所在的文件夹:cd ~/download/
(这里应该写你当时把.run文件下载到的文件夹的路径,一般默认是下载文件夹,如果你在这里出现错误,比如找不到文件,或者路径是中文的,可以尝试把.run文件移动到一个home下,这样可以直接打:cd /home/你的用户名/ 这样就可以打开了。)
然后输入:sudo chmod a+x NVIDIA-Linux-x86_64-410.78.run
(敲自己下载的文件名字)
这是不会有什么输出。
接着安装:sudo ./NVIDIA-Linux-x86_64-410.78.run –no-opengl-files
no-opengl-files 只安装驱动文件,不安装opengl文件。这个参数最重要
–no-x-check 安装驱动时不检查X服务
–no-nouveau-check 安装驱动时不检查nouveau
后面两个参数可不加。
接着就是一直选择它默认的那个选项就好。
然后挂载驱动: modprobe nvidia
最后查看是否已经安装好了:nvidia-smi
出现这种界面,说明已经安装成功。可以打开图形界面了:sudo service lightdm start
。后面的安装直接在终端即可。
二、安装cuda 9.0
安装和自己显卡的适配版本,也可以看上图中显示的和自己安装的NVIDIA适配的cuda version(上图右上角)。我选择的是cuda 9.0。
1.下载文件
官网地址:https://developer.nvidia.com/cuda-zone 选择适合自己的版本
下载到一个确定的文件夹里,一般默认在“下载”里。
2.安装 最好root下安装
sudo chmod a+x cuda_10.0.130_410.48_linux.run // 获取权限
sudo sh cuda_10.0.130_410.48_linux.run --tmpdir=/home/anzhuo/
里加 --tmpdir 主要是直接运行后,会提示空间不足的问题,后面应该填自己下载之后文件所在的路径,我直接放在了home下
这时会出现很长的声明,一直按enter键,把声明读完,然后就可以进行选择了。(这里我的图没有保存下来,用了别人博客里的图,特此感谢)
因为我是独立安装的NVIDIA 程序,所以进行上面的选择,安装完成后会出现个提醒,这是因为我在安装CUDA的时候没有选择安装驱动,提示需要安装驱动,忽略就行。
3.加入环境路径
打开.bashrc 文件:sudo gedit ~/.bashrc
打开文件后将下面两句话加入进去:
export LD_LIBRARY_PATH=$LDLIBRARY_PATH:/usr/local/cuda-9.0/lib64
export PATH=$PATH:/usr/local/cuda-9.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-9.0
保存 关闭,命令行输入:source ~./bashrc
4.终端输入:nvcc --version
会输出CUDA的版本信息
这样就是安装成功了!
三、安装cudnn
1.官网下载:https://developer.nvidia.com/rdp/cudnn-download
进入时需要登录,没有账户的话就注册一个,进入即可。选择和自己cuda适配的版本
然后下载,是一个压缩包,我下载完之后电脑自动跳出来提取,是一个cuda文件夹,然后我就提取出来了,放到了home文件夹下。如果不能直接提取的,百度搜Ubuntu下解压的命令,将它解压到一个确定的文件夹下。
2.右击cuda文件夹,选择在终端打开,然后输入
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*
3.查看cudnn版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
验证cuda是否成功:
验证cudnn 是否安装成功
cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
当输出是:
Result of classification: 1 3 5
Test passed!
说明cudnn安装成功!