【torch报错】RuntimeError: CUDA error: no kernel image is available for execution on torch解决方案

在机器上直接用pip安装pytorch-gpu版本,很有可能出现torch的cuda toolkit和设备不兼容的问题。即, torch.cuda.is_available()显示为 true,tensor也可以正常move到gpu上,但是无法进行运算,显示如下报错:

RuntimeError: CUDA error: no kernel image is available for execution on the device

Q: 如何知道自己安装的gpu版pytorch能否正常使用?

A: 参见博客:验证pytorch是否为GPU版本

解决的办法有两种:

1. 升级torch的cuda支持

由于直接使用pip安装的时候,cuda toolkit并不是默认最新的;所以,我们需要安装支持更高版本cuda tookit的pytorch。

  • 如果你在国外,或者你有proxy:

直接去torch官网,按照提示下载高版本cuda toolkit的torch (目前,截止09/06/2022,pytorch已经将支持最新cuda 11.6的torch版本,更新至1.12.1。即,torch stable==1.12.1,如下图所示)

【torch报错】RuntimeError: CUDA error: no kernel image is available for execution on torch解决方案

; 2. 安装多cuda支持

一般而言,一台设备的显卡驱动,应该只支持一个cuda版本;但实际上,我们也可以实现一台机器上,兼容多个cuda toolkit。

具体参考笔者另一篇博客:同台设备配置多cuda环境

或者参考其他博客:

当然,经过笔者试验,这种方法存在一定的风险 (i.e., 很容易错误地更新cuda toolkit,导致前功尽弃;甚至迫不得已重装显卡驱动)。而且,很多过去的博客,都是在cuda 10.x和cuda 9.x上进行操作,目前还没有很多有关于cuda 11.x上进行操作的成功样例 (笔者也曾失败数次)。所以,并不是非常推荐这种操作。

参考:

Original: https://blog.csdn.net/weixin_43301333/article/details/126737352
Author: Reza.
Title: 【torch报错】RuntimeError: CUDA error: no kernel image is available for execution on torch解决方案

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/690918/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球