文章目录

  • 1. 下载驱动
  • 2. 安装
  • 3. CUDA安装
  • 4.cudnn安装
  • 4.1 验证cudnn是否安装正确
  • 5.安装mxnet
  • 6. 其他
  • 7. 报错及应对
  • 7.1 安装驱动后黑屏
  • 7.2 导入mxnet报错
  • 7.3 验证cudnn报错

1. 下载驱动

官网的Linux显卡驱动下载地址

注意Rtx2080,2080TI需要用4.18以上版本的驱动后来因为MXNET不支持cuda10.1,所以我重新安装了cuda10.0,也安装了里面的4.10驱动导致了ubuntu黑屏,只能进恢复模式卸载驱动重新安装。

2. 安装

有一个小坑,安装之前要把 gdm 或者 lightgbm关闭,否则会报

You appear to be running an X server; please exit X before...

然后自动退出安装,具体关闭的方法可以参考,下面两个代码运行一下就行

sudo /etc/init.d/gdm stop
sudo /etc/init.d/lightdm stop

之后运行.run文件

sudo sh NVIDIA*

即可。

3. CUDA安装

这个就比较简单了,安装的时候可以不选择第一个显卡驱动。 一开始运行nvcc–version会报错,因为没有将其添加到系统变量里。

gedit ~/.bashrc

在最后加入

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

就会出现了

4.cudnn安装

基本是按照官方的指南进行安装,我第一次按验证方法去验证的时候出了点问题

./mnistCUDNN: error while loading shared libraries: libcudnn.so.7: cannot open shared object file: No such file or directory

参考这篇文章 做一个libcudnn.so.7.5(根据当前目录下实际的版本号,我安装到是cudnn7.5的)的软链接给libcudnn.so.7

sudo ln -sf libcudnn.so.7.5 libcudnn.so.7

其实以上是针对linux系统的安装,对于ubuntu系统直接用deb安装的那条,直接运行deb文件就行了

#Install the runtime library, for example:
sudo dpkg -i libcudnn7_7.0.3.11-1+cuda9.0_amd64.deb
  
#Install the developer library, for example:
sudo dpkg -i libcudnn7-dev_7.0.3.11-1+cuda9.0_amd64.deb

#Install the code samples and the cuDNN Library User Guide, for example:
sudo dpkg -i libcudnn7-doc_7.0.3.11-1+cuda9.0_amd64.deb

4.1 验证cudnn是否安装正确

主要步骤是运行一遍sample文件中的mnist_sample,讲sample文件拷贝到家目录下,然后执行以下,

~/cudnn_samples_v7/mnistCUDNN$ make clean && make
~/cudnn_samples_v7/mnistCUDNN$ ./mnistCUDNN

如果出现,

Test passed!

说明安装成功

5.安装mxnet

pip install mxnet-cu100

即可

6. 其他

  1. 更新驱动的坑: 开始用了PPA的方法更新显卡驱动,但是打开设置里找附加驱动,点击应用一直没速度,所以就用了上面的方式。

7. 报错及应对

7.1 安装驱动后黑屏

一开始安装了cuda10.1,但是MXNET目前没有支持cuda10.1,安装mxnet-cu101是找不到的,而且安装mxnet-cu100无法正常启动,就重新安装了cuda10,但是这里要注意要先卸载显卡驱动,否则会无法启动。 需要进入恢复模式, 进入root, 卸载掉相应的显卡驱动, 可以进系统了。 重新安装cuda10.0.


7.2 导入mxnet报错

import mxnet

跳出以下错误:

libcudart.so.10.0:cannot open shared object file....

先查看是否有libcudart.so.10.0:

locate libcudart.so.8.0

如果存在的话用以下方法即可:

sudo ldconfig /usr/local/cuda-10.0/lib64

查了一下,估计是以下原因:(因为是ubuntu小白,所以也不是很懂,这块以后得加强一下)

原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可.

另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件.

因为我之前安装过cuda10.1,有两个目录cuda-10.1及cuda-10.0,估计系统是按照默认路径进到cuda-10.1了,所没找到cuda-10.0文件

7.3 验证cudnn报错

因为之前安装过cuda10.1,没注意下载的cudnn也是针对10.1的,所以装了半天没装上,之后换了针对10.0的就好了。