chainer.
Reporter
[source]¶
観測値が報告されるオブジェクト。
Reporterは、ユーザが観察したい値を収集するために使用されます。Reporter オブジェクトは値の名前から実際の観測値へのマッピングを保持します。このマッピングをobservationsといいます。
値がReporterへ渡される時、オブジェクトは選択的に紐付けすることができる observer (オブザーバ・観測者)を呼び出します。この場合、このオブザーバの名前は値の名前に接頭語が付けられたものとなります。このオブザーバ名は前もって登録されていなければなりません。
下記の例をご覧ください。
>>> from chainer import Reporter, report, report_scope
>>>
>>> reporter = Reporter()
>>> observer = object() # 任意のオブジェクトでよい
>>> reporter.add_observer('my_observer:', observer)
>>> observation = {}
>>> with reporter.scope(observation):
... reporter.report({'x': 1}, observer)
...
>>> observation
{'my_observer:x': 1}
値を加えるためのglobal API もあります。
>>> observation = {}
>>> with report_scope(observation):
... report({'x': 1}, observer)
...
>>> observation
{'my_observer:x': 1}
Reporter の最も重要な機能は、各リンクもしくは訓練中のチェーンと検証の観測値を報告することです。 Trainer
と幾つかの拡張は、オブザーバとして登録されたターゲットリンクのの階層を伴う独自のReporterオブジェクトを容易しています。 report()
関数をLinkやChainの内部で観測値を報告するために使用することも出来ます。 (訓練損失、精度, 活性化統計 etc.).
Variables: | observation – 観測値の辞書 |
---|
Methods
add_observer
(name, observer)[source]¶
観測値を登録する。
オブザーバは観測値の名前のスコープを定義します。 オブザーバによって観測される値は、オブザーバ名を接頭辞とする名前で登録されます。
Parameters: |
|
---|
add_observers
(prefix, observers)[source]¶
複数のオブザーバを一度に登録する。
これは複数のオブザーバを一同に登録する便利なオブジェクトです。
Parameters: |
|
---|