“100% 成功的 PyTorch CUDA GPU 支持” 安装攻略

news/2025/5/24 1:10:34

#工作记录

一、总述

在深度学习领域,PyTorch 凭借其灵活性和强大的功能,成为了众多开发者和研究者的首选框架。而 CUDA GPU 支持能够显著加速 PyTorch 的计算过程,大幅提升训练和推理效率。然而,安装带有 CUDA GPU 支持的 PyTorch 常常会遇到各种问题,如版本不兼容、安装失败等。

经过反复实践和总结,要想 100% 成功安装带有 CUDA GPU 支持的 PyTorch,强烈建议仅采用 PyTorch 官方网站生成的( 或 查找到的 旧版安装命令)进行安装

因为官方命令能够确保 torchtorchvision 和 torchaudio 三个包的版本兼容性,避免因版本冲突导致安装失败或 CUDA GPU 支持无法启用的情况。

下面将详细介绍具体的安装方案。

 二、先决条件

2.1 硬件要求

  • 计算机需配备 NVIDIA GPU,且该 GPU 支持 CUDA。你可以前往 NVIDIA 官方网站 查看具体的 GPU 支持列表。

2.2 软件要求

  • NVIDIA 驱动:安装与你的 GPU 型号和 CUDA 版本兼容的 NVIDIA 驱动。你可以通过在命令行输入 nvidia-smi 查看当前驱动版本和 GPU 信息。
  • CUDA Toolkit:安装适合你系统的 CUDA Toolkit 版本。可从 NVIDIA CUDA 下载页面 获取。安装完成后,使用 nvcc --version 命令验证安装是否成功。
  • cuDNN:从 NVIDIA cuDNN 下载页面 下载与你 CUDA 版本匹配的 cuDNN 库,并按照官方文档进行安装。

2.3 网络要求

确保你的网络连接稳定,能够流畅访问 PyTorch 官方网站和相关下载源。

三、100% 成功方案实操

3.1 访问 PyTorch 官方网站

打开浏览器,在地址栏输入 PyTorch 官方安装页面,进入该页面后,我们将看到一个用于生成安装命令的配置界面。

 

3.2 确定安装需求

3.2.1 项目需求判断
  • 情况一:requirements.txt 未罗列 torch,但项目需要 torch 加速
    若 requirements.txt 文件中没有列出 torch,但项目实际需要 torch 进行 GPU 加速,此时我们需要根据系统的 CUDA 12.8 版本号来选择安装 torch 的版本。
  • 如果我们的 CUDA 12.8 版本支持且我们希望尝试最新特性,可以选择安装最新的 Preview (Nightly) 版;若追求稳定性,建议安装最新的 Stable 版本。

  • 情况二:罗列了 torch 版本,但未罗列关联的 torchvision 和 torchaudio 包
    当 requirements.txt 文件中列出了 torch 的具体版本,却没有列出关联的 torchvision 和 torchaudio 这两个包时,仅安装 torch 是无法实现完整的 CUDA GPU 加速支持的。
  •  我们需要手动修改 requirements.txt 文件的内容,从 PyTorch 官方网站查找出与 requirements.txt 文件中指定的 torch 版本相匹配的 torchvision 和 torchaudio 版本,并添加到 requirements.txt 中。
  • 具体查找方法为:在 PyTorch 官方网站的 Previous PyTorch Versions 页面,找到对应 torch 版本且适配 CUDA 12.8 的安装命令,从中获取 torchvision 和 torchaudio 的版本信息。

  • 情况三:列出了 torch,但未指定版本号,且未列出 torchvision 和 torchaudio 包
    若 requirements.txt 文件列出了 torch,但没有指定其版本号,同时也没有列出 torchvision 和 torchaudio 这两个包,同样需要我们修改 requirements.txt 文件。​​​​​​​
  • 手动添加上 torchvision 和 torchaudio 这两个包,并根据项目需求和系统 CUDA 版本,从 PyTorch 官方网站获取合适的版本信息添加到文件中。

  • 情况四:torchtorchvision 和 torchaudio 三个包都列出,但未指定版本号
    当 requirements.txt 文件中列出了 torchtorchvision 和 torchaudio 三个包,但都没有指定版本号时,默认会安装最新的 PyTorch 版本。
  • 然而,由于没有明确版本号,在安装 requirements.txt 文件中的其他包时,与其相关的依赖有可能会被卸载重装或变更,从而导致版本不兼容问题。
  • 为避免这种情况,最好我们找到 PyTorch 官网适配 CUDA 的最新稳定版的安装命令,提前进行安装或者在其他包安装完成后进行重装。
  • 以下是相关命令示例:
  • 安装命令
  •  使用 conda
conda install pytorch torchvision torchaudio -c pytorch -c nvidia
  • 使用 pip
​
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128

    • 卸载命令
    • 使用 conda
    conda remove pytorch torchvision torchaudio
    • 使用 pip
    pip uninstall torch torchvision torchaudio

    • 清除缓存命令
      • 使用 pip
    pip cache purge
    • 使用 conda
    conda clean --all
    • 安装命令:从 PyTorch 官方网站获取适合我们系统和 CUDA 12.8 版本的安装命令,例如使用 pip 安装 CUDA 12.8 版本的 PyTorch:
    • 稳定版
    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
    • 预览版
    pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128

     

    • 情况五:torchtorchvision 和 torchaudio 三个包都列出且指定了版本号,但版本号不兼容
      当 requirements.txt 文件中 torchtorchvision 和 torchaudio 三个包都已列出并且指定了版本号,但这些版本号之间不兼容时,无法实现完整的 CUDA GPU 支持。此时,我们需要访问 PyTorch 官方网站的 Previous PyTorch Versions(以前的 PyTorch 版本)页面。在该页面中,查找与 requirements.txt 文件中 torch 版本一致且适配 CUDA的安装命令。
    • 根据查找到的命令,对 requirements.txt 文件中的相关包版本信息进行修正,以确保版本兼容性。

    • 情况六:torchtorchvision 和 torchaudio 三个包,只罗列了其中的两个
      当 requirements.txt 文件中只罗列了 torchtorchvision 和 torchaudio 三个包中的其中两个时,无法保证实现完整的 CUDA GPU 支持。这种情况下,我们需要访问 PyTorch 官方网站的安装页面(Start Locally | PyTorch)或以前的 PyTorch 版本页面(Previous PyTorch Versions | PyTorch)。
    • 根据已罗列的包及其版本信息(若有指定版本),以及系统的 CUDA 12.8 版本等条件,查找合适的 PyTorch 安装命令。
    • 然后根据该命令,对 requirements.txt 文件进行补充和修正,添加缺失的包及其对应的版本信息,以确保三个包都能正确安装且版本兼容。

    • 情况七:其他因篇幅有限未举例的情形
    • 当出现其他安装失败的情形时,请优先排查相关组件,然后用PyTorch 官方网站上生成或找到的旧版安装命令重试,可切换不同的CUDA版本命令逐一重试后验证安装。

    3.2.2 配置安装选项
    • PyTorch 版本
      • 若 requirements.txt 文件指定了 torch 版本号,在官方安装页面的 “PyTorch Build” 下拉菜单中,通过滚动查找或手动输入的方式选择对应的版本。
      • 若为新项目,我们选择 “Stable”(稳定版)。
    • 操作系统:根据我们的计算机操作系统,在 “Your OS” 下拉菜单中选择相应选项,如 Windows、Linux 或 macOS。
    • 包管理器:根据我们之前创建虚拟环境所使用的工具,在 “Package” 下拉菜单中选择合适的包管理器。如果我们使用 conda 创建了虚拟环境,选择 conda;若使用 venv 或不打算使用 conda,选择 pip
    • CUDA 版本:我们选择 “CUDA 12.8”。

    3.3 获取安装命令

    完成上述配置后,页面下方会自动生成相应的安装命令。该命令包含了安装 torchtorchvision 和 torchaudio 所需的所有信息,并且确保了这三个包的版本兼容性,以支持 CUDA 12.8 GPU 加速。

    3.4 执行安装命令

    3.4.1 激活虚拟环境

    如果我们创建了虚拟环境,需要先激活它:

    • 使用 conda 创建的虚拟环境:在命令行输入 conda activate <虚拟环境名称>,例如 conda activate pytorch_env
    • 使用 venv 创建的虚拟环境
      • 在 Linux/Mac 系统中,输入 source <虚拟环境路径>/bin/activate,如 source pytorch_env/bin/activate
      • 在 Windows 系统中,输入 <虚拟环境路径>\Scripts\activate,如 pytorch_env\Scripts\activate
    3.4.2 执行安装命令

    将之前从 PyTorch 官方网站获取的安装命令复制到命令行中,并按下回车键执行。安装过程可能需要一些时间,具体取决于我们的网络速度和系统性能。

    3.5 验证安装

    安装完成后,需要我们验证 PyTorch 是否成功安装并支持 CUDA 12.8 GPU。

    • 打开命令行,使用 Python 3.13 解释器,输入 python3.13 进入 Python 解释器。
    • 在 Python 解释器中输入以下代码:
    import torch  # 导入 PyTorch 库print("PyTorch 版本:", torch.__version__)  # 打印 PyTorch 的版本号# 检查 CUDA 是否可用,并设置设备("cuda:0" 或 "cpu")
    device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
    print("设备:", device)  # 打印当前使用的设备
    print("CUDA 可用:", torch.cuda.is_available())  # 打印 CUDA 是否可用
    print("cuDNN 已启用:", torch.backends.cudnn.enabled)  # 打印 cuDNN 是否已启用# 打印 PyTorch 支持的 CUDA 和 cuDNN 版本
    print("支持的 CUDA 版本:", torch.version.cuda)
    print("cuDNN 版本:", torch.backends.cudnn.version())# 创建两个随机张量(默认在 CPU 上)
    x = torch.rand(5, 3)
    y = torch.rand(5, 3)# 将张量移动到指定设备(CPU 或 GPU)
    x = x.to(device)
    y = y.to(device)# 对张量进行逐元素相加
    z = x + y# 打印结果
    print("张量 z 的值:")
    print(z)  # 输出张量 z 的内容

     

    代码输出解释

    • print("PyTorch 版本:", torch.__version__):输出当前安装的 PyTorch 版本号,帮助我们确认所使用的 PyTorch 版本。此处应输出:PyTorch 版本
    • device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") 和 print("设备:", device):检查 CUDA 是否可用。若可用,设备设置为第一个 GPU(cuda:0);若不可用,设置为 CPU。输出当前使用的设备,让我们知道计算将在哪个设备上进行。此处应输出:cuda:0。
    • print("CUDA 可用:", torch.cuda.is_available()):明确输出 CUDA 是否可用,判断系统是否具备 GPU 加速的条件。此处应输出:CUDA 可用
    • print("cuDNN 已启用:", torch.backends.cudnn.enabled):输出 cuDNN 是否已经启用。cuDNN 是 NVIDIA 提供的深度神经网络库,启用后可加速深度学习计算。此处应输出:cuDNN 已启用
    • print("支持的 CUDA 版本:", torch.version.cuda):输出当前 PyTorch 支持的 CUDA 版本,确保 CUDA 版本与 PyTorch 兼容。此处应输出:支持的 CUDA 版本:XX.XX
    • print("cuDNN 版本:", torch.backends.cudnn.version()):输出当前使用的 cuDNN 版本,确认 cuDNN 版本是否符合要求。此处应输出:cuDNN 版本:XXXXX
    • x = torch.rand(5, 3) 和 y = torch.rand(5, 3):创建两个形状为 (5, 3) 的随机张量,这些张量默认在 CPU 上创建。
    • x = x.to(device) 和 y = y.to(device):将创建的随机张量移动到之前确定的设备(CPU 或 GPU)上,保证后续计算在指定设备进行。此处应被移动到设备'cuda:0'
    • z = x + y:对两个张量进行逐元素相加操作,得到结果张量 z
    • print("张量 z 的值:") 和 print(z):输出结果张量 z 的内容,确认张量计算是否正常执行。此处应输出:[*****,device='cuda:0']

    通过以上输出,我们可以全面了解 PyTorch 的安装情况、CUDA 和 cuDNN 的配置情况,以及张量计算是否能在指定设备上正常进行。

    验证PyTorch深度学习环境Torch和CUDA还有cuDNN是否正确配置的命令_验证pytorch和cuda的命令-CSDN博客

    四、PyTorch 的安装方法

    4.1 pip 安装(从 PyTorch 官网命令)

    按照前面步骤从 PyTorch 官方网站获取适合我们系统和 CUDA 12.8 版本的 pip 安装命令,然后在激活的虚拟环境中执行该命令即可完成安装。

    这种方法简单方便,且能保证安装的是官方推荐的版本。

    4.2 conda 安装(从 PyTorch 官网命令)

    同样从 PyTorch 官方网站获取 conda 安装命令,在激活的 conda 虚拟环境中执行该命令。

    conda 可以更好地管理包的依赖关系,适合对环境管理有较高要求的我们。

    4.3 下载包后从本地安装(从镜像源 不推荐)

    我们可以从镜像源下载 torchtorchvision 和 torchaudio 的安装包,然后通过本地安装的方式进行安装。

    但这种方法不推荐,因为镜像源的包可能不是最新版本,且版本兼容性难以保证,容易导致安装失败或 CUDA 12.8 GPU 支持出现问题。

    五、总结

    通过严格按照上述步骤操作,特别是使用 PyTorch 官方网站生成的安装命令,我们能够确保 torchtorchvision 和 torchaudio 三个包的版本兼容性,从而 100% 成功安装带有 CUDA 12.8 GPU 支持的 PyTorch。在安装过程中,要仔细检查每个步骤,根据不同的项目需求准确判断并配置安装选项,确保满足先决条件。同时,优先选择 pip 或 conda 从官方网站获取命令进行安装,避免使用不推荐的本地安装方式。希望这份攻略能够帮助我们顺利搭建起高效的深度学习开发环境。

    文章来源:https://blog.csdn.net/u014451778/article/details/147635780
    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://dhexx.cn/news/show-5508933.html

    相关文章

    晶振:从消费电子到航天领域的时间精度定义者

    从手表到卫星&#xff1a;晶振如何在不同领域定义时间精度 在时间的长河中&#xff0c;人类对时间精度的追求永无止境。从古老的日晷到如今精密的计时仪器&#xff0c;每一次进步都离不开技术的革新。而晶振&#xff0c;作为现代计时的核心元件&#xff0c;在不同领域发挥着至…

    边缘计算:数字世界的”末梢神经系统”解析-优雅草卓伊凡

    边缘计算&#xff1a;数字世界的”末梢神经系统”解析-优雅草卓伊凡 一、边缘计算深度解析 1.1 边缘计算的定义与架构 边缘计算&#xff08;Edge Computing&#xff09;是一种分布式计算范式&#xff0c;它将数据处理能力从传统的集中式云数据中心推向网络边缘&#xff0c;更…

    【使用小皮面板 + WordPress 搭建本地网站教程】

    &#x1f680; 使用小皮面板 WordPress 搭建本地网站教程&#xff08;快速上手&#xff09; 本教程将手把手教你如何使用 小皮面板&#xff08;XAMPP 类似工具&#xff09; 和 WordPress 搭建一个完全本地化的网站环境。适合 初学者 / 博主 / Web开发者 本地练习使用&#xf…

    GPU集群搭建

    1. 硬件规划与采购 GPU 服务器&#xff1a;挑选契合需求的 GPU 服务器&#xff0c;像 NVIDIA DGX 系列就不错&#xff0c;它集成了多个高性能 GPU。网络设备&#xff1a;高速网络设备不可或缺&#xff0c;例如万兆以太网交换机或者 InfiniBand 交换机&#xff0c;以此保证节点…

    TC8:SOMEIP_ETS_021-022

    SOMEIP_ETS_021: echoINT8 目的 检查method方法echoINT8的参数及其顺序能够被顺利地发送和接收 各种数据类型的参数要按照一定的规则编码成字节数据作为SOME/IP有效载荷传输到目标主机。目标主机收到SOME/JIP报文后,再按照相同的规则解码成正确的数据类型的参数。这就是SOME/…

    大连理工大学选修课——机器学习笔记(5):EMK-Means

    EM&K-Means 无监督学习 什么是无监督学习 模型从无标签的数据中自动发现隐藏的模式或结构聚类是最常用的方法 为什么要研究无监督学习 标记样本代价太大分类模式不断变化&#xff0c;标记易过时 数据的分布 参数方法 高斯分布、伯努利分布、多指分布等 非参数方法 局部模…

    【游戏ai】从强化学习开始自学游戏ai-2 使用IPPO自博弈对抗pongv3环境

    文章目录 前言一、环境设计二、动作设计三、状态设计四、神经网路设计五、效果展示其他问题总结 前言 本学期的大作业&#xff0c;要求完成多智能体PPO的乒乓球对抗环境&#xff0c;这里我使用IPPO的方法来实现。 正好之前做过这个单个PPO与pong环境内置的ai对抗的训练&#…

    python实战项目67:空气质量在线检测平台js逆向

    python实战项目67:空气质量在线检测平台js逆向 一、需求介绍二、完整代码一、需求介绍 项目需求是获取某个城市(以北京市为例)历年(2013年12月至2025年4月)的空气质量数据,字段包括日期、AQI、质量等级、PM2.5、PM10、NO2、CO、SO2等。改网站的网址是“https://www.aqis…

    MySQL基础关键_002_DQL

    目 录 一、初始化 二、简单查询 1.部分语法规则 2.查询一个字段 &#xff08;1&#xff09;查询员工编号 &#xff08;2&#xff09;查询员工姓名 3.查询多个字段 &#xff08;1&#xff09;查询员工编号、姓名 &#xff08;2&#xff09;查询部门编号、名称、位置 …

    大连理工大学选修课——机器学习笔记(7):集成学习及随机森林

    集成学习及随机森林 集成学习概述 泛化能力的局限 每种学习模型的能力都有其上限 限制于特定结构受限于训练样本的质量和规模 如何再提高泛化能力&#xff1f; 研究新结构扩大训练规模 提升模型的泛化能力 创造性思路 组合多个学习模型 集成学习 集成学习不是特定的…