RNN模型的反向传播只能在Train模式下进行。
在train训练过程中,设置了model.train()
中途转入evaluate过程时,设置为model,eval()模式。
当evaluate过程进行完毕进入train过程,模型仍保持在model.eval() 是不能够执行反向传播的。(应该是loss.backward)
所以要在返回train过程后,设置model.train().
参考:https://blog.csdn.net/dongwanli666/article/details/103072635
dev_acc,dev_loss = evaluate(config,model,dev_iter)
model.train()