解决AssertionError: Torch not compiled with CUDA enabled踩坑记录
因为当时pip安装不上,我在anaconda prompt用conda命令安装,conda安装的是2.5.1版本的,而且我运行了conda list,确认我的虚拟环境正确安装了2.5.1、cuda版本的pytorch。我用pip经常不成功,就用conda的命令下(不过conda下的版本太老了,可能会有和其他包版本不匹配的问题,越搞越麻烦,还是用pip比较好)。但是接下来发生了一件更诡异的事,我把p
这个问题出现在要用到GPU训练模型时,解决这个问题需要下载CUDA,还有对应版本的pytorch。注意一定要下对版本,因为还有可能下成cpu版本的。
下载CUDA就不赘述了,大把帖子教,基本没啥问题。
重头戏是下pytorch。
https://pytorch.org/get-started/previous-versions/在这里找对应CUDA版本的pytorch,复制命令下载就好了。我用pip经常不成功,就用conda的命令下(不过conda下的版本太老了,可能会有和其他包版本不匹配的问题,越搞越麻烦,还是用pip比较好)。
这里是第一个坑,不要用清华源镜像,会下成cpu版本的。我一开始嫌pip太慢还老失败就把官方指令-i后面改成清华源了
pip install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
结果就下成cpu版本的了。
改用conda命令下成功了以后,检验一下
import torch
print(torch.__version__) # PyTorch 版本
print(torch.version.cuda) # CUDA 版本
print(torch.cuda.is_available())
大部分人到这一步已经成功解决了,但是我用的是jupyter notebook,还是没有解决,打印出来这样的结果

这很诡异!因为当时pip安装不上,我在anaconda prompt用conda命令安装,conda安装的是2.5.1版本的,而且我运行了conda list,确认我的虚拟环境正确安装了2.5.1、cuda版本的pytorch。我当时还以为是因为我重装pytorch之前没有删除2.7.0版本的(我一开始的版本是2.7.0),然后两个版本冲突导致有问题。所以这里有第二个教训,装新版本的torch之前建议先把旧的删了。
但是接下来发生了一件更诡异的事,我把pytorch给删了,再运行上面的检验代码,居然还能打印出来上面的结果!这太阴了
然后deepseek老师推荐我用下面的代码检查一下是不是在正确的环境
import sys
print(sys.executable) # 显示当前 Python 解释器路径
print(torch.__file__) # 显示 torch 的实际安装位置
打印出来的路径果然不对,但是我的jupyter确实是显示在正确的环境和内核下呀!

这真的很诡异,然后我在cmd进入虚拟环境运行conda list,发现我之前安装好的ipykernel内核不见了?!
最后重新注册内核,然后重新用官方的命令下对应版本的pytorch,终于解决了,检查路径正确!pytorch版本正确!也不报错了!

所以第三个教训就是,一定要检查是不是在正确的环境下操作!
结语:
1.有官方用官方,不要贪快就改清华源!
2.装新的前先把旧的删了!
3.检查环境!
4.jupyter notebook使用感受:我是深度学习初学者,用这个纯属是因为感觉它可以分步操作,可以方便我纠正错误。但是缺点是不能直接打开终端,运行pip命令的时候还老是卡壳,搞得我在多个cmd之间跳跃。还有一个缺点就是配置环境太麻烦了,尤其是在经历了自动变环境和内核消失的背刺后!
希望编者“血的教训”可以帮助到大家。
更多推荐
所有评论(0)