Каково правило имени ключа chainer.reporter.report?

документ chainer очень хорош, но я нашел каждую страницу в документе, я не нашел, что такое правило имени отчета chainer, как я должен контролировать имя отчета и регистрировать его? Например, следующий код:

trainer.extend(chainer.training.extensions.PrintReport(
        ['iteration', 'epoch', 'elapsed_time', 'lr',
         'main/loss',
         'validation/main/all',
         ]), trigger=print_interval)

Обратите внимание на main/loss и validation/main/all, почему есть main перед /loss, как я должен управлять, чтобы сообщить о потере? Также обратите внимание на validation/main/all.same вопрос.


person machen    schedule 31.08.2017    source источник


Ответы (1)


Префикс main — это имя оптимизатора (и его целевая ссылка), используемого в используемом вами средстве обновления; StandardUpdater и другие встроенные средства обновления используют имя main в качестве имени оптимизатора по умолчанию. Если вы используете одно из встроенных средств обновления как есть, это всегда main, если вы не укажете специальное имя. Если вы используете настраиваемое средство обновления, которое использует несколько оптимизаторов, настраиваемое средство обновления назначает имена отдельным оптимизаторам, которые будут использоваться в качестве префикса элементов, сообщаемых внутри целевой ссылки оптимизатора.

Префикс validation — это имя расширения Evaluator. Когда вы регистрируете Evaluator с trainer.extend(), вы можете дополнительно передать аргумент name, чтобы переопределить этот префикс. Например, если вы хотите использовать несколько объектов Evaluator, каждый из которых измеряет разные вещи, вы должны передать разные имена, которые будут использоваться в качестве префикса в сообщаемых значениях.

Начиная с текущей версии (v2.0.2), правила именования типичных сообщаемых значений приведены в документ chainer.report.

person Seiya Tokui    schedule 31.08.2017
comment
Итак, что является основной частью проверки? цель? - person machen; 31.08.2017