使用Pytorch训练,报错Runtime Error: cudnn RNN backward can only be called in training mode


直接原因:第一个Epoch训练正常,第一次切换至Eval并进行测试正常,第二个Epochs训练时报错

根本原因:默认Model的模式是

net.train()

但是测试时需要调成

net.eval()

因为再次训练时没调回 train 模式,故出现上述 bug, 只需在训练之前加上

net.train()

即可解决

相关