pytorch安装
文章目录
- 1. CUDA
- 2. cuDNN
- 3.安装
- 步骤 1:确认 GPU 支持
- 步骤 2:版本检查
- 步骤 2:下载 CUDA
- 步骤 3:下载 cuDNN
- 步骤 4:验证安装
- 步骤 5:安装PyTorch
- 4.其他第三方库安装
1. CUDA
CUDA 是 NVIDIA 创建的一种并行计算平台和编程模型。
-
它允许开发者使用 C/C++、Fortran、Python 等语言(通过特定扩展或库)编写程序,直接利用 NVIDIA GPU 的强大计算能力,而不是仅仅依赖 CPU。
-
CUDA 提供了一个软件层,让开发者能够管理 GPU 上的内存、启动并行计算任务(称为核函数)、以及协调 CPU(主机)和 GPU(设备)之间的通信。
-
核心功能/作用:
- 通用 GPU 计算 (GPGPU): 将原本由 CPU 处理的、计算密集型的任务并行化并卸载到 GPU 上执行,获得显著的加速(数十倍甚至上百倍)。应用领域包括科学计算、物理模拟、金融建模、图像/视频处理、计算生物学等。
- 深度学习基础平台: 几乎所有主流的深度学习框架(如 TensorFlow, PyTorch, Keras, MXNet, Caffe)都依赖 CUDA 来在 NVIDIA GPU 上执行核心计算操作(如张量运算、卷积、矩阵乘法)。CUDA 提供了执行这些底层计算所需的并行架构和指令集。
- 提供 API 和工具: 包括编译器 (
nvcc
)、调试器、性能分析器、数学库等,方便开发者进行 GPU 编程和优化。
-
cuDNN(CUDA Deep Neural Network library)
是基于 CUDA 的专用深度学习加速库,专门针对深度神经网络(如卷积、池化、激活函数等操作)进行了优化。
它相当于 CUDA 的 “深度学习插件”,封装了大量高效的神经网络计算函数,让 TensorFlow、PyTorch 等框架能更便捷地调用 GPU 加速训练和推理。 -
关系总结:
cuDNN 依赖 CUDA 运行(必须先安装 CUDA),而 CUDA 是更基础的平台,可支持除深度学习外的其他并行计算任务。
2. cuDNN
cuDNN 是 NVIDIA 提供的一个针对深度神经网络原语进行高度优化的 GPU 加速库。
-
它不是独立的编程模型,而是建立在 CUDA 平台之上的一个专用库。
-
它实现了深度学习框架中最常用、计算最密集的核心操作(如卷积、池化、归一化、激活函数、张量变换)的最高效版本。
-
核心功能/作用:
- 极致性能优化: NVIDIA 投入大量工程资源,利用 GPU 架构特性(Tensor Cores)、低精度计算(FP16, BF16)、高效的算法实现,对这些操作进行了深度优化,比开发者自己用 CUDA 实现的版本通常快得多。
- 易用性: 提供简洁的 C API 接口。深度学习框架(如 TensorFlow, PyTorch)只需在底层调用 cuDNN 的函数,就能自动获得 GPU 加速,无需框架开发者自己重写和优化这些底层操作。大大简化了框架开发。
- 标准化: 成为深度学习框架在 NVIDIA GPU 上进行核心计算操作的事实标准后端库。
3.安装
- 顺序: 必须先安装 NVIDIA 驱动 -> 然后安装 CUDA Toolkit -> 最后安装 cuDNN。
- 兼容性至上: 驱动版本、CUDA Toolkit 版本、cuDNN 版本、深度学习框架版本 这四者之间必须严格匹配。安装前务必查阅你所用深度学习框架的官方文档,了解其明确要求的 CUDA 和 cuDNN 版本。
- CUDA 是基础平台: 提供通用的 GPU 并行计算能力。
- cuDNN 是加速引擎: 提供深度学习核心操作在 CUDA 平台上的极致优化实现。深度学习框架通过调用 cuDNN 来高效利用 GPU 进行训练和推理。
- 下载来源: 两者都必须在 NVIDIA 开发者官网下载。cuDNN 需要注册账号。
步骤 1:确认 GPU 支持
首先确保你的 NVIDIA 显卡支持 CUDA(需为 Kepler 架构及以上,可在 NVIDIA 官网 查询)。
步骤 2:版本检查
在cmd里面,输入nvidia-smi查看GPU驱动程序版本:
步骤 2:下载 CUDA
-
访问 CUDA 下载页面,选择适合的版本(建议根据你使用的深度学习框架版本选择
官网地址:https://developer.nvidia.com/cuda-toolkit-archive
-
选择操作系统(Windows、Linux 等)、架构和安装方式(本地安装包或在线安装),下载后按照向导安装。
安装时建议勾选 “CUDA Toolkit” 和 “显卡驱动”(若驱动版本较旧)。
点击下载完成
安装:
- 双击下载的
cuda_11.8.0_522.06_windows.exe
- 选择安装选项:
- 安装类型 → 选择
自定义(高级)
- 组件 → 确保勾选:
CUDA
→Development
+Runtime
Driver components
(如果未安装最新NVIDIA驱动)
- 取消勾选
Visual Studio Integration
(除非需要VS支持)
- 安装类型 → 选择
- 完成安装后,验证环境变量是否自动添加:
- 检查
PATH
是否包含:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin
- 检查
安装后检查:
nvcc -V
步骤 3:下载 cuDNN
-
访问 cuDNN 下载页面(需注册 NVIDIA 开发者账号,免费)。
官网地址:cuDNN Archive | NVIDIA Developer
-
选择与已安装的 CUDA 版本匹配的 cuDNN 版本(例如 CUDA 11.7 对应 cuDNN v8.5 及以上兼容版本)。
-
下载后解压,
将其中的 bin
、include
、lib
文件夹复制到 CUDA 的安装目录(例如 Windows 默认为 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7
),完成集成。
- 添加path环境变量:
步骤 4:验证安装
- 安装完成后,可通过命令行验证 CUDA 是否安装成功:
- Windows:
nvcc -V
(查看 CUDA 编译器版本) - Linux:
nvcc --version
- Windows:
- cuDNN 可通过深度学习框架(如 PyTorch)自动检测,也可参考 NVIDIA 官方的验证脚本。
步骤 5:安装PyTorch
在官方文档里面找到适合你设备的PyTorch版本及对应的安装指令执行即可:https://pytorch.org/get-started/previous-versions/
要保证你选择的CUDA版本号<=你的GPU驱动程序版本
文档中的版本号仅供参考,以实际电脑环境为准
针对我的网络及设备情况,我复制了如下指令完成了Torch的安装:
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=12.1 -c pytorch -c nvidia
离线安装:
浏览器打开链接:https://download.pytorch.org/whl/cu121
找到torch,点击进入下载页面,找到适合自己cuda版本的安装包,下载即可(使用迅雷下载比较快)
下载完成后,在Anaconda prompt界面切换到自己的虚拟环境,并将目录切换到torch安装包所在的文件夹,输入命令:
torch-2.3.1+cu121-cp310-cp310-win_amd64.whl
测试:
安装完成后,在pycharm中输入代码:
import torchprint(torch.cuda.is_available())
print(torch.__version__)
然后再安装torchvision0.15.2和torchaudio2.0.2,版本号需要和线上安装的版本号一致
pip install torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121
4.其他第三方库安装
1.numpy库
pip install numpy==1.26.0 -i https://mirrors.huaweicloud.com/repository/pypi/simple
2.matplotlib库
pip install matplotlib -i https://mirrors.huaweicloud.com/repository/pypi/simple
3.pandas库
pip install pandas -i https://mirrors.huaweicloud.com/repository/pypi/simple
4.sklean库
pip install scikit-learn -i https://mirrors.huaweicloud.com/repository/pypi/simple
5.opencv库
pip install opencv-python -i https://mirrors.huaweicloud.com/repository/pypi/simple
6.torchsummary库(可选)
pip install torchsummary -i https://mirrors.huaweicloud.com/repository/pypi/simple