model.eval()和model.train()
使用PyTorch
进行深度学习建模的过程中,需要在训练和评估两种模式间切换。训练模式对应了模型的学习阶段,评估模式则是为了检验模型的性能。在PyTorch
中,我们通过调用model.train()
和model.eval()
来实现这种切换。这两个方法的使用至关重要,因为它们会影响到某些层的运作方式,例如Dropout
和BatchNorm
。
模式 |
前向传播 |
反向传播 |
参数更新 |
Dropout 层行为 |
BatchNorm 层行为 |
训练模式(Training Mode) |
是 |
是 |
是 |
随机将一部 |