解决pytorch报错“RuntimeError: CUDA error: no kernel image is available for execution on the device“

在docker内运行用pytorch实现的yolov5s的目标检测训练模型,出现如下报错:

解决pytorch报错“RuntimeError: CUDA error: no kernel image is available for execution on the device“
1,问题描述:

我的软硬件环境是ubuntu18 + Tesla v100 + cuda10.2 + pytorch1.7 + python3.6.9。

在网上查了好多资料,说是pytorch与cuda版本不匹配,但我肯定不是这个问题,因为这个yolov5s的目标检测训练模型我在另一台显卡为2080Ti的服务器上跑通了,而且在2080Ti的服务器的docker容器内也跑通了。现在的情况是我把这个装有yolov5s目标检测训练模型的docker容器移植部署到另一台显卡为Tesla v100的服务器上(其它环境都一样),然后在新的服务器内的docker里跑这个模型就报上图这些错误了。

2,解决方法

想了半天,没啥头绪,后来突然想到这个模型 中使用了apex包,显卡为v100的服务器docker里面的apex是在原来显卡为2080Ti的服务器上编译的,所以我在显卡为v100的服务器docker里面重新安装编译了apex,然后模型就可以跑通了。

至于具体的更深层次的报错原因我也不清楚,希望有大神解答!

Done!!!

上一篇:ssm问题记录:NoSuchBeanDefinitionException: No qualifying bean of type ‘xxxl‘ available


下一篇:The TensorFlow library wasn‘t compiled to use SSE instructions, but these are available on your mach