深度学习算法训练报错

调试Transformer网络,安装完timm包之后,运行程序时报错CUDA error:no kernel image is available for execution on the device,如图所示:

网上对于该错误说啥的都有,因为这是第一次遇到这个错误,之前训练CNN也正常,排除显卡算力低,不支持高版本CUDA问题。看来看去,这位博主说的有道理: CUDA error: no kernel image is available for execution on the device 报错解决方法

开始检查自己的pytorch相关包的版本,如图所示:

发现问题,我原本torch版本是1.9.1,但是由于安装timm包,torch被重新安装,原版本被覆盖,现在变成1.8.1,所以torch环境被破坏了,包版本之间出现冲突。问题找到了,现在就好办了

解决方案

按1.8.1版本的torch,以及自己的CUDA版本,重新整理环境。首先去 pytorch官网对比对应版本的torchvision和torchaudio,以及cudatoolkit。官网的安装命令直接运行,非常慢,建议下载包至本地,然后安装。
下载链接: torch相关包
安装本地包命令:

pip install 路径+包名

比如,我的CUDA版本是11.1,Python版本是3.7,故下载包:

cu111/torch-1.8.1%2Bcu111-cp37-cp37m-linux_x86_64.whlcu111/torchvision-0.9.1%2Bcu111-cp37-cp37m-linux_x86_64.whl

然后安装即可

pip install /路径/cu111/torch-1.8.1%2Bcu111-cp37-cp37m-linux_x86_64.whl
pip install /路径/cu111/torchvision-0.9.1%2Bcu111-cp37-cp37m-linux_x86_64.whl

完美解决报错

希望本文对大家有帮助,上文若有不妥之处,欢迎指正

分享决定高度,学习拉开差距