如何在训练期间在验证数据上测试我的 pytorch 模型?我知道有一个函数myNet.eval()可以明显地切换任何 dropout 层,但它是否也阻止了梯度的累积?
另外,我将如何撤消myNet.eval()命令以继续进行培训?
如果有人有一些代码片段/玩具示例,我将不胜感激!
如何在训练期间根据验证数据测试我的 pytorch 模型?
有很多例子表明训练期间每个时期都有训练和测试步骤。一个简单的示例是MNIST 官方示例。由于 pytorch 不提供任何高级培训、验证或评分框架,您必须自己编写。通常这包括
torch.utils.dataloader.Dataloader)train()使用训练数据来优化模型的函数test()或valid()函数来衡量给定验证数据和指标的模型的有效性您也会在链接的示例中找到这一点。
或者,您可以使用提供基本循环和验证工具的框架,这样您就不必一直自己实现所有内容。
另外,我将如何撤消
myNet.eval()命令以继续训练?
myNet.train()或者,提供一个布尔值以在评估和训练之间切换:myNet.train(True)用于训练模式。
| 归档时间: |
|
| 查看次数: |
4755 次 |
| 最近记录: |