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
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 |
---|