chainer.training.updaters.
MultiprocessParallelUpdater
(iterators, optimizer, converter=<function concat_examples>, devices=None)[source]¶
マルチプロセス並列 GPU Updaterの実装。
これは複数のGPUを複数プロセスでデータを並列処理する Updater
の実装です。 複数の GPU間でコミュニケーションするために Nvidia NCCL を使用します。これは StandardUpdater
のように動作します。
更新ルーチンは1台のマシンにおける複数のGPUでのデータ並列処理をサポートするために変更されます。これは、synchronous parallel SGD(同時並列確率的勾配降下法)に基いています。つまり、ミニバッチへ行われる勾配計算を並列処理し、メイン・デバイスにおいてのみ、パラメータを更新します。
Reporter
によってサブデバイスで収集された値は、メインデバイスへ転送されません。ですから、メイン・デバイスで報告された値のみを見ることができます。
Parameters: |
|
---|
Methods
connect_trainer
(trainer)[source]¶
Updater をTrainerに接続する。
のメソッドの一般的な使用方法は。TrainerのReporterの追加のLinkを更に登録することです。このメソッドは、Trainer
の初期化の終わりに呼ばれます。デフォルト実装では何も行いません。
Parameters: | trainer (Trainer) –Updaterが登録されたTrainer オブジェクト |
---|
get_all_optimizers
()[source]¶
このUpdaterのための全てのOptimizerの辞書を取得する。
Returns: | 名前をOptimizerにマップする辞書 |
---|---|
Return type: | dict |
get_iterator
(name)[source]¶
与えられた名称のDataset iteratorを取得する。
Parameters: | name (str) –Dataset iteratorの名称 |
---|---|
Returns: | 与えられた名称に相応するDataset iterator |
Return type: | Iterator |
get_optimizer
(name)[source]¶
与えられた名称のOptimizerを取得する。
Parameters: | name (str) – Optimizerの名前 |
---|---|
Returns: | 与えられた名称に相応するOptimizer |
Return type: | Optimizer |
update
()[source]¶
ターゲットモデルのパラメータを更新します。
このメソッドは訓練タスクのための更新式を実装します。訓練タスクにはデータのロード、順方向/逆方向の計算、実際のパラメータの更新処理を含みます。
このメソッドは訓練ループの各反復処理毎に1回だけ呼び出されます。
Attributes
epoch
¶
epoch_detail
¶
is_new_epoch
¶
previous_epoch_detail
¶