gpt4 book ai didi

python - model.eval() 在 pytorch 中做什么?

转载 作者:行者123 更新时间:2023-11-30 08:51:17 25 4
gpt4 key购买 nike

什么时候应该使用.eval()?我知道它应该让我“评估我的模型”。如何在训练时将其关闭?

培训示例 code使用.eval()

最佳答案

model.eval() 是模型的某些特定层/部分的一种开关,这些特定层/部分在训练和推理(评估)期间表现不同。例如,Dropouts Layers、BatchNorm Layers 等。您需要在模型评估期间关闭它们,.eval() 将为您完成此操作。此外,评估/验证的常见做法是结合使用 torch.no_grad()model.eval() 来关闭梯度计算:

# evaluate model:
model.eval()

with torch.no_grad():
...
out_data = model(data)
...

但是,不要忘记在评估步骤后返回到训练模式:

# training step
...
model.train()
...

关于python - model.eval() 在 pytorch 中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60018578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com