警告:この API は非推奨であり、置き換えが安定した後の TensorFlow の将来のバージョンでは削除される予定です。

EagerSession.ResourceCleanupStrategy

public static final列挙型EagerSession.ResourceCleanupStrategy

TensorFlowリソースが不要になったときにクリーンアップする方法を制御します。

中に割り当てられたすべてのリソースEagerSessionセッションを閉じたときに削除されます。メモリ不足エラーを防ぐために、セッション中にこれらのリソースをクリーンアップすることも強くお勧めします。たとえば、m回の反復のループでn回の操作を実行すると、最小n * mのリソースが割り当てられますが、ほとんどの場合、最後の反復のリソースのみが引き続き使用されます。

EagerSession TensorFlowオブジェクトが参照されるなくなったとき、彼らは、彼らが所有しているすべてのリソースのクリーンアップに進むことができますので、インスタンスは、さまざまな方法で通知することができません。

継承されたメソッド

列挙値

public static final EagerSession.ResourceCleanupStrategy IN_BACKGROUND

バックグラウンドで実行されている新しいスレッドから未使用のリソースを監視して削除します。

これは、TensorFlowリソースをクリーンアップするための最も信頼性の高いアプローチですが、このタスク専用の追加スレッドを開始して実行する必要があります。各EagerSessionインスタンスは、セッションが閉じているときにのみ停止する独自のスレッドを持っています。

この戦略はデフォルトで使用されます。

public static final EagerSession.ResourceCleanupStrategy ON_SAFE_POINTS

別のタスクを完了する前または後に、既存のスレッドから未使用のリソースを監視および削除します。

TensorFlowライブラリへの呼び出しがクリーンアップの安全なポイントに達すると、未使用のリソースが解放されます。これは同期的に実行され、その呼び出しをトリガーしたスレッドを短時間ブロックする可能性があります。

この戦略は、何らかの理由で、クリーンアップのために追加のスレッドを割り当てる必要がない場合にのみ使用する必要があります。それ以外の場合は、 IN_BACKGROUND好まれるべきです。

public static final EagerSession.ResourceCleanupStrategy ON_SESSION_CLOSE

セッションが閉じられたときにのみリソースを削除します。

セッション中に割り当てられたすべてのリソースは、セッションが明示的に閉じられるまで(または従来の `try-with-resource`手法を介して)メモリに残ります。リソースのクリーンアップのための追加のタスクは試行されません。

この戦略はメモリ不足エラーにつながる可能性があり、セッションの範囲が少量の操作のみを実行するように制限されていない限り、その使用は推奨されません。