问题描述

跳Error:RuntimeError: CuDA error: no kernel image is available for execution on the device

大概率是cuda和torch版本不匹配。

解决方法

运行下列代码测试一下:

import torch
import numpy as np

# 检查torch是否正常
def test4torch():
    data = np.array([1,2,3])
    data = torch.tensor(data)
    device = torch.device('cuda:0')
    data = data.to(device)
    print(data)
    
# 检查cuda是否正常
def test4cuda():
    print(f"torch.version.cuda: {torch.version.cuda}")
    print(f"torch.__version__: {torch.__version__}")
    print(f"torch.backends.cudnn.version(): {torch.backends.cudnn.version()}")
    print(f"torch.cuda.is_available(): {torch.cuda.is_available()}")

def main():
    test4cuda()
    test4torch()
    print("\nDone.")
    
if __name__ == "__main__":
    main() 

一步一步排查,如果都能正常运行就OK了。还可以自行去pytorch的官网检查自己的版本是否合适。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐