#allennlp
#allennlp
Вопрос:
Я использую модель seq2seq, и она может вычислять оценку BLEU (оценку NMT) в каждую эпоху. Однако я не могу установить оценку BLEU в качестве показателя проверки, поэтому он не может рано остановиться в обучении. Я прочитал исходный код, но нет никаких намеков на то, какую строку можно добавить к показателям проверки, кроме » loss». Пожалуйста, спасите меня, спасибо!
Комментарии:
1. Я попробовал » bleu», но это не удалось без регистрации доступной метрики str.
Ответ №1:
По умолчанию validation_metric
на самом деле "-loss"
нет " loss"
. «-» означает, что это показатель, который следует минимизировать, а не максимизировать.
Поэтому, чтобы вместо этого использовать BLEU score, установите значение validation_metric
" BLEU"
.
В общем, вы можете использовать любую метрику, возвращаемую методом вашей модели .get_metric()
. Имя метрики , для которой вы используете validation_metric
, просто должно совпадать с соответствующим ключом из словаря , возвращаемого .get_metric()
.
В вашем случае, предположительно .get_metric()
, метод вашей модели возвращает что-то вроде этого: {"BLEU": ...}
, поэтому validation_metric
должно быть установлено значение " BLEU"
.
Комментарии:
1. Большое вам спасибо! Это решает мою проблему! Поскольку моя проблема заключается в том, почему «BLEU» вместо «bleu» (т. Е. Как str связан с paticular метрикой), у меня есть два предложения к документу: было бы лучше, если бы он был прокомментирован параметром «validation metric» или зарегистрировал доступную метрику «validation_metric». Это было бы очень полезно для новичков, таких как я, поскольку я читал и искал доступную «метрику str», читая исходный код в течение двух часов, но потерпел неудачу 🙂
2. @qiuyuan, вам было бы интересно сделать PR, чтобы улучшить документацию по этому вопросу?
3. Конечно, я попробую и недавно добавлю дополнительную документацию 🙂