Init

classe finale pubblica Init

Costanti

Corda DEFAULT_NAME

Metodi pubblici

vuoto statico
aggiungi (ambito dell'ambito , inizializzatore op )
Registra un'operazione come inizializzatore del grafico.
Inizializzazione statica
creare ( ambito ambito )
Metodo di fabbrica per creare un'operazione eseguendo tutti gli inizializzatori di un grafico.

Metodi ereditati

Costanti

Stringa finale statica pubblica DEFAULT_NAME

Valore costante: "init"

Metodi pubblici

public static void add (ambito Scope , inizializzatore Op )

Registra un'operazione come inizializzatore del grafico.

Gli inizializzatori registrati vengono quindi raggruppati come una singola unità di calcolo aggiungendo ed eseguendo un'operazione init da una sessione del grafico. Questa è una operazione vietata se eseguita in una sessione entusiasta.

Guarda anche

creazione Init pubblica statica ( ambito Scope )

Metodo di fabbrica per creare un'operazione eseguendo tutti gli inizializzatori di un grafico.

Tutti gli inizializzatori aggiunti a un grafico tramite tf.initAdd vengono raggruppati insieme come una singola unità di calcolo nel grafico. Questa operazione deve quindi essere aggiunta a qualsiasi grafico utilizzando una o più variables ed eseguita una volta prima di eseguire il grafico in modo che gli stati delle variabili siano inizializzati correttamente.

Quando il grafico viene creato dallo stesso processo che esegue la sessione, gli inizializzatori possono essere richiamati eseguendo questo singolo endpoint. Per esempio:

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());
     
   }
 }
 }

Quando il grafico viene creato da un processo separato, gli inizializzatori possono essere richiamati eseguendo l'operazione di init con il suo nome, che per impostazione predefinita è DEFAULT_NAME . Per esempio:

// 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());
   }
 }
 }

Parametri
scopo ambito attuale
ritorna
  • un'operazione che raggruppa tutti gli inizializzatori aggiunti al grafico
Lancia
IllegalArgumentException se l'ambiente di esecuzione nell'ambito non è un grafico