Существуют ли какие-либо другие показатели проверки для trainer?

#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. Конечно, я попробую и недавно добавлю дополнительную документацию 🙂