Loop Batches
概要
この演算子は、入力ExampleSetからバッチを作成し、これらの各バッチでサブプロセスを実行します。これは、データベースにある非常に大きなデータセットに演算子を適用する場合に役立ちます。
詳細
この演算子は、入力ExampleSetの例を指定されたサイズのバッチにグループ化し、その後すべてのバッチで内部演算子を実行します。これは、メモリにロードできず、データベースで処理する必要がある非常に大きなデータセットに役立ちます。そのような場合、各バッチで前処理メソッドまたはモデルアプリケーションおよびその他のタスクを実行し、結果をデータベーステーブルに書き込むことができます(データベースの書き込みまたはデータベースの更新演算子を使用)。この演算子の出力は、サブプロセスの結果で構成されていないことに注意してください。実際、サブプロセスは入力ExampleSetのサブセットビューで動作するため、出力を配信する必要はありません。したがって、この演算子は、変更なしで入力ExampleSetを返します。サブプロセスの結果は直接アクセスできません。このプロセスの実行中にデータベースまたはファイルに書き込むことができます。最後のバッチの結果には、Remember / Recall演算子を使用してアクセスできます。
入力
- サンプルセット (IOObject)この入力ポートには、ExampleSetが必要です。これは、添付のプロセス例のRetrieveオペレーターの出力です。他の演算子の出力も入力として使用できます。
出力
- サンプルセット(IOObject)入力として与えられたExampleSetは、変更なしでこのポートを介して配信されます。
パラメーター
- batch_sizeこのパラメーターは、バッチ内のサンプルの数を指定します。 範囲:整数
チュートリアルプロセス
Loop Batchesオペレーターの概要
「アイリス」データセットは、Retrieve演算子を使用してロードされます。ここにブレークポイントが挿入されるため、ループバッチ演算子の適用前にExampleSetを確認できます。 ExampleSetには150の例があることがわかります。ループバッチ演算子は、このExampleSetに適用されます。バッチサイズパラメータは50に設定されます。150の例があり、バッチサイズが50であるとすると、この演算子の反復は3(つまり150/50)になります。 Loop Batchesオペレーターのサブプロセスをご覧ください。 Remember演算子はそこで適用され、各反復の例をExampleSetとしてオブジェクトテーブルに保存します。各反復の例を見ることができるように、Remember演算子の前にブレークポイントが挿入されます。プロセスの実行時に、ループバッチ演算子の3つの反復が表示されます。最初の反復にはid_1からid_50までの例があることがわかります。同様に、後続の反復にはid_51からid_100およびid_101からid_150の例があります。最後に、Recallオペレーターは、Rememberオペレーターによって保管されたオブジェクトをフェッチするために使用されます。前のバッチが後続のバッチによってオーバーライドされたため、Recallオペレーターは最後のバッチの例をフェッチするだけです。