TensorFlow操作を熱心に実行するための環境。
熱心な実行は、グラフを作成せずに操作を即座に評価する命令型プログラミング環境です。オペレーションは、 Graph
やSession
のように後で実行する計算グラフを作成する代わりに、具体的な値を返します。
これにより、標準のプログラミングライブラリのように動作するため、TensorFlowとデバッグモデルを使用した開発が容易になります。
EagerSession
のインスタンスはスレッドセーフです。
ネストされたクラス
列挙型 | EagerSession.DevicePlacementPolicy | 特定のデバイスで操作を実行しようとしたが、一部の入力テンソルがそのデバイス上にない場合の動作を制御します。 | |
クラス | EagerSession.Options | ||
列挙型 | EagerSession.ResourceCleanupStrategy | TensorFlowリソースが不要になったときにクリーンアップする方法を制御します。 |
パブリックメソッド
同期ボイド | 閉じる() |
静的EagerSession | create () デフォルトオプションで構成された EagerSession を返します。 |
静的EagerSession | getDefault () デフォルトの熱心なセッションを返します 初期化されると、デフォルトの熱心なセッションは、使用後に閉じる必要がある |
静的EagerSession | |
OperationBuilder | |
静的EagerSession.Options | オプション() カスタムオプションを使用して EagerSession を構成および構築するオブジェクトを返します。 |
継承されたメソッド
パブリックメソッド
パブリック同期ボイドクローズ()
public static EagerSession create ()
デフォルトオプションで構成されたEagerSession
を返します。
警告:このメソッドによって返されるEagerSession
のインスタンスは、不要になったときにclose()
を呼び出して明示的に解放する必要があります。これは、 `try-with-resources`手法を使用して実現できます。
使用例:
try (EagerSession session = EagerSession.create()) {
Ops tf = Ops.create(session);
// build execute operations eagerly...
}
public static EagerSession getDefault ()
デフォルトの熱心なセッションを返します
初期化されると、デフォルトの熱心なセッションは、使用後に閉じる必要があるcreate()
またはEagerSession.Options.build()
)から取得されたセッションとは対照的に、アプリケーションの存続期間中アクティブのままになります。
EagerSession.Options
のデフォルトのセットは、最初の呼び出しでセッションを初期化するために使用されます。この動作をオーバーライドするために、この最初の呼び出しの前に、異なるオプションのセットを使用してinitDefault(Options)
を呼び出すことができます。
使用例:
// Starting to build eager operations using default session, by calling
// EagerSession.getDefault() implicitly
Ops tf = Ops.create();
// Starting to build eager operations using default session, by calling
// EagerSession.getDefault() explicitly
Ops tf = Ops.create(EagerSession.getDefault());
戻り値
- デフォルトの熱心なセッション
public static EagerSession initDefault ( EagerSession.Optionsオプション)
デフォルトの熱心なセッションを初期化します。これは、アプリケーションの存続期間中アクティブのままです。
このメソッドは、 getDefault()
の最初の呼び出しで暗黙的に呼び出されますが、デフォルトのオプションをオーバーライドするために明示的に呼び出すこともできます。
このメソッドを複数回呼び出すと、作成されたデフォルトのセッションを変更できないため、 IllegalArgumentException
がスローされることに注意してください。したがって、 getDefault()
がスレッドから初めて呼び出される前に、明示的に初期化することが重要です。
使用例:
// Initializing default session to override default options is valid but
// is optional
EagerSession.initDefault(EagerSession.options().async(true));
// Starting to build eager operations using default session, by calling
// EagerSession.getDefault() implicitly
Ops tf = Ops.create();
// Initializing default session more than once or after using it is not
// permitted and throws an exception
EagerSession.initDefault(EagerSession.options().async(true)); // throws
パラメーター
オプション | デフォルトセッションの構築に使用するオプション |
---|
戻り値
- デフォルトの熱心なセッション
スロー
IllegalStateException | デフォルトセッションがすでに初期化されている場合 |
---|
関連項目
public OperationBuilder opBuilder (文字列タイプ、文字列名)
新しいOperation
を作成するためのビルダーを返します。
パラメーター
タイプ | 操作の(つまり、実行する計算を識別する) |
---|---|
名前 | この環境スコープで作成された操作を参照します。 |
戻り値
OperationBuilder.build()
が呼び出されたときにOperationBuilder
を作成するOperationBuilder。OperationBuilder.build()
が呼び出されない場合、一部のリソースがリークする可能性があります。
public static EagerSession.Options options ()
カスタムオプションを使用してEagerSession
を構成および構築するオブジェクトを返します。
警告:このメソッドによって返されるEagerSession
のインスタンスは、不要になったときにclose()
を呼び出して明示的に解放する必要があります。これは、 `try-with-resources`手法を使用して実現できます。
使用例:
try (EagerSession session = EagerSession.options().async(true).build()) {
Ops tf = Ops.create(session);
// build execute operations eagerly and asynchronously...
}