chainer.reporter.report的密钥的名称规则是什么?
问题描述:
chainer的文件非常好,但是我发现文件中的每一页,我没有找到chainer报告的名称规则,我应该如何控制报告名称,并记录下来? 例如,如下代码:chainer.reporter.report的密钥的名称规则是什么?
trainer.extend(chainer.training.extensions.PrintReport(
['iteration', 'epoch', 'elapsed_time', 'lr',
'main/loss',
'validation/main/all',
]), trigger=print_interval)
注意main/loss
和validation/main/all
,为什么是有主要前/损失,我应该如何控制对挂失?同样注意到validation/main/all
。同样的问题。
答
前缀main
是您正在使用的更新程序中使用的优化程序(及其目标链接)的名称; StandardUpdater
和其他内置更新程序使用名称main
作为优化程序的默认名称。如果您按原样使用其中一个内置更新程序,除非指定了特殊名称,否则这总是main
。如果您正在使用使用多个优化程序的自定义更新程序,那么自定义更新程序会将名称分配给各个优化程序,这些优化程序将用作优化程序目标链接内报告的项目的前缀。
前缀validation
是Evaluator
扩展名的名称。当您使用trainer.extend()
注册Evaluator
时,您可以选择通过name
参数来覆盖此前缀。例如,如果要使用多个对象,每个对象测量不同的事物,则必须传递不同的名称,这些名称将用作报告值中的前缀。
从当前版本(v2.0.2)开始,典型报告值的命名规则汇总在the document of chainer.report
中。
所以验证的“主要”是什么?目标? – machen