torch model.eval()

2021-06-07  本文已影响0人  三方斜阳

1. model.train()

作用:启用 Batch Normalization 和 Dropout,如果模型中有BN层(Batch Normalization)和Dropout,需要在训练时添加model.train()。model.train()是保证BN层能够用到每一批数据的均值和方差。对于Dropout,model.train()是随机取一部分网络连接来训练更新参数。

2. model.eval()

作用:不启用 Batch Normalization 和 Dropout,如果模型中有BN层(Batch Normalization)和Dropout,在测试时添加model.eval()。model.eval()是保证BN层能够用全部训练数据的均值和方差,即测试过程中要保证BN层的均值和方差不变。对于Dropout,model.eval()是利用到了所有网络连接,即不进行随机舍弃神经元。

3. with torch.no_grad():

上一篇 下一篇

猜你喜欢

热点阅读