model.train()
启用 BatchNormalization 和 Dropout
model.eval()
不启用 BatchNormalization 和 Dropout
训练完train样本后,生成的模型model要用来测试样本。在model(test)之前,需要加上model.eval(),否则的话,有输入数据,即使不训练,它也会改变权值。这是model中含有batch normalization层和Dropout所带来的的性质。
在做one classification的时候,训练集和测试集的样本分布是不一样的,尤其需要注意这一点
————————————————
版权声明:本文为CSDN博主「Hinton-wu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38410428/article/details/101102075