pytorch bug: Unable to find a valid cuDNN algorithm to run convolution
·
正常可运行的代码,突然出现bug:
File "D:\ProgramFiles\Anaconda\lib\site-packages\torch\tensor.py", line 221, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph)
File "D:\ProgramFiles\Anaconda\lib\site-packages\torch\autograd\__init__.py", line 130, in backward
Variable._execution_engine.run_backward(
RuntimeError: Unable to find a valid cuDNN algorithm to run convolution
上网搜了一下,CSDN有博客的评论中说batch_size
太大了,改小一点就好了。然而,暂时性解决了问题,已经改小的batch_size
在实验多次训练时,出现了同样的问题。
解决方法:
在代码前加上torch.backends.cudnn.enabled = False
。
print(torch.version.cuda)
print(torch.backends.cudnn.version())
根据所使用的设备、cudnn 版本以及卷积参数,如果无法从 cudnn 中找到有效算法(而不是CUDNN_NOT_SUPPORTED错误或类似错误),您现在可能会看到此错误。
你在用torch.backends.cudnn.benchmark = True吗?
如果没有,您可以尝试激活它以使用 cudnn 启发式并可能查询更多算法。
如果没有帮助,你就必须通过经禁用cudnn回落到本地实现:torch.backends.cudnn.enabled = False。
详情点这里:https://discuss.pytorch.org/t/unable-to-find-a-valid-cudnn-algorithm-to-run-convolution/78724
更多推荐
已为社区贡献1条内容
所有评论(0)