model.train() :
启用 BatchNormalization 和 Dropout
model.eval() :
禁止 BatchNormalization 和 Dropout
训练完 train 样本之后,使用训练好的模型验证 test 样本,需要在代码之前加上model.eval(),否则只要输入数据,即使不训练,模型也会改变权值。加上model.eval()时,框架会自动把BN(BatchNorm)和DropOut固定住,不会取平均,而是用训练好的值。
model.train() :
启用 BatchNormalization 和 Dropout
model.eval() :
禁止 BatchNormalization 和 Dropout
训练完 train 样本之后,使用训练好的模型验证 test 样本,需要在代码之前加上model.eval(),否则只要输入数据,即使不训练,模型也会改变权值。加上model.eval()时,框架会自动把BN(BatchNorm)和DropOut固定住,不会取平均,而是用训练好的值。