PyTorch + CUDA 安装保姆级教程:从入门到避坑,一篇搞定!

作为深度学习开发者,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 vganvidia-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 系统安装步骤

  1. 双击下载的 CUDA 安装包(如 cuda_11.8.0_522.06_windows.exe),勾选「接受许可条款」。

  2. 选择安装类型:

    • 推荐「Complete」(包含所有组件,如 cuDNN 部分库),但需约 3GB 空间。
    • 若仅需 PyTorch 运行,可选「Custom」→ 勾选「CUDA」→ 取消「Driver」(驱动已单独安装)。
  3. 等待安装完成(约 10-20 分钟),期间可能提示重启,建议保存文件后重启。

  4. 验证安装
    打开命令提示符,输入 nvcc --version,若显示 CUDA 版本(如 11.8),则 Toolkit 安装成功。
    若提示「nvcc 不是内部或外部命令」,需手动添加环境变量:

    • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」。
    • 在「系统变量」中找到 Path,添加 CUDA 的 binlibnvvp 路径(如 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\binC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp)。

Linux 系统安装步骤(以 Ubuntu 20.04 为例)

  1. 关闭图形界面(避免冲突):

    sudo systemctl isolate multi-user.target
    
  2. 运行下载的 Runfile 安装包:

    chmod +x cuda_11.8.0_522.06_linux.run
    sudo ./cuda_11.8.0_522.06_linux.run
    
  3. 安装选项:

    • 勾选「Accept」接受许可。
    • 取消「Install NVIDIA Driver」(驱动已单独安装)。
    • 其他选项保持默认(安装路径 /usr/local/cuda-11.8)。
  4. 配置环境变量
    编辑 ~/.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  # 立即生效
    
  5. 验证安装:
    输入 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,说明安装失败,需排查以下问题:

  1. CUDA 与 PyTorch 版本不匹配:通过 nvcc --version 查看 CUDA Toolkit 版本,与 PyTorch 要求的版本对比(官网文档有详细对应表)。
  2. 环境变量未正确配置:Windows 检查 Path 是否包含 CUDA 的 bin 目录;Linux 检查 ~/.bashrc 中的 PATHLD_LIBRARY_PATH
  3. 显卡驱动过旧:运行 nvidia-smi,若驱动版本低于 CUDA 要求的最低版本(如 CUDA 11.8 要求驱动 ≥ 450.80.02),需更新驱动。
  4. 虚拟环境未激活:若使用 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 路径。
  • 解决:
    1. 重新安装 CUDA Toolkit,确保 nvcc --version 能正常输出版本。
    2. 手动指定 CUDA 路径(Linux):
      export PATH=/usr/local/cuda-11.8/bin:$PATH
      export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH
      
    3. 尝试重启电脑(部分环境变量需重启生效)。

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 torchaudio
    
    验证时将 cuda 替换为 mps
    device = torch.device('mps' if torch.backends.mps.is_available() else 'cpu')
    

总结

安装 PyTorch 与 CUDA 的核心是版本匹配环境配置。本文通过分步指南覆盖了从显卡检查到最终验证的全流程,并总结了常见问题的解决方案。只要严格按照步骤操作,即使是新手也能顺利完成安装。

最后提醒:深度学习任务对硬件要求较高,若使用笔记本集成显卡或老旧 NVIDIA 显卡,可优先尝试 CPU 版 PyTorch(去掉 CUDA 依赖),或考虑云服务器(如 Google Colab、阿里云 GPU 实例)获取更强算力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值