Free Memory
概要
この演算子は、未使用のメモリを解放します。現在使用されていないビューやデータコピーが多数ある大規模な前処理チェーンの後に役立つ場合があります。
詳細
Free Memoryオペレーターは、未使用のメモリリソースをクリーンアップします。多数のビューまたはデータコピーを使用した大きな前処理ツリーの後に、データのマテリアライズ演算子と組み合わせて使用すると非常に便利です。データセットがメモリに実体化された後、非常に便利です。内部的に、この演算子は基礎となるJavaプログラミング言語からガベージコレクションを呼び出すだけです。
RapidMinerは可能な限りメモリにデータセットを保持することに注意してください。そのため、メモリが残っている場合、RapidMinerはポートのプロセスまたはデータの以前の結果を破棄しません。 Out OfMemoryExceptionが発生した場合 、Free Memory演算子が役立ちます。また、Remember演算子のような演算子は、オブジェクトをストアに配置することに注意してください。 Free Memoryオペレーターはストアをクリーンアップしません。この演算子は、不要になったメモリのみを解放します。これは、オブジェクトがストアにある場合は不要です。
プロセスの実行が完了すると、必要な場合にのみ、ストアを含むすべてが解放されます!したがって、メモリーに収まる限り、結果履歴で以前の結果を確認できます。現在実行中のプロセスまたは新しい結果に空きメモリが必要な場合、RapidMinerはこれらの結果をすべて自動的に破棄します。したがって、メモリ使用量は、ピーク値に達し、RapidMinerが以前の結果を破棄し始めるまで、時間とともに絶えず増加します。
入力
- スルー (IOObject)このポートにオブジェクトを接続することは必須ではありません。このポートで接続されたオブジェクトは、出力ポートを変更せずに配信されます。この演算子は複数の入力を持つことができます。ある入力が接続されると、別の入力(ある場合)を受け入れる準備ができている別の入力ポートを介して使用可能になります。入力の順序は同じままです。 Free Memoryオペレーターの最初の入力ポートで提供されたオブジェクトは、最初の出力ポートで使用可能です。
出力
- スルー(IOObject)入力として与えられたオブジェクトは、このポートを介して出力に変更されることなく渡されます。このポートを他のポートに接続することは必須ではありません。このポートが接続されていない場合でも、メモリは解放されます。 Free Memoryオペレーターは、複数の出力を持つことができます。 1つの出力が接続されると、出力ポートを介して別の出力が使用可能になり、別の出力(ある場合)を配信する準備が整います。出力の順序は同じままです。 Free Memoryオペレーターの最初の入力ポートで配信されたオブジェクトは、最初の出力ポートで配信されます
チュートリアルプロセス
Free Memoryオペレーターの概要
これは、Free Memory演算子の使用方法を示す非常に単純なプロセス例です。最初に、サブプロセス演算子が適用されます。サブプロセスにメモリを集中的に使用するタスクがあり、サブプロセスの完了後に未使用のメモリを解放するとします。 Free Memory演算子は、サブプロセス演算子の後に適用され、未使用のメモリを解放します。このプロセス例では、メモリを集中的に使用するタスクは実行されません。このプロセスは、この演算子を適用する方法のみを説明することを目的としています。演算子が正しい順序で適用されていることを確認してください。また、Free Memoryオペレーターは他のオペレーターに接続されていませんが、タスクを実行できることに注意してください。