深度学习算法训练报错
调试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
完美解决报错
希望本文对大家有帮助,上文若有不妥之处,欢迎指正
分享决定高度,学习拉开差距