TensorFlow オペレーションを積極的に実行するための環境。
Eager Execution は、グラフを構築せずに操作を即座に評価する命令型プログラミング環境です。操作は、 Graph
やSession
のように、後で実行する計算グラフを構築するのではなく、具体的な値を返します。
これにより、TensorFlow は標準プログラミング ライブラリのように動作するため、TensorFlow を使用した開発とモデルのデバッグが容易になります。
EagerSession
のインスタンスはスレッドセーフです。
ネストされたクラス
列挙型 | EagerSession.DevicePlacementPolicy | 特定のデバイス上で操作を実行しようとしたが、一部の入力テンソルがそのデバイス上にない場合の動作方法を制御します。 | |
クラス | EagerSession.Options | ||
列挙型 | EagerSession.ResourceCleanupStrategy | TensorFlow リソースが不要になったときにどのようにクリーンアップするかを制御します。 |
パブリックメソッド
同期ボイド | 近い() |
静的EagerSession | 作成する() デフォルトのオプションで構成された EagerSession を返します。 |
静的EagerSession | getDefault () |
静的EagerSession | |
オペレーションビルダー | |
静的EagerSession.Options | オプション() カスタム オプションを使用して EagerSession を構成および構築するオブジェクトを返します。 |
継承されたメソッド
パブリックメソッド
public synchronized void close ()
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 ()
デフォルトの熱心なセッションを返します
初期化されると、デフォルトの Eager セッションは、使用後に閉じる必要があるcreate()
または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() explictly
Ops tf = Ops.create(EagerSession.getDefault());
返品
- デフォルトの熱心なセッション
public static EagerSession initDefault ( EagerSession.Optionsオプション)
デフォルトの Eager セッションを初期化します。これは、アプリケーションの存続期間中アクティブのままです。
このメソッドは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
を作成するためのビルダーを返します。
パラメータ
タイプ | 操作の内容 (つまり、実行される計算を識別します) |
---|---|
名前 | この環境スコープで作成されたオペレーションを参照します。 |
返品
build()
が呼び出されたときにOperationBuilder
使用して Operation を作成します。build()
が呼び出されないと、一部のリソースがリークする可能性があります。
public static EagerSession.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...
}