解决 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版本的)

解决过程

  1. 然后我对比了conda list和pip list中torch的版本,发现两个list中的torch版本居然不一样,conda list中的torch是1.12.1+cu113是合适的,但是pip lIst中的torch是1.13x不是cuda版本的。

  2. 确定了pytorch的版本不对之后,就可以到Pytorch官网找对应版本进行安装
    https://pytorch.org/get-started/previous-versions/

    一定要选+cuxxx的版本来安装

  3. 安装完之后可以在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上设置