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

【踩坑记录】PyTorch 被误装 CPU 版本导致 CUDA 丢失的解决办法(Windows + Anaconda)

【踩坑记录】PyTorch 被误装 CPU 版本导致 CUDA 丢失的解决办法(Windows + Anaconda)

💡 背景:
在用 pip install pytorch-lightning 的时候,不小心让 pip 给我装上了 torch 2.8.0+cpu,结果原来能用的 GPU 版 PyTorch 全没了,torch.version.cuda 直接变成 None
好在排查后找到了完整的解决方法,这里整理成一篇笔记,防止大家再踩坑。


1. 问题表现

在 Python 里运行:

import torch
print(torch.__version__)
print(torch.version.cuda)
print(torch.cuda.is_available())

输出结果是:

2.8.0+cpu
None
False

这就说明 装成了 CPU 版本,完全不能调用显卡。


2. 检查 CUDA 驱动版本

命令行 / Anaconda Prompt 输入:

nvidia-smi

输出类似:

NVIDIA-SMI 560.94    Driver Version: 560.94    CUDA Version: 12.6

这里可以看到我本机的驱动支持 CUDA 12.6
但是 PyTorch 官方目前最高只提供到 cu121 (CUDA 12.1) 的预编译包,幸好 CUDA 驱动是向下兼容的,所以装 cu121 就能正常使用。


3. 卸载错误的 torch

先把 CPU 版 torch 卸掉:

pip uninstall -y torch torchvision torchaudio

4. 安装对应 CUDA 版本的 PyTorch

根据官方推荐,安装 torch 2.3.1 + cu121 版本:

pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 ^--index-url https://download.pytorch.org/whl/cu121

⚠️ 注意:

  • 一定要带 --index-url https://download.pytorch.org/whl/cu121
    否则默认会装 CPU 版本

5. 安装 PyTorch Lightning(可选)

因为我的项目代码是基于旧版 Lightning 写的,所以我安装了兼容性最好的 1.9.5 版本:

pip install pytorch-lightning==1.9.5 -i https://pypi.tuna.tsinghua.edu.cn/simple

如果你是新项目,可以考虑 Lightning 2.x,但是要注意 API 改动。


6. 验证安装

在 Python 里执行:

import torch
print("Torch:", torch.__version__)
print("CUDA Version (compiled):", torch.version.cuda)
print("CUDA available:", torch.cuda.is_available())

输出结果应该类似:

Torch: 2.3.1+cu121
CUDA Version (compiled): 12.1
CUDA available: True

这样就说明 GPU 环境恢复正常了 ✅。


7. 总结

  • 安装 PyTorch Lightning 时,可能会自动拉取最新 CPU 版 torch,把原来的 GPU 版顶掉。
  • 正确做法是 先卸载错误的 torch,再手动指定 CUDA 对应的版本
  • 记住:驱动 CUDA 版本 ≥ PyTorch 对应 CUDA 版本,即可正常运行。

8. 附:requirements.txt 示例

如果以后要复现环境,可以保存一个最小依赖文件:

torch==2.3.1+cu121
torchvision==0.18.1
torchaudio==2.3.1
pytorch-lightning==1.9.5

安装方法:

pip install -r requirements.txt --index-url https://download.pytorch.org/whl/cu121

✍️ 写在最后
这是我最近在做深度学习项目时遇到的一个大坑,差点以为显卡驱动坏了。其实就是 pip 默认装了 CPU 版本。
分享给大家,也希望能帮到同样在科研道路上踩坑的小伙伴!

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

相关文章:

  • 5个问题,帮你选择合适的API测试工具
  • 唐山做网站公司费用郑州做网站哪家好熊掌号
  • 为什么齐次线性方程组的系数行列式为零时有非零解?
  • Cursor Agent模式下面在指定的conda虚拟环境中执行python脚本
  • 福州网站建设加推广怎样把网站打包做百度小程序
  • 元宇宙的工业应用:数字工厂与智能制造
  • C语言程序设计笔记—printf的使用
  • 【UE5】使用虚幻引擎编辑器创建游戏
  • Nginx 部署及配置
  • 服务器建设一个自己的网站奖券世界推广网站
  • 网络编程套接字之UDP
  • 亚马逊做网站发礼物换评价动漫制作专业能选择什么职业
  • 阿里云推出全球首个全模态AI模型Qwen3-Omni,实现文本、图像、音视频端到端处理
  • git介绍
  • ELK 企业级日志分析系统实战指南
  • 可以做网站首页的图片素材上海网站优化推广
  • Node.js 性能优化:实用技巧与实战指南
  • 优化网站做内链接wordpress设置图片切换时间
  • docker 常用命令(包含:镜像、容器、网路)
  • LLJIT执行引擎:ExecutionSession与JITDylib详解
  • 小九源码-springboot038-基于springboot的中医院问诊系统
  • 【linux内核驱动day01】
  • 网站开发人员趋势外贸网站和内贸
  • 2025最新超详细FreeRTOS入门教程:第二十四章 FreeRTOS与低功耗设计
  • 如何做有效的Bug管理?
  • Metal - 4.深入剖析顶点函数(Vertex Function)
  • 收费网站开发百度关键词优化策略
  • 营销型企业网站群策略网站建设维护与推广
  • 【JNA】JAVA使用JNA调用C++ dll文件(2)JNA 对接代理DLL
  • 新网 主办网站已备案建站系统做网站