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