Init

パブリック最終クラス初期化

定数

DEFAULT_NAME

パブリックメソッド

静的ボイド
add (スコープスコープ、 Opイニシャライザ)
演算をグラフの初期化子として登録します。
静的初期
create (スコープスコープ)
グラフのすべての初期化子を実行する操作を作成するためのファクトリ メソッド。

継承されたメソッド

定数

パブリック静的最終文字列DEFAULT_NAME

定数値: "init"

パブリックメソッド

public static void add (スコープスコープ、 Opイニシャライザ)

演算をグラフの初期化子として登録します。

登録されたイニシャライザは、グラフ セッションからinit操作を追加して実行することによって、単一の計算単位としてグループ化されます。これは、熱心なセッションで実行された場合は何も行われません。

関連項目

public static Init create (スコープスコープ)

グラフのすべての初期化子を実行する操作を作成するためのファクトリ メソッド。

tf.initAddを介してグラフに追加されたすべてのイニシャライザは、グラフ内の単一の計算単位としてグループ化されます。この操作は、変数の状態が適切に初期化されるように、1 つ以上のvariables使用して任意のグラフに追加し、グラフを実行する前に 1 回実行する必要があります。

セッションを実行しているのと同じプロセスによってグラフが構築される場合、この単一のエンドポイントを実行することによってイニシャライザを呼び出すことができます。例えば:

try (Graph g = new Graph()) {
   Variable<TInt32> x = tf.variable(tf.constant(10));  // initAdd is called implicitly
   Variable<TInt32> y = tf.variable(tf.constant(20));  // idem
   Add<TInt32> z = tf.math.add(x, y);

   try (Session s = new Session(g)) {
     s.run(tf.init());  // initialize all variables

     try (TInt32 t = (TInt32)s.runner().fetch(z).run().get(0)) {
       assertEquals(30, t.data().getInt());
     
   }
 }
 }

グラフが別のプロセスによって構築される場合、初期化子は、その名前 (デフォルトはDEFAULT_NAMEで init op を実行することによって呼び出すことができます。例えば:

// Building the model
 try (Graph g = new Graph()) {
   Variable<TInt32> x = tf.variable(tf.constant(10));  // initAdd is called implicitly
   Variable<TInt32> y = tf.variable(tf.constant(20));  // idem
   Add<TInt32> z = tf.withName("z").math.add(x, y);

   tf.init();  // add variables initializers to the graph, as Init.DEFAULT_NAME
   // ...exporting graph as a saved model...
 

 ...

 // Running the model
 try (SavedModelBundle model = SavedModelBundle.load("/path/to/model", "train")) {
   model.session().run(Init.DEFAULT_NAME);

   try (TInt32 t = (TInt32)s.runner().fetch("z").run().get(0)) {
     assertEquals(30, t.data().getInt());
   }
 }
 }

パラメーター
範囲現在のスコープ
戻り値
  • グラフに追加されたすべての初期化子をグループ化する操作
投げる
IllegalArgumentExceptionスコープ内の実行環境がグラフでない場合