解决 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的版本
本机配置如下:解决 AssertionError Torch not compiled with CUDA enabled_第1张图片
但是我在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 更准确。

你可能感兴趣的:(MMYOLO学习,pytorch,深度学习,python)