深度学习环境配置:PyTorch、CUDA和Python版本选择

前言

在深度学习的世界里,选择合适的工具版本是项目成功的关键。CUDA、PyTorch和Python作为深度学习的三大支柱,它们的版本匹配问题不容忽视。错误的版本组合可能导致兼容性问题、性能下降甚至项目失败。因此,深入理解这三个组件之间的版本对应关系,是每一个深度学习开发者必须掌握的技能。

目录

一、核心组件架构

硬件层-软件层关系图

组件定义

二、版本匹配矩阵

常见的Python和PyTorch版本对应关系

常见的Torch、CUDA和Python版本的对应关系

三、安装教程

[步骤 1:安装 CUDA](#步骤 1:安装 CUDA)

[步骤 2:安装 Python(Conda环境)](#步骤 2:安装 Python(Conda环境))

[步骤 3:安装 PyTorch](#步骤 3:安装 PyTorch)

[通过 PyTorch 官网命令安装:](#通过 PyTorch 官网命令安装:)

[无 GPU---使用 CPU 版本:](#无 GPU---使用 CPU 版本:)

验证安装

三、如何多版本隔离?

具体操作方法

验证环境隔离

[四、如何判断 PyTorch 是 GPU 版本 还是 CPU 版本?](#四、如何判断 PyTorch 是 GPU 版本 还是 CPU 版本?)

[方法 1:使用 PyTorch 内置函数](#方法 1:使用 PyTorch 内置函数)

输出示例

[方法 2:检查 PyTorch 安装包信息](#方法 2:检查 PyTorch 安装包信息)

[使用 pip](#使用 pip)

[使用 conda](#使用 conda)

五、常见问题排查

[1、torch.cuda.is_available() 返回 False?](#1、torch.cuda.is_available() 返回 False?)

[2、安装时提示 Could not find a version that satisfies the requirement](#2、安装时提示 Could not find a version that satisfies the requirement)

[3、如何从 CPU 版本切换到 GPU 版本?](#3、如何从 CPU 版本切换到 GPU 版本?)

六、小结


一、核心组件架构

硬件层-软件层关系图

此图转载于:【一文搞懂---防止踩坑】深度学习环境配置:CUDA、cuDNN、算力 和 PyTorch 版本选择、详细教程案例(仔细阅读,建议收藏)_cuda版本和pytorch版本-CSDN博客

组件定义

名称 作用 备注 版本检查命令
显卡驱动 (GPU Driver) 显卡驱动在计算机中起着桥梁的作用,将操作系统和显卡连接起来,确保它们能够有效地协同工作,提供高性能的图形处理能力。 没有显卡驱动,GPU就是一个摆设,调用不起来。先装好驱动,电脑就能使用GPU,但是深度学习搞不定 nvidia-smi
CUDA NVIDIA 提供的并行计算平台,CUDA提供了一套编程接口和工具,用于加速 GPU 运算(PyTorch/TensorFlow依赖它) 需搭配 NVIDIA 显卡使用,非 NVIDIA 显卡无法安装 nvcc --version
PyTorch 基于 Python 的深度学习框架,支持 GPU 加速(依赖 CUDA) 有 CPU 和 GPU(CUDA)两个版本,安装时需选择对应版本 torch.version
Python 编程语言,PyTorch 等深度学习框架基于 Python 编写 建议使用 Python 3.8-3.10(与 PyTorch 兼容性较好) python --version

二、版本匹配矩阵

可以通过下面链接找到适合自己的版本:

https://pytorch.org/get-started/previous-versions/https://pytorch.org/get-started/previous-versions/

常见的Python和PyTorch版本对应关系

(2025年7月更新)

PyTorch 版本 支持的 Python 版本 适用场景
2.7.x 3.10--3.13 最新 GPU(需 CUDA 12.8+)
2.6.x 3.9--3.12 平衡稳定性与新特性(CUDA 12.6)
2.5.x 3.9--3.12 兼容旧 GPU(CUDA 11.8/12.1)
2.4.x (2024) 3.10--3.12 需 CUDA 12.1/12.4
2.3.x (2024) 3.10--3.11 最后支持 CUDA 11.8 的版本之一
2.2.x (2023) 3.8--3.11 长期支持(LTS)版本
2.1.x (2023) 3.8--3.10 兼容旧代码库
2.0.x (2022) 3.8--3.10 首个稳定版 2.0 系列
1.13.x (2022) 3.7--3.10 旧项目维护(已停止更新)

常见的Torch、CUDA和Python版本的对应关系

(2025年7月更新)

PyTorch 版本 Python 支持 CUDA 版本 适用场景 安装命令(GPU)
2.7.1 3.10--3.13 12.8 NVIDIA 50/40系显卡(RTX 5090/4080) pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
2.6.0 3.9--3.12 12.6 NVIDIA 30系显卡(RTX 3090/3080) conda install pytorch==2.6.0 torchvision torchaudio pytorch-cuda=12.6 -c pytorch -c nvidia
2.5.1 3.9--3.12 11.8 / 12.1 旧设备兼容(GTX 16/10系) pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu118

三、安装教程

步骤 1:安装 CUDA

  • 确认显卡支持

    运行 nvidia-smi(Windows/Linux 命令),查看显卡型号和支持的 CUDA 版本(右上角显示,如 CUDA 12.2)。

    (如果没有 NVIDIA 显卡,则只能安装 PyTorch 的 CPU 版本。)

bash 复制代码
# 步骤1:驱动验证
nvidia-smi  # 确认驱动版本≥535.86.10(CUDA12.8要求)
  • 下载 CUDA Toolkit

    访问 NVIDIA CUDA 官网,选择与显卡驱动兼容的版本(如 12.1)。

    • 注意 :PyTorch 通常对 CUDA 版本有明确要求,需参考 PyTorch 官网 的推荐版本。
  • 安装 CUDA

    按官方指引安装,完成后验证:

bash 复制代码
nvcc --version  # 查看 CUDA 编译器版本

步骤 2:安装 Python( Conda环境**)**

推荐方式 :使用 Miniconda/Anaconda 管理 Python 环境。

bash 复制代码
# 步骤2:Conda环境
conda create -n pytorch_env python=3.9  # 创建虚拟环境
conda activate pytorch_env              # 激活环境

步骤 3:安装 PyTorch

通过 PyTorch 官网命令安装

访问 PyTorch 官网,选择对应 CUDA 版本的安装命令(如 CUDA 11.8):

bash 复制代码
# 示例(CUDA 11.8)
pip install torch torchvision torchaudio --index-url 
https://download.pytorch.org/whl/cu118

无 GPU---使用 CPU 版本:

bash 复制代码
pip install torch torchvision torchaudio --index-url
 https://download.pytorch.org/whl/cpu

验证安装

python 复制代码
import torch
print(torch.__version__)          # 查看 PyTorch 版本
print(torch.cuda.is_available())  # 检查 CUDA 是否可用(应返回 True)

三、如何 多版本隔离**?**

  • Conda 的虚拟环境是完全隔离的,包括:

    • Python 版本

    • 第三方库(如 PyTorch、TensorFlow)

    • CUDA 工具包(通过 cudatoolkit 包)

  • 每个环境的 cudatoolkit 仅在该环境中生效,不会影响系统全局的 CUDA 或其他环境。

具体操作方法

示例:创建两个环境,分别使用 CUDA 11.3 和 CUDA 11.8

bash 复制代码
# 环境1:CUDA 11.3 + PyTorch 1.12
conda create -n pytorch_1.12 python=3.8
conda activate pytorch_1.12
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch

# 环境2:CUDA 11.8 + PyTorch 2.0
conda create -n pytorch_2.0 python=3.9
conda activate pytorch_2.0
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 cudatoolkit=11.8 -c pytorch

验证环境隔离

bash 复制代码
# 切换到环境1
conda activate pytorch_1.12
python -c "import torch; print(torch.version.cuda)"  # 应输出 11.3

# 切换到环境2
conda activate pytorch_2.0
python -c "import torch; print(torch.version.cuda)"  # 应输出 11.8

四、如何判断 PyTorch 是 GPU 版本 还是 CPU 版本?

判断当前 Python 环境(如 Conda 虚拟环境)安装的 PyTorch 是 GPU 版本 还是 CPU 版本

方法 1:使用 PyTorch 内置函数

在 Python 中运行以下代码:

python 复制代码
import torch

# 检查 PyTorch 是否支持 CUDA(即是否为 GPU 版本)
print(torch.cuda.is_available())  # 返回 True 表示是 GPU 版本,False 表示 CPU 版本

# 查看当前 PyTorch 使用的设备类型
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print(f"PyTorch is running on: {device}")

# 查看 CUDA 版本(如果是 GPU 版本)
if torch.cuda.is_available():
    print(f"CUDA Version: {torch.version.cuda}")  # 输出 CUDA 版本号
else:
    print("CUDA is not available (CPU version)")
输出示例

GPU 版本

复制代码
True
PyTorch is running on: cuda
CUDA Version: 11.8

CPU 版本

复制代码
False
PyTorch is running on: cpu
CUDA is not available (CPU version)

方法 2:检查 PyTorch 安装包信息

通过 pipconda 查看已安装的 PyTorch 包名称:

使用 pip
bash 复制代码
pip show torch
  • GPU 版本 :包名称会包含 +cuXXX(如 torch==2.0.1+cu118)。

  • CPU 版本 :包名称无 CUDA 后缀(如 torch==2.0.1)。

使用 conda
bash 复制代码
conda list | grep torch
  • GPU 版本 :依赖项中会显示 dcuatoolkit=XX.X

  • CPU 版本 :依赖项中会显示cpuonly

五、常见问题排查

1、torch.cuda.is_available() 返回 False?

可能原因:

  • 驱动过旧或未安装与 PyTorch 匹配的 cudatoolkit(通过 Conda 安装时需指定版本)。

  • 显卡驱动不支持当前 CUDA 版本(通过 nvidia-smi 检查驱动版本)。

  • PyTorch 安装的是 CPU 版本(如通过 pip install torch --cpu)。

解决

bash 复制代码
# 重新安装匹配版本(以 CUDA 11.8 为例)
pip uninstall torch torchvision torchaudio
pip install torch==2.5.1+cu118 torchvision==0.20.1+cu118 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu118

2、安装时提示 Could not find a version that satisfies the requirement

原因:Python 版本不兼容。

解决:创建符合要求的 Python 环境:

bash 复制代码
conda create -n pytorch_env python=3.10  # PyTorch 2.6+ 推荐 Python 3.10

3、如何从 CPU 版本切换到 GPU 版本?

卸载后重新安装 GPU 版本

bash 复制代码
pip uninstall torch torchvision torchaudio
pip install torch torchvision torchaudio --index-url
 https://download.pytorch.org/whl/cu118  # 替换为所需 CUDA 版本

或通过 Conda:

bash 复制代码
conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch

六、小结

  • 驱动版本是上限: 运行 nvidia-smi 查看显卡驱动支持的 最高 CUDA 版本 (如 Driver 535.86.10 支持 CUDA ≤12.8)。PyTorch 的 CUDA 版本必须 ≤ 驱动支持的版本(例如驱动支持 12.9 可安装 PyTorch CUDA 12.8)。

  • 可以隔离不同 CUDA 版本 :每个 Conda 环境通过 cudatoolkit 管理独立的 CUDA 运行时。

  • 优先使用 Conda 安装:避免手动处理 CUDA 环境变量和路径冲突。

相关推荐
恣逍信点8 小时前
《凌微经 · 理悖相涵》第六章 理悖相涵——关系构型之模因
人工智能·科技·程序人生·生活·交友·哲学
晚霞的不甘8 小时前
Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示
人工智能·算法·flutter·架构·开源·音视频
小程故事多_808 小时前
Agent Infra核心技术解析:Sandbox sandbox技术原理、选型逻辑与主流方案全景
java·开发语言·人工智能·aigc
陈天伟教授8 小时前
人工智能应用- 语言处理:02.机器翻译:规则方法
人工智能·深度学习·神经网络·语言模型·自然语言处理·机器翻译
人机与认知实验室9 小时前
一些容易被人工智能取代的职业
人工智能
茶栀(*´I`*)9 小时前
【NLP入门笔记】:自然语言处理基础与文本预处理
人工智能·自然语言处理·nlp
却道天凉_好个秋9 小时前
Tensorflow数据增强(三):高级裁剪
人工智能·深度学习·tensorflow
Lun3866buzha9 小时前
【深度学习应用】鸡蛋裂纹检测与分类:基于YOLOv3的智能识别系统,从图像采集到缺陷分类的完整实现
深度学习·yolo·分类
藦卡机器人9 小时前
国产机械臂做的比较好的品牌有哪些?
大数据·数据库·人工智能
迎仔9 小时前
06-AI开发进阶
人工智能