当前位置: 首页 > news >正文

解决低版本CUDA与PyTorch之间的兼容性问题

一.查看CUDA驱动版本

nvidia-smi.exe 通常位于 C:\Windows\System32 目录下。这个目录默认就在系统路径中,如果普通路径无法识别该命令,就去C:\Windows\System32路径,这里以下面这个截图举例说明。

在pytorch集成环境中执行,torch.cuda.is_available()返回为fasle。

nvidia-smi 输出信息中,我们可以非常清晰地定位到问题所在。

核心问题:该驱动和CUDA版本太旧了。

  • 驱动程序版本: 419.72 (发布于2019年左右)

  • 最高支持的CUDA版本: 10.1 (也是一个非常古老的版本)

而目前主流的 PyTorch 版本需要 CUDA 11.8CUDA 12.1。您的环境完全不兼容,因此 torch.cuda.is_available() 会返回 False

上面显示显卡 GeForce MX250 是支持更新版本的驱动和CUDA的。

二.通过NVIDIA App 自动更新(推荐)

这是最省心、推荐大多数用户使用的方法。NVIDIA App(GeForce Experience已被NVIDIA App取代) 专为 NVIDIA 显卡设计,能自动匹配并提供最适合你显卡和系统的最新驱动。

  1. 确保已安装 NVIDIA App:如果你尚未安装,可以从 NVIDIA 官网 下载并安装。

  2. 打开并登录:启动 NVIDIA App,并使用你的 NVIDIA 账户登录(如果没有,需要先注册一个),也可以不用登陆。

  3. 检查更新

    • 点击左上角的 驱动程序 选项卡。

    • 软件会自动检测你的显卡型号和当前驱动版本。

    • 如果发现有新的驱动可用(例如 5xx.xx 版本),它会显示 下载 按钮。

  4. 选择安装方式

    • 快速安装:一键式安装,所有选项均采用默认设置,适合大多数用户。

    • 自定义安装:你可以选择执行清洁安装(这相当于在安装新驱动前先卸载旧驱动,有助于减少冲突,但比重装系统轻量很多)1。

  5. 完成安装:点击安装后,按照屏幕提示操作即可。安装完成后通常需要重启电脑

💡 提示:使用 NVIDIA App或官网下载时,如果遇到网络不稳定、下载速度慢或中断的情况,可以尝试使用网络加速器(如 UU 加速器)来优化连接,提升下载体验

三.安装兼容的PyTorch版本

已经成功将NVIDIA驱动程序更新到了581.15,并且 nvidia-smi 显示的CUDA版本也更新到了13.0,这是一个很大的进展!不过 torch.cuda.is_available() 返回 False 的问题通常与PyTorch和CUDA版本之间的兼容性有关。

卸载与安装

pip方式(cmd终端)

pip uninstall torch torchvision torchaudio
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu130

conda方式(打开 Anaconda Prompt)

conda activate 你的环境
conda remove pytorch 
conda remove torchvision
conda remove  torchaudio 
conda remove  cudatoolkit
conda remove pytorch-cuda
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.8 -c pytorch -c nvidia

四.验证

PyTorch集成环境run如下代码。

import torch
print(torch.__version__)  # 查看 PyTorch 版本
print(torch.version.cuda) # 查看 PyTorch 构建时使用的 CUDA 版本
print(torch.cuda.is_available())  # 最终目标:输出 True
# 如果输出 True,可以继续查看显卡信息
print(torch.cuda.get_device_name(0)) # 应输出 'NVIDIA GeForce MX250'

http://www.dtcms.com/a/358627.html

相关文章:

  • Android FrameWork - 开机启动 SystemServer 进程
  • Preprocessing Model in MPC 3 - 基于同态加密的协议 - Over Rings 环
  • Linux系统编程--进程控制
  • 飞帆fvi.cn拖放配置实现卡片布局
  • GJB 11664-2024《装备数字样机通用要求》概述
  • 数字签名 digital signature
  • 第三十一天:数列求和取模
  • 达梦数据库-报错-03-viosocket_peer_addr getpeername error: 107
  • USB4 vs USB3.0:一场接口技术的革命性飞跃
  • 软件IIC与硬件IIC的区别
  • Visual Studio内置环境变量有哪些
  • 毕业项目推荐:47-基于yolov8/yolov5/yolo11的焊缝质量检测识别系统(Python+卷积神经网络)
  • 2025年- H102-Lc210--3658.奇数和与偶数和的最大公约数(gcd最大公约数)--Java版
  • OpenCV 轮廓分析实战:从检测到形状匹配的完整指南
  • 图像结构化拆分与格式标准化方案
  • 复现 RoboDK 机械臂几何校准(Staubli TX2‑90L / TX200)
  • 基于轴重转移补偿和多轴协调的粘着控制方法研究
  • 基于STM32单片机的OneNet物联网云平台农业土壤湿度控制系统
  • 【lua】模块基础及应用
  • 无网络安装来自 GitHub 的 Python 包
  • DETR:用Transformer革新目标检测的新范式
  • REST-assured 接口测试编写指南
  • 平衡树的左旋
  • 在 WSL2-NVIDIA-Workbench 中安装Anaconda、CUDA 13.0、cuDNN 9.12 及 PyTorch(含完整环境验证)
  • 第二十六天-ADC基本原理
  • 学习大模型,还有必要学习机器学习,深度学习和数学吗
  • 苍穹外卖项目笔记day02
  • 嵌入式学习笔记--LINUX系统编程--DAY03进程控制
  • 在 .NET Core 中实现基于策略和基于角色的授权
  • 【系列10】端侧AI:构建与部署高效的本地化AI模型 第9章:移动端部署实战 - iOS