【问题标题】:Is there any other validation metrics for trainer?培训师还有其他验证指标吗?
【发布时间】:2020-10-27 03:36:21
【问题描述】:

我使用 seq2seq 模型,它可以计算每个 epoch 的 BLEU 分数(一个 NMT 分数)。但是,我不能将 BLEU 分数设置为验证指标,因此它不能提前停止训练。我阅读了源代码,但是除了“+loss”之外,没有任何关于可以将哪种字符串添加到验证指标中的提示。请救救我,谢谢!

【问题讨论】:

  • 我尝试了“+bleu”,但没有记录可用的指标 str 就失败了。

标签: allennlp


【解决方案1】:

默认的validation_metric 实际上是"-loss",而不是"+loss"。 “-”表示这是一个应该最小化而不是最大化的指标。

所以要改用 BLEU 分数,请将 validation_metric 设置为 "+BLEU"

通常,您可以使用模型的 .get_metric() 方法返回的任何指标。您用于validation_metric 的指标名称只需与.get_metric() 返回的字典中的相应键匹配即可。

在您的情况下,您的模型的 .get_metric() 方法可能返回如下内容:{"BLEU": ...},这就是为什么应该将 validation_metric 设置为 "+BLEU"

【讨论】:

  • 非常感谢!它解决了我的问题!由于我的问题是为什么使用“BLEU”而不是“bleu”(即 str 与特定度量的关系),我对文档有两个建议:如果对参数“验证度量”进行评论会更好,或记录“validation_metric”的可用指标。这对像我这样的新手非常有帮助,因为我通过阅读源代码两个小时来阅读和搜索可用的“metric str”但失败了:)
  • @qiuyuan,你有兴趣做一个 PR 来改进这方面的文档吗?
  • 当然,我最近会尝试添加一些补充文档:)
猜你喜欢
  • 2021-08-10
  • 2021-11-28
  • 2017-08-18
  • 1970-01-01
  • 2021-02-18
  • 1970-01-01
  • 1970-01-01
  • 2018-02-15
  • 1970-01-01
相关资源
最近更新 更多