问题描述:
复现Shi等人的工作时,手动修复FileNotFound错误后定位到RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED。
可以确定此错误由显卡算力、cuda、torch三部分的不匹配问题导致。
其他问题可能有:python版本、训练参数要求的显卡算力过大等,但出现可能性很低。
注意到,如果错误是由于显卡不足的简单问题导致的,修改batch_size可以解决问题,但会影响模型的梯度,故尝试不修改。
解决:
检查显卡、cuda、torch是否匹配:
显卡决定cuda版本(图1、2)---> cuda决定torch版本(图3)。
例:NVIDIA RTX 3090->算力8.6->cuda 11.0->torch 1.7.0/1.7.1
当上述版本链确保正确的情况下仍不能正常训练,尝试修改Python版本;
修改Python版本仍不能解决问题,则修改batch_size等参数。一般情况下工作中给出的训练参数一定会有对应的正确python环境。
查看cuda、torch版本:
import torch
print(torch.__version__)
print(torch.version.cuda)
图1 查找显卡算力
图2 显卡算力与cuda版本
图3 cuda版本与torch版本