我有一个 Pytorch 回归模型如下:
model = nn.Sequential(nn.Linear(n_in, n_h_1),
nn.ReLU(),
nn.Dropout(p=0.1),
nn.Linear(n_h_1, n_h_2),
nn.ReLU(),
nn.Linear(n_h_2, n_out))
如您所见,我使用了一个 Dropout 正则化层,其 dropout 概率为 0.1。训练完成后,我们应该禁用 dropout。这可以使用model.eval(). 参考 这个 StackOverflow 答案(1-p)和其他资源,我们应该在模型推理期间将隐藏层的输出乘以 。
我的问题是:我们是否必须使用 pytorch 手动执行此操作,或者库在应用后自行处理model.eval()?如果我们必须自己做,对于给定的模型,我们如何才能做到这一点?
