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