最近在矩池云的的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 更准确。
文章出处登录后可见!
已经登录?立即刷新