0

有时我们可能希望在验证(即在训练期间对开发集进行验证)和最终评估期间出现一些细微的不同行为。我不确定是否有一种简单的方法来通知我们的模型是由train命令还是evaluate命令调用。现在我能做的只是用来self.training将它们与训练区分开来,但是验证和评估都有self.training == False,这使我无法区分它们。我的意思是,如果它是我自己的 pytorch 框架,那非常容易做到,因为我可以编写自己的训练和评估方法,但在 AllenNLP 中,它们都是我不想修改的框架代码的一部分。有没有简单的方法来做到这一点?

4

1 回答 1

0

您可以尝试覆盖您Modelfrom_archive()方法来设置标志,例如self._training = False.

于 2020-10-09T01:37:53.567 回答