UserWarning:NVIDIA GeForce RTX 3060 Laptop GPU with CUD.......warnings.warn(incompatible_device_warn

问题描述

调试环境时,报 UserWarning:NVIDIA GeForce RTX 3060 Laptop GPU with CUD 的错误,如下图所示:

在这里插入图片描述

问题分析与解决

从报错可以看出是 3060 的显卡和当前的 cuda 版本不适配。
因此打算换cuda的版本(我真是玛卡巴卡,老是有这种项目和cuda版本不适配的问题)。
我的显卡是 3060,cuda版本是 cuda11.5,项目 pytorch 版本是 pytorch1.8.1,经过查找资料在一个评论区看到说是 cuda11.1 与pytorch1.8.1适配,于是开始卸载重装cuda,将pytorch 11.5降到11.1。
经过一通漫长的操作,总算是将cuda版本给降到了11.1。
在这里插入图片描述
集体卸载与重装cuda的方法可以参考 参考资料[1][2],很详细,这里就不多赘述了。
于是,小胡怀着激动的心情,再次运行项目。
嘿,您猜怎么着,还是报同样的错误,我真是想死!


于是乎转换思路,是不是 pytorch 的问题,于是在 conda 环境里查了下,如下图所示:
在这里插入图片描述

可以看到是基于cuda10.2 的,我真是再次玛卡巴卡,于是想把cuda版本再降到10.2,不但又经历一次更换版本的过程,还会对其他用 cuda11 的项目造成影响。(当然可以管理多个cuda版本切换,但是比较占用存储空间。)
突然又想到,既然已经装了 cuda11.1,能不能换一个与 pytorch1.8.1 相近的,使用 cuda11.1 的版本呢?
于是去到 pytorch官网 ,点 install previous versions of PyTorch ,
在这里插入图片描述
看到pytorch1.8.0版本是用的cuda11.1版本:
在这里插入图片描述
好,开干,换pytorch版本:
在conda环境中卸载原先的 pytorch:

pip uninstall pytorch

卸载完后,按照官网的命令重新安装pytorch:

conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge

重新安装后,小胡又一次运行了项目,嘿,这次成了,项目正常运行,没有报错!
嘿嘿嘿!折腾了半天多时间,终于修好了。对于环境的问题已经无力吐槽了,每次都想死!

总结

遇到这种 cuda版本的问题,可以考虑从两个方向去尝试:

  1. 更换与 pytorch 版本相匹配的cuda,这个代价比较大;
  2. 更换与 cuda 版本相匹配,并且与项目所用 pytorch 相近的 pytorch 版本,这个代价没那么大,但是有可能版本不适用于项目。

总之,每次遇到环境问题都想死,但是还是要解决的不是吗?焯了!

参考资料

[1] https://blog.csdn.net/Zinnir/article/details/122766367
[2] https://zhuanlan.zhihu.com/p/416712347

猜你喜欢

转载自blog.csdn.net/hshudoudou/article/details/127400860