2021/1/31更新:
根据 PyTorch官方文档 ,在有的cuDNN和CUDA版本中LSTM是有问题的,修复方式如下:
There are known non-determinism issues for RNN functions on some versions of cuDNN and CUDA. You can enforce deterministic behavior by setting the following environment variables:
On CUDA 10.1, set environment variableCUDA_LAUNCH_BLOCKING=1
. This may affect performance.
On CUDA 10.2 or later, set environment variable (note the leading colon symbol)CUBLAS_WORKSPACE_CONFIG=:16:8
or
CUBLAS_WORKSPACE_CONFIG=:4096:2
.
See the cuDNN 8 Release Notes for more information.
2020/11/06更新:
禁用cudnn有可能可以解决这个问题,但是会减慢运行速度:
torch.backends.cudnn.enabled = False