1

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

4

1 回答 1

2

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

因此,要改用 BLEU 分数,请将其设置validation_metric"+BLEU".

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

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

于 2020-10-26T19:36:21.737 回答