作为深度学习开发者,PyTorch 凭借其动态图灵活性和友好的 API,已成为入门和科研的首选框架。而 GPU 加速(通过 NVIDIA CUDA)更是将训练效率提升数倍甚至数十倍。但安装 PyTorch 与 CUDA 的过程常让新手踩坑,本文将以 Windows/Linux 双系统为场景,手把手教你完成「显卡检查→驱动更新→CUDA 安装→PyTorch 部署→验证」全流程,并总结常见问题的解决方案。
一、前置条件:你的电脑能跑 CUDA 吗?
1. 检查显卡是否支持 CUDA
CUDA 是 NVIDIA 独家的 GPU 计算平台,仅支持 NVIDIA 显卡(AMD/Intel 核显/独显无法使用)。
- Windows:右键「此电脑」→「管理」→「设备管理器」→ 展开「显示适配器」,查看显卡型号(如 RTX 3090、GTX 1650 等)。
- Linux:终端输入
lspci | grep -i vga或nvidia-smi(若已装驱动)。
关键判断:前往 https://developer.nvidia.com/cuda-gpus,确认你的显卡型号在列(如 GTX 10 系及以上基本支持)。若显卡过旧(如 GTX 700 系),可能仅支持 CUDA 10 及以下版本,需谨慎选择。
2. 更新 NVIDIA 显卡驱动
CUDA 依赖显卡驱动,驱动版本过旧会导致 CUDA 无法运行。建议安装 最新稳定版驱动(非 Game Ready 驱动也可,但需 ≥ CUDA 要求的最低版本)。
- 下载地址:https://www.nvidia.com/Download/index.aspx
- 选择对应显卡型号、操作系统版本,下载后按提示安装(勾选「清洁安装」避免旧驱动残留)。
- 安装完成后,终端输入
nvidia-smi,若能显示 GPU 信息(如显存、驱动版本),则驱动安装成功。
二、选择 CUDA 版本:与 PyTorch 强绑定!
PyTorch 的 CUDA 支持需严格匹配 CUDA Toolkit 版本(如 PyTorch 2.0 支持 CUDA 11.7/11.8/12.1)。错误版本会导致「CUDA 不可用」或性能异常。
步骤 1:确定目标 CUDA 版本
访问 https://pytorch.org/,点击「Install」进入版本选择页,根据需求勾选:
- 「Stable」(稳定版)或「Preview」(预览版)。
- 操作系统(如 Windows/Linux)。
- 包管理器(pip/conda)。
- CUDA 版本(推荐选择「CUDA 11.8」或「CUDA 12.1」,兼容性最佳)。
官网会自动生成对应安装命令(后续直接使用)。例如:
# CUDA 11.8 + pip 示例
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
步骤 2:下载 CUDA Toolkit
前往 https://developer.nvidia.com/cuda-toolkit-archive,选择与 PyTorch 匹配的版本(如 CUDA 11.8)。
注意:
- 若只需开发(非驱动开发),选择「Complete」或「Runtime」即可(Runtime 体积更小)。
- Windows 用户建议选「Installer Type: exe [Local]」(离线安装,避免网络问题);Linux 用户选「Runfile (local)」或包管理器(如 Ubuntu 的
apt)。
三、安装 CUDA Toolkit:系统差异需注意
Windows 系统安装步骤
-
双击下载的 CUDA 安装包(如
cuda_11.8.0_522.06_windows.exe),勾选「接受许可条款」。 -
选择安装类型:
- 推荐「Complete」(包含所有组件,如 cuDNN 部分库),但需约 3GB 空间。
- 若仅需 PyTorch 运行,可选「Custom」→ 勾选「CUDA」→ 取消「Driver」(驱动已单独安装)。
-
等待安装完成(约 10-20 分钟),期间可能提示重启,建议保存文件后重启。
-
验证安装:
打开命令提示符,输入nvcc --version,若显示 CUDA 版本(如 11.8),则 Toolkit 安装成功。
若提示「nvcc 不是内部或外部命令」,需手动添加环境变量:- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」。
- 在「系统变量」中找到
Path,添加 CUDA 的bin和libnvvp路径(如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin和C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp)。
Linux 系统安装步骤(以 Ubuntu 20.04 为例)
-
关闭图形界面(避免冲突):
sudo systemctl isolate multi-user.target -
运行下载的 Runfile 安装包:
chmod +x cuda_11.8.0_522.06_linux.run sudo ./cuda_11.8.0_522.06_linux.run -
安装选项:
- 勾选「Accept」接受许可。
- 取消「Install NVIDIA Driver」(驱动已单独安装)。
- 其他选项保持默认(安装路径
/usr/local/cuda-11.8)。
-
配置环境变量:
编辑~/.bashrc或/etc/profile:echo 'export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc source ~/.bashrc # 立即生效 -
验证安装:
输入nvcc --version显示版本,或运行nvidia-smi确认 GPU 识别正常。
四、安装 PyTorch:一键式命令搞定
方法 1:使用 pip 安装(通用)
回到 PyTorch 官网的安装命令生成页,复制对应 CUDA 版本的 pip 命令。例如 CUDA 11.8:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
方法 2:使用 conda 安装(推荐)
若习惯用 conda 管理环境,官网会生成类似命令(自动处理依赖):
conda create -n pytorch_env python=3.9 # 创建虚拟环境(可选但强烈推荐)
conda activate pytorch_env # 激活环境
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
注意:
- 虚拟环境可避免系统级 Python 包冲突,建议新手必做。
- 若下载速度慢,可切换 pip 源(如阿里云、清华源):
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
五、验证安装:确认 CUDA 可用!
安装完成后,必须验证 PyTorch 是否成功调用 CUDA。打开 Python 终端,执行以下代码:
import torch
# 检查 CUDA 是否可用
print("CUDA 可用吗?", torch.cuda.is_available()) # 输出应为 True
# 查看当前 GPU 设备
print("当前 GPU 设备:", torch.cuda.current_device())
# 查看所有可用 GPU 数量
print("可用 GPU 数量:", torch.cuda.device_count())
# 创建一个张量并移动到 GPU
x = torch.tensor([1.0, 2.0])
x_gpu = x.cuda() # 或 x.to('cuda')
print("张量是否在 GPU 上?", x_gpu.is_cuda) # 输出应为 True
# 查看张量所在设备详情
print("张量所在设备:", x_gpu.device) # 输出类似 'cuda:0'
预期输出:
CUDA 可用吗? True
当前 GPU 设备: 0
可用 GPU 数量: 1
张量是否在 GPU 上? True
张量所在设备: cuda:0
若 torch.cuda.is_available() 返回 False,说明安装失败,需排查以下问题:
- CUDA 与 PyTorch 版本不匹配:通过
nvcc --version查看 CUDA Toolkit 版本,与 PyTorch 要求的版本对比(官网文档有详细对应表)。 - 环境变量未正确配置:Windows 检查
Path是否包含 CUDA 的bin目录;Linux 检查~/.bashrc中的PATH和LD_LIBRARY_PATH。 - 显卡驱动过旧:运行
nvidia-smi,若驱动版本低于 CUDA 要求的最低版本(如 CUDA 11.8 要求驱动 ≥ 450.80.02),需更新驱动。 - 虚拟环境未激活:若使用 conda/venv,确保已激活目标环境。
六、常见问题汇总(附解决方案)
Q1:安装 CUDA 时提示「驱动不兼容」
- 原因:CUDA Toolkit 依赖特定版本的显卡驱动,旧驱动无法支持新版 CUDA。
- 解决:前往 https://www.nvidia.com/Download/index.aspx,下载与 CUDA 版本匹配的驱动(CUDA Toolkit 页面会标注最低驱动要求)。
Q2:PyTorch 安装后 torch.cuda.is_available() 仍为 False
- 原因:可能是 CUDA Toolkit 未正确安装,或 PyTorch 未检测到 CUDA 路径。
- 解决:
- 重新安装 CUDA Toolkit,确保
nvcc --version能正常输出版本。 - 手动指定 CUDA 路径(Linux):
export PATH=/usr/local/cuda-11.8/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH - 尝试重启电脑(部分环境变量需重启生效)。
- 重新安装 CUDA Toolkit,确保
Q3:Linux 下 nvidia-smi 显示驱动正常,但 nvcc --version 报错
- 原因:
nvidia-smi依赖显卡驱动,而nvcc是 CUDA Toolkit 的编译器,两者独立。报错说明 CUDA Toolkit 未正确安装。 - 解决:重新安装 CUDA Toolkit,确保勾选「Runtime」或「Complete」组件(避免仅安装驱动)。
Q4:macOS 用户想用 GPU 加速?
- 说明:macOS 自 2018 年后不再支持 NVIDIA 显卡,CUDA 无法使用。但 PyTorch 提供 MPS(Metal Performance Shaders)后端,可调用 Apple Silicon 芯片(M1/M2 系列)的 GPU。
- 安装方法:官网生成命令时选择「macOS」+「MPS」,命令类似:
验证时将pip3 install torch torchvision torchaudiocuda替换为mps:device = torch.device('mps' if torch.backends.mps.is_available() else 'cpu')
总结
安装 PyTorch 与 CUDA 的核心是版本匹配和环境配置。本文通过分步指南覆盖了从显卡检查到最终验证的全流程,并总结了常见问题的解决方案。只要严格按照步骤操作,即使是新手也能顺利完成安装。
最后提醒:深度学习任务对硬件要求较高,若使用笔记本集成显卡或老旧 NVIDIA 显卡,可优先尝试 CPU 版 PyTorch(去掉 CUDA 依赖),或考虑云服务器(如 Google Colab、阿里云 GPU 实例)获取更强算力。
2万+

被折叠的 条评论
为什么被折叠?



