共计 1988 个字符,预计需要花费 5 分钟才能阅读完成。
背景痛点分析
PyTorch 作为当前主流的深度学习框架之一,其安装过程却常常成为初学者的第一道门槛。以下是新手最常见的几类问题:

- 版本混淆问题 :PyTorch 官网提供 Nightly、Stable、LTS 等多个版本分支,新手容易选错版本导致后续兼容性问题
- CUDA 匹配问题 :GPU 版本需要严格匹配 NVIDIA 驱动、CUDA Toolkit 和 cuDNN 的版本组合,任何一环不匹配都会导致无法调用 GPU
- 环境污染问题 :直接安装在系统 Python 环境中可能导致依赖冲突,影响其他项目的正常运行
- 验证困难 :安装后无法快速验证 GPU 是否真正可用
CPU 与 GPU 版本技术对比
- CPU 版本
- 优点:无需额外硬件支持,安装简单,适合轻量级学习或推理任务
- 缺点:训练速度慢,无法处理大规模矩阵运算
-
适用场景:入门学习、简单模型推理、无 NVIDIA GPU 的设备
-
GPU 版本
- 优点:利用 CUDA 加速计算,训练速度可提升 10-50 倍
- 缺点:安装复杂,需要 NVIDIA 显卡和配套驱动
- 适用场景:模型训练、大规模数据处理、需要性能优化的场景
分步安装指南
第一步:创建 Conda 虚拟环境
建议使用 Miniconda 或 Anaconda 创建独立环境,避免污染系统 Python 环境:
# 创建名为 pytorch_env 的 Python 3.9 环境
conda create -n pytorch_env python=3.9
# 激活环境
conda activate pytorch_env
第二步:获取正确的安装命令
PyTorch 官方提供了安装命令生成器(https://pytorch.org/get-started/locally/),这是最可靠的安装源。2025 年最新推荐命令如下:
- CPU 版本安装
conda install pytorch torchvision torchaudio cpuonly -c pytorch
- GPU 版本安装
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
第三步:验证安装
安装完成后,启动 Python 解释器执行以下验证代码:
import torch
# 打印 PyTorch 版本
print(torch.__version__)
# 检查 CUDA 是否可用(GPU 版本专用)print(torch.cuda.is_available())
# 查看 GPU 设备名称(如果可用)if torch.cuda.is_available():
print(torch.cuda.get_device_name(0))
预期输出示例(GPU 版本):
2.2.0+cu121
True
NVIDIA GeForce RTX 4090
避坑指南
常见错误 1:CUDA 不可用
现象 :torch.cuda.is_available() 返回 False
解决方案 :
1. 确认 NVIDIA 驱动已安装且版本匹配
2. 运行 nvidia-smi 查看驱动版本和 CUDA 版本
3. 确保安装的 PyTorch CUDA 版本与系统 CUDA Toolkit 一致
常见错误 2:环境冲突
现象 :安装后导入 torch 报错或运行异常
解决方案 :
1. 始终在虚拟环境中安装
2. 出现冲突时,可以尝试 conda clean --all 后重新安装
常见错误 3:下载速度慢
现象 :conda 或 pip 安装时下载超时
解决方案 :
1. 更换国内镜像源(如清华、阿里云)
2. 使用 -i 参数指定镜像源:
pip install torch torchvision -i https://pypi.tuna.tsinghua.edu.cn/simple
GPU 版本环境要求
要成功运行 PyTorch GPU 版本,需满足以下硬件和软件要求:
- 硬件要求
- NVIDIA 显卡(建议 RTX 20 系列及以上)
-
显存 ≥ 4GB(训练中等模型建议 ≥ 8GB)
-
软件要求
- 最新版 NVIDIA 驱动(通过
nvidia-smi可查看) - 匹配的 CUDA Toolkit(2025 年推荐 CUDA 12.1)
- 对应版本的 cuDNN(通常 conda 会自动安装)
互动练习
运行以下简单张量运算代码,观察 CPU 和 GPU 的计算速度差异:
import torch
import time
# 创建一个大型随机矩阵
x = torch.randn(10000, 10000)
# CPU 版本计算
start_time = time.time()
_ = x @ x.t()
print(f"CPU 耗时: {time.time() - start_time:.2f} 秒")
# 如果有 GPU,转移到 GPU 计算
if torch.cuda.is_available():
x = x.cuda()
start_time = time.time()
_ = x @ x.t()
torch.cuda.synchronize() # 等待 CUDA 操作完成
print(f"GPU 耗时: {time.time() - start_time:.2f} 秒")
欢迎在评论区分享你的运行结果和硬件配置!
