chainer.reporter.report的key的命名规则是什么?

What is the name rule of chainer.reporter.report's key?

chainer的文档很好,但是我翻遍了文档的每一页,都没有找到什么是chainer报告的命名规则,请问如何控制报告名称,并记录下来? 例如下面的代码:

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

注意main/lossvalidation/main/all为什么之前有一个main /loss,我应该如何控制挂失?还要注意 validation/main/all.same question.

前缀main是您正在使用的更新器中使用的优化器(及其目标link)的名称; StandardUpdater 和其他内置更新器使用名称 main 作为优化器的默认名称。如果您按原样使用内置更新程序之一,除非您指定特殊名称,否则它始终是 main。如果您使用的是使用多个优化器的自定义更新程序,则自定义更新程序会为各个优化程序分配名称,这些名称将用作优化程序目标 link 内报告的项目的前缀。

前缀 validationEvaluator 扩展名。当您使用 trainer.extend() 注册 Evaluator 时,您可以选择传递 name 参数来覆盖此前缀。例如,如果你想使用多个 Evaluator 对象,每个对象测量不同的东西,你必须传递不同的名称,这些名称将用作报告值的前缀。

从当前版本(v2.0.2)开始,典型报告值的命名规则总结在the document of chainer.report