这个问题出现在要用到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之间跳跃。还有一个缺点就是配置环境太麻烦了,尤其是在经历了自动变环境和内核消失的背刺后!

希望编者“血的教训”可以帮助到大家。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐