深度学习环境安装
本文主要记录一下深度学习环境的安装过程。包括CUDA、cuDNN、PyTorch等内容。
0. 前置准备
检查显卡型号,确认支持CUDA。可以使用以下命令查看显卡型号:
1 | nvida-smi |
该指令会显示显卡驱动支持的最大CUDA版本。
0.1 深度学习环境架构
深度学习环境的架构大致如下所示:
1 | PyTorch |
1. CUDA
CUDA 是 NVIDIA 提供的 GPU 并行计算平台。它包括:
1 | - CUDA Driver(随 NVIDIA 驱动) |
在使用过程中,PyTorch的调用过程是这样的:
1 | PyTorch 调用 CUDA Runtime |
2. cuDNN
cuDNN 是 NVIDIA 提供的深度神经网络加速库,基于 CUDA 构建。它提供了高性能的卷积、池化、归一化等操作。它的内部调用逻辑是:
1 | 如果可用 → 调用 cuDNN |
也就是说cuDNN并不是必须的,但是有它会大幅提升性能。
3. PyTorch
PyTorch 是一个流行的深度学习框架。它负责:
- 张量计算
- 自动求导(Autograd)
- 神经网络模块
- 调度 CPU / GPU 执行
1. CUDA安装
1. 下载安装CUDA Toolkit
直接上官网:https://developer.nvidia.com/cuda-toolkit-archive
选择对应的版本下载即可。.deb 可以允许驱动和CUDA分开apt安装,但是流程会长很多。.run 文件则是一个应用安装程序,简单粗暴,但是要注意不要把驱动覆盖掉了。
2. 设置环境变量
安装完成后,需要设置环境变量。在 ~/.bashrc 中添加:
1 | export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}} |
然后执行 source ~/.bashrc 使其生效。
3. 验证安装
可以通过以下命令验证CUDA是否安装成功:
1 | nvcc -V |
4. 多版本CUDA管理
核心思路就是,正常的安装多个版本的CUDA,然后通过修改环境变量来切换版本。
2. PyTorch安装
1 | pip install torch==version --index-url https://download.pytorch.org/whl/cu128 |
此外,还有两个经常一同出现的库:
- torchvision:计算机视觉相关工具库
- torchaudio:音频处理相关工具库
2. python环境管理补充
一般来说,深度学习环境会使用Python虚拟环境来隔离依赖。我们有很多中方法来管理虚拟环境,比如venv, conda、uv等。conda 特别适合处理包括非纯Python包在内的复杂依赖,因此在深度学习中被广泛使用,但是它比较笨重,而且是不可商用的。
2.1 uv环境管理
uv 是一个轻量级的Python虚拟环境管理工具。其本质是一个更快更现代的 pip+venv 组合。安装和使用都非常简单。
安装uv
1 | curl -LsSf https://astral.sh/uv/install.sh | sh |
快速使用
1 | uv venv .venv |
这样就是创建并进入了一个名为.venv的虚拟环境,并安装了指定的包。基本等同于 venv 的管理,没有用到uv包的版本管理功能。
带版本的环境管理
1 | # 生成pyproject.toml文件 |
这样,uv 就会把所有依赖记录在 pyproject.toml 文件中,方便后续的环境重现和管理。
例如,我们可以通过 uv sync 来安装 pyproject.toml 中记录的所有依赖。
uv 不会管理或者创建 python,而是去使用系统中的 python 版本。
uv venv -p pythonX.Y 也只是告诉 uv 去使用哪个版本的 python 来创建虚拟环境。
