Init

Init de classe finale publique

Constantes

Chaîne DEFAULT_NAME

Méthodes publiques

vide statique
ajouter (portée de portée , initialiseur d'opération )
Enregistrez une opération comme initialiseur du graphique.
Init statique
créer (portée d'application )
Méthode d'usine pour créer une opération exécutant tous les initialiseurs d'un graphique.

Méthodes héritées

Constantes

Chaîne finale statique publique DEFAULT_NAME

Valeur constante : "init"

Méthodes publiques

public static void add (portée de portée , initialiseur d'opération )

Enregistrez une opération comme initialiseur du graphique.

Les initialiseurs enregistrés sont ensuite regroupés en une seule unité de calcul en ajoutant et en exécutant une opération init à partir d'une session graphique. Il s'agit d'une opération sans issue s'il est exécuté lors d'une session impatiente.

Voir également

création d'initialisation statique publique (portée de la portée )

Méthode d'usine pour créer une opération exécutant tous les initialiseurs d'un graphique.

Tous les initialiseurs ajoutés à un graphique via tf.initAdd sont regroupés en une seule unité de calcul dans le graphique. Cette opération doit ensuite être ajoutée à n'importe quel graphique utilisant une ou plusieurs variables et exécutée une fois avant d'exécuter le graphique afin que les états des variables soient correctement initialisés.

Lorsque le graphique est construit par le même processus qui exécute la session, les initialiseurs peuvent être invoqués en exécutant ce point de terminaison unique. Par exemple:

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

Lorsque le graphique est construit par un processus distinct, les initialiseurs peuvent être invoqués en exécutant l'opération d'initialisation par son nom, qui est par défaut DEFAULT_NAME . Par exemple:

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

Paramètres
portée portée actuelle
Retour
  • une opération regroupant tous les initialiseurs ajoutés au graphe
Jetés
Exception d'argument illégal si l'environnement d'exécution concerné n'est pas un graphique