新手先看这

之前一直使用CPU做训练,最近手上多了台单卡1080Ti显卡主机,于是开始研究GPU训练。用GPU训练一定会使用CUDA了,刚开始接触CUDA非常非常头痛,对小白很不友好,我几乎整了整整一天,中途想放弃过很多次,最后终于弄好了,回头看看其实不是很难,但是网上文章又多又杂,确实让我来回鼓捣了很久,于是写下这篇文章,希望对新入门GPU机去学习,想安装CUDA的朋友们一点帮助,少走弯路,不要像我一样浪费好多时间。

新手最难理解的就是CUDA和cuDNN是啥了,以及安装过程,步骤。 这里先简单说一下,先检查机器/usr/local目录下有没有cuda或cuda-xx.xx文件夹,如果没有,那99.99%说明该机器没有安装CUDA。不要相信nvidia-smi或nvcc --version指令看到的CUDA版本号,那都没意义。

如果说CUDA是GPU深度学习的运行库,那么cuDNN就是训练加速工具,两者要相互配合使用,所以一般机器学习需要训练引擎(tensorflow-gpu) + CUDA + cuDNN使用。想不安装cuDNN是不可以的,而且cuDNN版本要和CUDA版本相互搭配。具体搭配方式见下面博文。

检查是否安装显卡驱动

查看是否安装NVIDIA显卡

lspci | grep -i nvidia

查看显卡信息

nvidia-smi

如果出现这个样式,说明已经安装显卡驱动了。通常装好的Ubuntu中都有显卡驱动。我是在阿里云上租借GPU云主机A100时候遇到了没有显卡驱动。如果没有驱动,那么就需要手动安装显卡驱动了。

先添加源:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

检查可安装的驱动:

ubuntu-drivers devices

找到最适合的驱动安装,安装recommended标记的,通常也是数字版本最大的那个。

sudo apt install nvidia-driver-XXX

也可以自动安装系统推荐那个

sudo ubuntu-drivers autoinstall

如果没有遇到报错,说明安装成功,此时调用nvidia-smi指令可能还是看不到显卡信息,不要担心,重启系统之后就能看到了。

安装CUDA

我第一次接触CUDA的时候,以为nvidia-smi指令看到的那个CUDA Version有值就是安装了CUDA的意思。但是后来才知道这里的CUDA是说此显卡最大支持的CUDA版本号。因此我们仍然需要手动从官网下载CUDA,且版本号不能高于这个。安装CUDA就不细说了,除了刚刚提到的细节外,几乎坑不多,这里把有坑的地方简单介绍一下。

首先Ubuntu 20.04默认g++9版本太高,会导致CUDA无法安装,因此要先降低g++版本。

sudo apt-get install gcc-7 g++-7sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1sudo update-alternatives --display gccsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1sudo update-alternatives --display g++

然后从官网下载对应的CUDA,这里对新人最不友好的就是什么是“对应的CUDA”???除了我刚刚提到的GPU支持最大CUDA版本外,还需要考虑Tensorflow对应的CUDA版本,从这里可以查到:

https://www.tensorflow.org/install/source_windows

例如阿里云GPU主机常用的就是CUDA11 + cuDNN8,那么就要搭配tf-gpu 2.4.0版本使用。如果你不清楚你对应的CUDA是啥,我推荐你使用CUDA10.1 + cuDNN7.6 + tensorflow-gpu 2.2.0这个组合。

知道要安装的CUDA版本后,就很简单了,去NVIDIA官网直接下载对应版本就好了。

https://developer.nvidia.com/cuda-toolkit-archive

有20.04的就用20.04的,没有就选最大的,一般是18.04。推荐用runfile安装,两句话很简单:

wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run
sudo sh cuda_11.1.1_455.32.00_linux.run

第一句话是下载cuda_xxxx_linux.run脚本,第二句是执行脚本。在弹出的安装界面中选“continue”,如果选了会跳出安装,就说明安装失败,给了失败日志的路径,自己查看原因,一般是gcc版本问题,上面提到过降级方法,不赘述。

在这一步输入accept

然后选择安装项,一般情况我们都安装了显卡驱动,所以这里第一项驱动最好不勾选,其他默认安装。

成功后需要配置一下环境变量,这步很关键。一开始我忽略了这步,一直以为CUDA安装好了,但是TF运行的时候怎么都找不到GPU。

sudo vim ~/.bashrc

最后一行增加

$ export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
$ export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

特别注意文件夹路径,有时候文件夹直接是/usr/local/cuda,有时候是别的版本号,要确保文件夹存在。

source ~/.bashrc

最后更新环境变量。

检查一下CUDA是否安装正确:(注意文件夹路径一定要存在,需要跟上面设置环境变量的路径保持一致)

cat /usr/local/cuda/version.txt

这里特别注意:

一开始的时候,我对CUDA不是很了解,执行这句话没有任何反应,我以为是该方法失效了。我使用nvidia-smi或nvcc --version指令都看到了CUDA版本号。但是CUDA环境没有配置好,这两个也是能拿到版本号的,所以不准确。还是应该用上面的方法检查CUDA版本。

安装cuDNN

cuDNN比CUDA安装简单,下载对应版本压缩包,拷贝文件到指定目录,给予权限就好了。

官网下载地址:(需要注册)

https://developer.nvidia.com/cudnn

特别注意拷贝的路径一定是上面指定的环境变量路径!

sudo cp cuda/include/cudnn.h /usr/local/cuda-10.1/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.1/lib64
sudo chmod a+r /usr/local/cuda-10.1/include/cudnn.h
sudo chmod a+r /usr/local/cuda-10.1/lib64/libcudnn*

查看cuDNN版本方法:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

注意,这句话可能执行了没效果,那是因为新版本换位置了,需要用:

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

这里再次注意路径问题。

至此CUDN + cuDNN安装完成,可以执行相关训练文件查看是否有gpu信息输出,或监控一下gpu状态

watch -n 1 nvidia-smi

如果还是使用的CPU训练,就需要按照上面的步骤检查到底哪里出了问题。

怎么样,撸的开心吗?

Ubuntu 20.04安装CUDA CUDNN 手把手带你撸相关推荐

  1. Ubuntu 20.04安装CUDA失败导致系统黑屏消息nvidia 0000:01:00.0: can‘t change power state from D3cold to D0 的解决方法

    Ubuntu 20.04安装CUDA失败导致系统黑屏消息nvidia 0000:01:00.0: can't change power state from D3cold to D0 的解决方法 贺志 ...

  2. ubuntu 20.04安装cuda

    ubuntu 20.04中安装cuda 正确安装方法: 安装tensorflow后跑深度学习代码时,发现只在cpu上运行. 运行下列代码 import tensorflow as tf print(t ...

  3. 记录自己 Ubuntu 20.04 安装 CUDA 及 Pytorch

    文章目录 一. 安装相关驱动 1. 查看显卡型号 2. 查找显卡驱动 3. 禁用 nouveau 3.1 检查是否已经禁用 3.2 禁用 nouveau 的具体命令 二. 安装 CUDA 1. 选择 ...

  4. Ubuntu 20.04 安装NVIDIA显卡驱动+cuda 11.7+cudnn 8.4

    Ubuntu 18.04 安装NVIDIA显卡驱动+cuda 10.2+cudnn 本机环境 1 相关查询命令 一.Ubuntu 20.04 安装NVIDIA显卡驱动 二.Ubuntu 20.04 安 ...

  5. Ubuntu 18.04安装CUDA(版本10.2)和cuDNN

    1.系统要求 2.安装前的要求 3.runfile安装(不支持跨平台) 4.后续安装操作 5.安装cuDNN 6.汇总问题 本文基于Ubuntu 18.04.3 LTS 64位安装CUDA 10.2和 ...

  6. Ubuntu 20.04 安装Tensorflow GPU版本 (GTX-1060显卡)

    Ubuntu 20.04 安装Tensorflow GPU版本 (GTX-1060显卡) 参考: https://cyfeng.science/2020/05/02/ubuntu-install-nv ...

  7. Ubuntu 16.04 安装 CUDA Toolkit 10.0

    Ubuntu 16.04 安装 CUDA Toolkit 10.0 NVIDIA 引领人工智能计算 - NVIDIA https://www.nvidia.cn/ CUDA Zone https:// ...

  8. Linux系统Ubuntu 20.04 ,cuda=11.1。实现C3D代码环境。

    行为识别C3D代码(pytorch)实现过程及常见错误 1.C3D网络代码 C3D(pytorch)实现代码链接 C3D代码链接 2.C3D代码复现过程 我认为这位博主对于C3D复现过程的描述是非常好 ...

  9. 【Ubuntu 20.04安装和深度学习环境搭建 4090显卡】

    Ubuntu安装步骤参考文章 知乎:Ubuntu 20.04系统安装及初始配置 目录 一. 制作启动盘 1.1 下载镜像文件 1.2 制作启动盘 二. 安装系统 2.1 启动计算机并进入BIOS 2. ...

最新文章

  1. 如何区分Android wrap_content和fill_parent的详细说明
  2. 5.6 图像颜色映射
  3. 基于MFCC系数的欧氏距离测量
  4. OS- -请求分页系统、请求分段系统和请求段页式系统(一)
  5. UE4 编译虚幻引擎
  6. kvm架构详解--理解CPU、内存、IO虚拟化技术、处理器硬件支持
  7. vSphere 7简介:混合云的功能和技术
  8. win10系统设置护眼色 word2016页面显示失败
  9. 阿里云Maven仓库pom文件配置
  10. GitHub 上史上最全的 iOS 开源项目分类汇总
  11. Eclipse - 取消英文拼写检查
  12. python实现排序算法lowb三人组之冒泡排序
  13. 推荐50个超实用的 Chrome 扩展,建议收藏!
  14. JAVA实验3 学校教师类
  15. 用python完成图形输出设备_使用numpy进行9宫格图像拼接 - Python
  16. 做IT项目经理什么要求?
  17. Python实现八字十神的输出
  18. 计算机总是无法完成更新失败,Win10系统更新失败无法完成更新正在撤销更改的解决方法...
  19. 关于个人微信公众号开通运营通知
  20. PHP AJAX Promise

热门文章

  1. Sqlserver数据从服务器备份到本地
  2. 大健康杂志大健康杂志社大健康编辑部2023年第3期部分目录
  3. 我的世界服务器维护多少钱,我的世界:一个服务器5年心血,如今却只剩下一则长长的公告...
  4. Canny算子实现边缘特征提取
  5. 谈《美丽人生》,什么样的人生最美丽?
  6. 2022PHP智慧农场农业共享认养实时监控商品溯源农业众筹积分商城拼团秒杀小程序源码
  7. docker wireguard
  8. 导出excel文件数字会自动变科学计数法的解决方式
  9. 2022-2028全球与中国中继系统市场现状及未来发展趋势
  10. 超级全的PS快捷键总结,建议收藏