目录

  • 1 致谢
  • 2 前言
  • 3 CUDA安装步骤
  • 4 cuDNN安装
    • 4.1 cuDNN安装步骤
      • 4.1.1 在页面中没有找到对应Ubuntu版本的`.deb`安装包
    • 4.2 测试cuDNN是否安装成功
  • 5 PyTorch验证CUDA和cuDNN是否安装成功
  • 6 第二版本的CUDA安装
    • 6.1 查看系统当前CUDA版本
    • 6.2 查看已安装的CUDA版本
    • 6.3 安装第二个版本CUDA
    • 6.4 CUDA版本的切换
  • 7 卸载旧版本的CUDA
  • 8 获取NVIDIA支持

1 致谢

感谢网友撸起袖子就去干和FlyWine分享的经验,
原文链接如下:
https://blog.csdn.net/wanzhen4330/article/details/81699769
https://blog.csdn.net/wf19930209/article/details/81879514

2 前言

今天在学习R2CNN的代码~
需要安装CUDA和cuDNN,才能运行代码。

3 CUDA安装步骤

step 1: 首先我们需要查看合适的CUDA版本,在PyTorch的官网Start-Locally | PyTorch进行查看;
step 2: 查看与当前CUDA适配的驱动版本,来判断是否需要重新安装驱动,
Release Notes :: CUDA — CUDA Toolkit and Compatible Driver Versions
查看GPU驱动版本:nvidia-smi
如果需要安装驱动,可以直接使用Ubuntu-20.04的驱动更新功能;
step 3: 打开CUDA的官方网站,使用run方式进行安装;
step 4: 安装命令就使用CUDA网站提供的安装命令,如图所示:

第一个wget命令是用来获取安装.run文件,在下载文件时,可能会出现“段错误,(核心已转储)”,出现这个错误时可以使用:
wget -c download_url:继续进行断点下载;
step 5: 如果之前安装过其它版本的CUDA,会询问关于关于CUDA版本的信息,选择“Continue”继续安装;
step 6: 如果在安装CUDA之前,安装了显卡驱动,则这里选择不安装驱动
step 7: 根据CUDA安装后的提示信息说到,我们还需要配置环境变量,

提示信息:
Please make sure that

  • PATH includes /usr/local/cuda-10.2/bin
  • LD_LIBRARY_PATH includes /usr/local/cuda-10.2/lib64, or, add /usr/local/cuda-10.2/lib64 to /etc/ld.so.conf and run ldconfig as root

需要通过修改CUDA提供的一个脚本文件来实现,即主目录下的.bashrc文件,
我们将.bashrc文件用文本编辑器打开,使用命令,

sudo gedit ~/.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

修改完成后保存文件,然后关闭所有终端重启即可,(重启之后脚本会自动地执行,从而完成环境变量的配置);

4 cuDNN安装

4.1 cuDNN安装步骤

其实官网已经有安装教程了(cuDNN Installation Guide :: Deep Learning SDK Documentation中的 2.3. Installing cuDNN On Linux),不过这里是英文内容,我们还是再次记录一下,也方便我们进行一下备注和说明;
这里我们推荐一篇来自机器之心(一个关于AI的微信公众号)的文章《从零开始:深度学习软件环境安装指南》(以下简称为“安装指南”),感觉这篇文章还是写的挺好的;
这里我们使用Deb方式(而不是Tar方式)来进行安装,“安装指南”中说到:“.deb 优先于.tar,因为.deb 格式更适用于 Ubuntu,可以进行更纯净的安装。”我觉得这样的说法是正确的,相比于Tar方式,Deb方式不需要关注于一些cuDNN库文件的细节,而只需要简单地执行安装程序就可以了,这也从侧面展现了Deb文件的优越性,(Ubuntu系统还是挺好用的);
根据安装指南的说明,我们需要安装这些cuDNN库:

  1. cuDNN Runtime Library for Ubuntu (Deb)
  2. cuDNN Developer Library for Ubuntu (Deb)
  3. cuDNN Code Samples and User Guide for Ubuntu (Deb)

备注:目前cuDNN中没有看到Ubuntu-20.04的安装.deb文件;
这里我们就按照官方指南的步骤来进行安装:
step 1: 打开cuDNN的官方下载网站 cuDNN Archive | NVIDIA Developer,
选择根据CUDA选择cuDNN版本;
点进去之后,会看到这样的几个文件,(这里也是使用**.deb**方式进行安装)

# 安装示例代码
sudo dpkg -i libcudnn8***.deb

Note: 安葬时需要根据库的优先级“runtime+dev+samples”进行安装,否则可能会报错;
具体顺序如下:

  1. libcudnn8_8.x+cudax.x_amd64.deb
  2. libcudnn8-dev_8.x+cudax.x_amd64.deb
  3. libcudnn8-samples_8.x+cudax_amd64.deb

4.1.1 在页面中没有找到对应Ubuntu版本的.deb安装包

如果在页面中没有找到对应Ubuntu版本的.deb安装包,说明NVIDIA官方目前并没有开放当前系统的编译版本,此时需要更改Ubuntu的系统版本;

4.2 测试cuDNN是否安装成功

接下来我们来验证cuDNN是否安装成功:
验证方法来自于NVIDIA官方文档《NVIDIA CUDNN DOCUMENTATION》
step 1: 将cuDNN的测试样例复制到一个可写的文件夹中,官方指南中是用cp命令实现的,(而我自己会在主目录下新建一个test文件夹专门作为测试文件夹),用来进行测试,所以需要对提供的shell命令进行修改:

cp -r /usr/src/cudnn_samples_v8/ $HOME

我们把目的路径修改为自己想要的文件夹,
我这里设置成我的测试文件夹test,即/home/songyuc/test
于是修改为:

cp -r /usr/src/cudnn_samples_v8/ /home/songyuc/test

v8:v8这里是版本号,需要根据当前的cuDNN版本进行修改;
step 2: 进入到这个样例代码的文件夹,官方指南里面用的是cd命令,这里由于我用的是图形界面,于是是直接打开的,然后右键打开终端,需要执行的样例代码的路径为/home/songyuc/test/cudnn_samples_v8/mnistCUDNN

5 PyTorch验证CUDA和cuDNN是否安装成功

请参考博文《PyTorch下 CUDA 和 CuDNN 安装验证程序》

# 引入PyTorch
import torch# torch是否可以正常连接CUDA
print(torch.cuda.is_available())# torch是否可以正常连接cuDNN
from torch.backends import cudnn
print(cudnn.is_available())

6 第二版本的CUDA安装

6.1 查看系统当前CUDA版本

想要查看系统当前的CUDA版本,使用命令:
nvcc -V
会得到下面的输出结果,

6.2 查看已安装的CUDA版本

step 1: 打开终端;
step 2: 输入cd /usr/local,打开local文件夹;
step 3: 使用ls命令查看已存在的文件内容,可以看到如示例图所示的结果,

可以看到这里出现了cuda-10.1和cuda-10.0的文件夹,所以是安装了这两个版本的CUDA;

6.3 安装第二个版本CUDA

step 1: 首先我们需要打开CUDA Toolkit Archive工具包官方网站,使用run方式进行安装,因为run方式我们可以进行配置;
step 2: 选择相应的CUDA版本后,按照官网的命令进行安装,即使用wget命令进行安装;
注意:在运行.run安装程序时,不要安装显卡驱动“Graphic Driver”;
step 3:安装完成后,使用nvcc -V查看当前的CUDA版本;

6.4 CUDA版本的切换

使用如下的命令模板:

sudo rm -rf cuda
sudo ln -s /usr/local/cuda-**.* /usr/local/cuda

例如,将CUDA切换到10.1版本的命令为:

sudo rm -rf cuda
sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda

7 卸载旧版本的CUDA

关于卸载,CUDA在安装完成时给出了这样的提示:

To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.3/bin

卸载CUDA-10.0
CUDA Toolkit v10.0.130 – To uninstall a Toolkit runfile installation

8 获取NVIDIA支持

可以在NVIDIA的官网获得技术支持,https://www.nvidia.cn/support/

CUDA——Ubuntu系统上CUDA和cuDNN的安装教程相关推荐

  1. 如何在ubuntu系统上安装多个cudn环境(及对应cudnn、pytorch 、torchvision安装方法 )

    如何在ubuntu系统上安装多个cudn环境 第二版本的cuda的安装 cuda的切换设置 对应cudnn的安装 安装pytorch及torchvision 后话 转载请注明出处 在跑模型的时候报错说 ...

  2. ubuntu系统上,对.cu文件进行编译,生成.so或可执行文件

    本文主要介绍在ubuntu系统上,怎样对.cu文件进行编译,生成.so或可执行文件. 一.cuda文件 后缀为.cu的文件,里面主要利用cuda进行高效的并行计算. 二.编译 主要有2种编译方法: 1 ...

  3. ubuntu 恢复apt_apt-clone:备份已安装的软件包并在新的 Ubuntu 系统上恢复它们

    如果你需要在少量系统上安装相同的软件包时,apt-clone 会适合你. -- Magesh Maruthamuthu(作者) 当我们在基于 Ubuntu/Debian 的系统上使用 apt-clon ...

  4. 如何将usb摄像头连接到虚拟机vmware ubuntu系统上?

    先插上usb摄像头,打开虚拟机 右下角有个圈圈小按钮,点击它,点击连接(断开与主机的连接) 摄像头就会与windows断开,而连接到ubuntu系统上 连上后,就显示成这样 再点击它,能实现断开操作

  5. apt-clone:备份已安装的软件包并在新的 Ubuntu 系统上恢复它们

    当我们在基于 Ubuntu/Debian 的系统上使用 apt-clone,包安装会变得更加容易.如果你需要在少量系统上安装相同的软件包时,apt-clone 会适合你. 如果你想在每个系统上手动构建 ...

  6. TeamViewer——Ubuntu系统上的安装和卸载

    1 致谢 感谢网友zhangyuexiang123的帮助, 原文链接如下: https://blog.csdn.net/zhangyuexiang123/article/details/8654804 ...

  7. Ubuntu系统上为用户授予和删除sudo权限的方法

    本文介绍在Ubuntu系统上为用户授予和删除sudo权限的方法. 背景 用户可以在Ubuntu系统上使用sudo权限执行任何管理任务,在Linux机器上创建新用户时,他们无法执行任何管理任务,直到你将 ...

  8. 在ubuntu系统上安装指定版本的gfortran

    在ubuntu系统上安装指定版本的gfortran,具体步骤如下: zhao@ubuntu:~$ sudo apt-get install gfortran-6 Reading package lis ...

  9. ubuntu系统上安virtualbox虚拟机装win10一路踩坑

    一.情况说明 1.电脑Dell XPS 13 Linux系统ubuntu18.04 2.在ubuntu系统上安virtualbox虚拟机装win10系统,点击虚拟机start无法正常启动win10,会 ...

最新文章

  1. java面向过程和面向对象
  2. bzoj1927: [Sdoi2010]星际竞速
  3. 姚班大神陈立杰最新动向:MIT毕业后将进入诺奖摇篮,成为UC伯克利Miller研究员...
  4. 随着“造车时代”的企业网络推广之下,富士康也想入圈造车?
  5. python强大体现在哪些方面-什么python的if语句?它主要应用在哪些方面?
  6. hadoop multipleoutputs
  7. android 4.2 判断桌面快捷,Android 判断桌面是否快捷方式,不存在则创建
  8. ELK报错expected block end, but found BlockMappingStart
  9. java 可忽略参数_如何使用“&var =”忽略URL参数
  10. 关于arguments的用法
  11. 作品展结束了,学习才真正的开始
  12. 【C/C++】sizeof和strlen的一些比较
  13. cf500B New Year Permutation
  14. VisualAge使用技巧(二)
  15. ads1278_ADS1278
  16. html ol 序号不出来,html中ol标签不显示序号的解决办法
  17. 人力资源知识图谱搭建及应用
  18. txt文件批量转换为excel文件
  19. 再逼我加班我就猝死给你看!
  20. win10右键点击文件夹没响应,解决

热门文章

  1. [转载]解决mysql“Access denied for user 'root'@'localhost'”
  2. Scrapy框架(持久化,去重,深度控制,cookie)
  3. rabbitmq之window环境启动
  4. vue05-REST 请求
  5. logic:equal,logic:present用法
  6. 【PyQt5】连接 mysql 查询数据 并显示在 tableWidget 表格
  7. 数据结构与算法学习笔记01-数组
  8. [转]Hexo博客插入自定义不渲染页面
  9. aiohttp保存MySQL_python链家网高并发异步爬虫asyncio+aiohttp+aiomysql异步存入数据
  10. python做马尔科夫模型预测法_用Python实现马尔可夫链蒙特卡罗