解决 AssertionError Torch not compiled with CUDA enabled
Posted 华幽子丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决 AssertionError Torch not compiled with CUDA enabled相关的知识,希望对你有一定的参考价值。
最近在矩池云的的Tesla K80机子上跑MMYOLO,跟着MMYOLO官方文档《自定义数据集 标注+训练+测试+部署 全流程 》操作到 “2.1.1 软件或者算法辅助”时,利用预训练模型+官方脚本去辅助标注时,一按下回车就报错:
报错信息
AssertionError Torch not compiled with CUDA enabled
报错信息分析
- 说的是torch编译的时候CUDA不可用
但是服务器已经预装有pytorch和cuda了,我分别用
nvidia-smi
和
nvcc -V
都可以查到CUDA的版本
本机配置如下:
但是我在ipython中查看
torch.cuda.is_available()
返回结果是false,
报错原因
- 所用环境中所装的pytorch版本与CUDA版本不匹配
- 或者pytorch完全就是GPU版的(而我们需要GPU版本的)
解决过程
-
然后我对比了conda list和pip list中torch的版本,发现两个list中的torch版本居然不一样,conda list中的torch是1.12.1+cu113是合适的,但是pip lIst中的torch是1.13x不是cuda版本的。
-
确定了pytorch的版本不对之后,就可以到Pytorch官网找对应版本进行安装
https://pytorch.org/get-started/previous-versions/
一定要选+cuxxx的版本来安装 -
安装完之后可以在ipython中用
torch.cuda.is_available()
验证一下,如果是True,就说明问题解决了
- pip list与conda list的区别:pip list显示的只是当前环境中的包,而conda list显示的是当前环境与关联环境中的包,所以看当前环境具体有什么包还是得通过pip list 更准确。
AssertionError: Torch not compiled with CUDA enabled
在用pycharm跑深度学习的一段代码时出现了这样的错误。
原因是cpu代码不能跑gpu的程序,解决办法如下:
在代码前加入
`device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
`再把代码中的
.cuda()
替换成
.to(device)
以上是关于解决 AssertionError Torch not compiled with CUDA enabled的主要内容,如果未能解决你的问题,请参考以下文章
解决 AssertionError Torch not compiled with CUDA enabled
AssertionError: Torch not compiled with CUDA enabled
AssertionError:Torch 未在启用 CUDA 的情况下编译
Torch not compiled with CUDA enabled
Torch not compiled with CUDA enabled
如何解决AssertionError:.accepted_renderer未在django和ajax中的Response上设置