chainer.reporter.report的关键是什么名称规则?

时间:2017-08-31 08:33:46

标签: chainer

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为什么 /丢失之前有,我该怎么办?控制报告损失?另请注意validation/main/all。同样的问题。

1 个答案:

答案 0 :(得分:0)

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

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

截至当前版本(v2.0.2),典型报告值的命名规则汇总在the document of chainer.report中。