使用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()
即可解决
直接原因:第一个Epoch训练正常,第一次切换至Eval并进行测试正常,第二个Epochs训练时报错
根本原因:默认Model的模式是
net.train()
但是测试时需要调成
net.eval()
因为再次训练时没调回 train 模式,故出现上述 bug, 只需在训练之前加上
net.train()
即可解决