一、安装前准备(必做!)
1. 系统与硬件检查
系统 | 支持版本 | GPU 支持要求 |
---|---|---|
Windows | 10/11(64位) | NVIDIA 显卡(CUDA 11.0+) |
macOS | 12+(Apple Silicon/M1) | 苹果显卡(Metal Performance Shaders) |
Linux | Ubuntu 20.04+/Debian 11 | NVIDIA/AMD/Intel 显卡(需对应驱动) |
-
NVIDIA GPU 用户:
打开「设备管理器」→「显示适配器」,确认显卡型号(如 RTX 3060),并检查驱动版本:
官网下载 NVIDIA 驱动,需 ≥ 515.65.01(对应 CUDA 11.7)。
-
Apple Silicon(M1/M2)用户:
确保系统已更新至 macOS 13.4+,并安装 Xcode Command Line Tools:xcode-select --install # 按提示安装
2. 包管理器选择
方式 | 优点 | 缺点 | 推荐场景 |
---|---|---|---|
Conda | 自动解决依赖,适合新手 | 安装速度慢,版本可能非最新 | 虚拟环境管理 |
Pip | 安装速度快,获取最新版本 | 需手动处理依赖 | 高级用户/CI/CD 环境 |
Docker | 环境隔离彻底,适合部署 | 占用磁盘空间大 | 生产环境/复现问题 |
二、分步安装教程(含全平台命令)
🔵 Windows 系统(以 Anaconda 为例)
1. 创建隔离环境(推荐)
# 打开 Anaconda Prompt
conda create -n torch_env python=3.10 # 指定 Python 3.10(PyTorch 长期支持)
conda activate torch_env # 激活环境,提示符显示 (torch_env)
2. 安装 GPU 版本(NVIDIA 显卡)
-
自动检测 CUDA 版本(推荐):
访问 PyTorch 官网安装命令生成器,选择:
复制生成的命令(示例):
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
-
手动指定 CUDA 版本(如已安装 CUDA 11.7):
conda install pytorch torchvision torchaudio cudatoolkit=11.7 -c pytorch
3. 安装 CPU 版本(无显卡/临时使用)
conda install pytorch torchvision torchaudio cpuonly -c pytorch
🔵 macOS 系统(Apple Silicon)
1. 使用 Conda 安装(推荐)
# 打开终端(Terminal)
conda create -n torch_m1 python=3.10
conda activate torch_m1
# 官方 MPS 优化版本(需 macOS 13+)
conda install pytorch torchvision torchaudio -c pytorch -c apple
2. 使用 Pip 安装(最新特性)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
🔵 Linux 系统(Ubuntu 22.04)
1. 安装 NVIDIA GPU 版本
# 先安装 CUDA 工具包(官网下载 runfile 安装)
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run --silent --toolkit
# 创建环境并安装 PyTorch
conda create -n torch_linux python=3.10
conda activate torch_linux
conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch
2. 验证 CUDA 路径(关键!)
echo $CUDA_HOME # 应输出 /usr/local/cuda-11.8
nvcc --version # 输出版本号,如 release 11.8, V11.8.89
三、验证安装(3 步必做)
1. 启动 Python 交互环境
python # 或 python3(根据环境)
2. 运行测试代码
import torch
# 检查版本
print(torch.__version__) # 输出版本,如 2.1.0
# 检查 GPU 支持(NVIDIA)
if torch.cuda.is_available():
print(f"GPU 型号: {torch.cuda.get_device_name(0)}")
print(f"CUDA 版本: {torch.version.cuda}")
# 测试 GPU 计算
x = torch.tensor([1.0]).cuda()
print(x) # 输出 tensor([1.0], device='cuda:0')
else:
print("未检测到 GPU,使用 CPU 版本")
# Apple Silicon 专用检查
if hasattr(torch.backends, "mps") and torch.backends.mps.is_available():
print("MPS 加速已启用")
y = torch.tensor([1.0], device="mps")
print(y)
3. 预期输出示例(NVIDIA GPU)
2.1.0
GPU 型号: NVIDIA GeForce RTX 3060
CUDA 版本: 11.8
tensor([1.0], device='cuda:0')
四、常见问题与解决方案
问题 1:CUDA 版本不匹配
- 现象:安装后
torch.cuda.is_available()
返回False
- 解决:
- 卸载现有 CUDA:
sudo apt remove cuda*
(Linux) - 通过 PyTorch 官网工具 安装匹配版本
- Windows 用户检查「控制面板」→「程序」中是否有多个 CUDA 版本,保留最新版
- 卸载现有 CUDA:
问题 2:Apple M1/M2 安装失败
- 现象:
ImportError: dlopen(..., symbol not found: _ZTIN10at::Tensor
- 解决:
# 卸载旧版本并安装 Apple 优化版 pip3 uninstall torch conda install pytorch torchvision torchaudio -c pytorch -c apple
问题 3:Conda 环境未激活
- 现象:命令行提示符无环境名,
which python
指向系统 Python - 解决:
- 重新激活:
conda activate torch_env
- 修复环境变量:
conda init cmd.exe
(Windows)或conda init zsh
(macOS/Linux)
- 重新激活:
问题 4:Pip 安装权限问题
- 现象:
Permission denied
错误 - 解决:
# 使用虚拟环境(推荐) python -m venv my_venv && source my_venv/bin/activate # Linux/macOS my_venv\Scripts\activate.bat # Windows # 或临时使用 --user 选项(不推荐) pip3 install --user torch
五、进阶安装方案
1. 安装夜间版(获取最新特性)
# Conda
conda install pytorch-nightly torchvision-nightly torchaudio-nightly -c pytorch-nightly
# Pip
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu118
2. 使用 Docker 容器
# 拉取官方 GPU 镜像(需安装 Docker Desktop 并启用 GPU)
docker pull pytorch/pytorch:2.1.0-cuda11.8-cudnn8-runtime
# 运行容器(挂载本地目录)
docker run -it --gpus all -v $(pwd):/workspace pytorch/pytorch:2.1.0-cuda11.8-cudnn8-runtime
3. 源码编译(高级用户)
# 克隆仓库(需安装 Git、CMake、Ninja)
git clone --recursive https://github.com/pytorch/pytorch.git
cd pytorch
# 启用 CUDA 编译
CMAKE_PREFIX_PATH=$(dirname $(which conda))/envs/torch_env python setup.py install
六、版本管理建议
场景 | 推荐版本 | 维护周期 |
---|---|---|
生产环境 | 稳定版(如 2.1.0) | 12 个月安全更新 |
研究开发 | 最新稳定版(2.1.x) | 持续特性更新 |
尝鲜新功能 | 夜间版(nightly) | 每日构建 |
七、验证脚本(一键检测)
保存以下代码为 torch_check.py
,运行后生成详细报告:
import torch
import platform
def get_system_info():
return {
"系统": platform.system(),
"Python 版本": platform.python_version(),
"PyTorch 版本": torch.__version__,
"CUDA 可用": torch.cuda.is_available(),
"CUDA 版本": torch.version.cuda,
"MPS 可用": hasattr(torch.backends, "mps") and torch.backends.mps.is_available(),
"显卡信息": torch.cuda.get_device_name(0) if torch.cuda.is_available() else "无"
}
if __name__ == "__main__":
info = get_system_info()
for k, v in info.items():
print(f"{k}: {v}")
运行结果示例:
系统: Windows
Python 版本: 3.10.12
PyTorch 版本: 2.1.0
CUDA 可用: True
CUDA 版本: 11.8
MPS 可用: False
显卡信息: NVIDIA GeForce RTX 3060
总结(新手必记清单)
✅ 安装前确认显卡型号和驱动版本(NVIDIA 驱动 ≥ 515.65)
✅ 优先使用Conda 虚拟环境,避免系统级依赖冲突
✅ 运行torch_check.py
验证,确保 GPU/MPS 加速已启用
✅ 遇到问题先查官方安装文档,或加入PyTorch 中文社区