有没有办法区分AllenNLP中的验证和评估?

问题描述

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

解决方法

您可以尝试覆盖Model的{​​{1}}方法来设置标志,例如from_archive()

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...