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
,为什么在 /丢失之前有主,我该怎么办?控制报告损失?另请注意validation/main/all
。同样的问题。
答案 0 :(得分:0)
前缀main
是您正在使用的更新程序中使用的优化程序(及其目标链接)的名称; StandardUpdater
和其他内置更新程序使用名称main
作为优化程序的默认名称。如果您按原样使用其中一个内置更新程序,除非您指定特殊名称,否则始终为main
。如果您使用的是使用多个优化器的自定义更新程序,则自定义更新程序会为各个优化程序分配名称,这些名称将用作优化程序目标链接内部报告的项目的前缀。
前缀validation
是Evaluator
扩展名。当您使用Evaluator
注册trainer.extend()
时,您可以选择传递name
参数来覆盖此前缀。例如,如果要使用多个Evaluator
个对象,每个对象测量不同的东西,则必须传递不同的名称,这些名称将用作报告值中的前缀。
截至当前版本(v2.0.2),典型报告值的命名规则汇总在the document of chainer.report
中。