Init

classe final pública Init

Constantes

Corda DEFAULT_NAME

Métodos Públicos

vazio estático
add (escopo do escopo , inicializador Op )
Registre uma operação como inicializador do gráfico.
inicialização estática
criar (escopo do escopo )
Método de fábrica para criar uma operação executando todos os inicializadores de um gráfico.

Métodos herdados

Constantes

String final estática pública DEFAULT_NAME

Valor Constante: "init"

Métodos Públicos

public static void add (escopo do escopo , inicializador Op )

Registre uma operação como inicializador do gráfico.

Os inicializadores registrados são então agrupados como uma única unidade de computação adicionando e executando uma operação init a partir de uma sessão gráfica. Este é um ambiente autônomo se executado em uma sessão ansiosa.

Veja também

public static Init create (escopo do escopo )

Método de fábrica para criar uma operação executando todos os inicializadores de um gráfico.

Todos os inicializadores adicionados a um gráfico por meio de tf.initAdd são agrupados como uma única unidade de computação no gráfico. Esta operação deve então ser adicionada a qualquer gráfico usando uma ou mais variables ​​e executada uma vez antes de executar o gráfico para que os estados das variáveis ​​sejam inicializados corretamente.

Quando o gráfico é construído pelo mesmo processo que está executando a sessão, os inicializadores podem ser invocados executando este único terminal. Por exemplo:

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 o gráfico é construído por um processo separado, os inicializadores podem ser invocados executando a operação init pelo seu nome, cujo padrão é DEFAULT_NAME . Por exemplo:

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

Parâmetros
escopo escopo atual
Devoluções
  • uma operação agrupando todos os inicializadores adicionados ao gráfico
Lança
IllegalArgumentException se o ambiente de execução no escopo não for um gráfico