2017-08-31 8 views
1

チェーンャーの文書は非常に良いですが、文書内のすべてのページが見つかりました。チェーンナーレポートの名前規則が見つかりませんでした。どのようにレポート名を制御してログに記録する必要がありますか?例えば 、次のコード:chainer.reporter.reportのキーの名前規則は何ですか?

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。同じ質問にも注意してください。

答えて

0

接頭辞mainは、使用しているアップデータで使用されるオプティマイザ(およびそのターゲット・リンク)の名前です。 StandardUpdaterなどの組み込みアップデータでは、オプティマイザのデフォルト名としてmainという名前が使用されます。組み込みupdaterをそのまま使用している場合は、特別な名前を指定しないかぎり、常にmainになります。複数のオプティマイザを使用するカスタマイズされたアップデータを使用している場合、カスタムアップデータは個々のオプティマイザに名前を割り当てます。オプティマイザは、オプティマイザのターゲットリンク内でレポートされる項目の接頭辞として使用されます。

プレフィックスvalidationは、Evaluator拡張子の名前です。 Evaluatortrainer.extend()に登録するときは、このプレフィックスを無効にするには、オプションでname引数を渡すことができます。たとえば、それぞれ異なる物を測定する複数のEvaluatorオブジェクトを使用する場合は、報告された値の接頭辞として使用される異なる名前を渡す必要があります。

現在のバージョン(v2.0.2)では、一般的な報告値の命名規則はthe document of chainer.reportにまとめられています。

+0

したがって、検証の「メイン」は何ですか?ターゲット? – machen

関連する問題