【地表最强】深度学习环境配置攻略 | 【nvidia-driver】, 【cuda toolkit】, 【cudnn】, 【pytorch】

更新截止到 2023.10.20

本贴为理论,如果想看实战,请移步Pytorch深度学习环境配置 | NVIDIA-driver + Pytorch + miniconda

1.要素:

  1. linux(ubuntu 22.04)
  2. nvidia-driver(也叫做 cuda driver):英伟达GPU驱动,命令:nvidia-smi
  3. cuda (也叫做 cuda toolkit): 这个必须有。CUDA是NVIDIA创建的一个并行计算平台和编程模型(用这个来跑深度学习),命令: nvcc -V
  4. cudnn: nvidia开发的深度学习算子库,用于加速训练(新手阶段不装也行,程序照样能跑)
  5. pytorch: (或者叫torch,是一个东西)深度学习框架
  6. python
  7. Anaconda:(或者用阉割版的miniconda)用于创建虚拟环境

2.依赖关系:

显卡 --> driver --> cuda(nvcc -V) --> cudnn & pytorch

1.显卡型号 --决定--> driver版本

nvidia显卡驱动下载网址 (不太全,但能找到常用的显卡驱动)
在这里搜索显卡的型号,可以看到能用的显卡驱动版本并可以下载驱动
nvidia显卡驱动下载网址Ⅱ(更全)

2.driver版本 --决定--> cuda(nvcc -V)版本

cuda和driver版本对应表 (不提供下载)
历代版本cuda下载地址

3.cuda版本决定 --> cudnn版本

cuda和cudnn版本对应表
(点击即可下载对应版本的cudnn)

4.linux版本 & cuda(nvcc -V)版本 --决定--> pytorch型号和版本

pytorch 和 linux与cuda(nvcc -V)对应表(提供下载)

5.pytorch型号和版本 --决定--> python的版本

pytorch和python版本对应表

手动分割线-------------------------------------

3.安装线路

  • 线路1:2->7->6->5(就用这个)
    解释一下,pytorch现在已经集成了cuda toolkit 和 cudnn, 所以我们只需要再安装一个nvidia-driver即可。
    总体来说,分为两步,安driver和安pytorch,谁先谁后无所谓。

只装pytorch不装driver的下场:

手动分割线-----------------------------------------------
接下来两种方法已经out了,不是不推荐用,是不能用,用了之后能是能运行,但是一用到cudnn必报错
Could not load library libcudnn_cnn_train.so.8. But I'm sure that I have set the right LD_LIBRARY_PATH

  • 线路2:1->3->4->7->6->5 (已被淘汰)

解释一下为什么没有2:因为装cuda的时候会自带一个是否安装对应的最新版本的driver的选项,选yes,就相当于完成了nvidia-driver的安装。

为什么这样更好?
1. 省了一步
2. 不会出现 nvcc -Vnvidia-smi 里的cuda版本不一致的问题

解释一下为什么要 7->6->5:

因为conda安装pytorch大概率会失败,所以我选择用pip安装。而先安装pip会自带最新版本的python,可能与pytorch要求的python版本不一致,所以我先安装python,再用python自带的pip安装pytorch。再者,先安装anaconda | miniconda,然后一行代码既可以完成虚拟环境的创建又能在虚拟环境种安装python

  • 线路3: 1->2->3->4->7->6->5(已被淘汰)
    这样的安装线路,nvidia-smi和nvcc -V的cuda版本可能不一致,但只要牢记pytorch要用的是 nvcc -V里面的pytorch版本即可
    附一个

常见问题

nvcc -V 与 `nvidia-smi的 cuda 版本的关系

nvcc -V --> runtime cuda

nvidia-smi --> driver cuda

make sure

runtime vuda <= driver cuda
posted @ 2023-10-16 17:09  zz子木zz  阅读(315)  评论(0编辑  收藏  举报