最近再用LSTM訓練模型,有時候epoch進行幾次后總會出現RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED,心態都快崩了。記錄一下自己踩過的坑吧,上網查了一下這個報錯,大家說法不一,有人說是因為pytorch和cuda版本不對應,得重新裝一下,這個方法對我來說不適用。先去pytorch官網查了CUDNN,再去論壇逛了一圈,終於有點眉目鳥。
官網上的介紹,簡單來說cudnn是cuda的一個工具,專門用於加速深度網絡。當然不用cudnn也可以,cuda也可以用其他工具加速,但是效果肯定沒這么好。
在國內網站查了半天,也沒找到解決報錯的方法。訓練RNN模型很容易出現這個bug,在這個網站,我找到了適合我的方法https://discuss.pytorch.org/t/cuda-error-runtimeerror-cudnn-status-execution-failed/17625
方法1:
方法2:加指令 torch.backends.cudnn.enabled=False,但是運行速度會變得很慢