web-dev-qa-db-fra.com

Comprendre tf.global_variables_initializer

J'aimerais comprendre ce que tf.global_variables_initializer fait un peu plus en détail. A la description fragmentaire est donnée ici :

Retourne un Op qui initialise les variables globales.

Mais cela ne m'aide pas vraiment. Je sais que l'op est nécessaire pour initialiser le graphique, mais qu'est-ce que cela signifie réellement? Est-ce l'étape où le graphique est respecté?

32
Toke Faurby

Une description plus complète est donnée ici .

Après avoir exécuté tf.global_variables_initializer() dans une session, vos variables conservent les valeurs que vous leur avez indiquées lorsque vous les déclarez (tf.Variable(tf.zeros(...)), tf.Variable(tf.random_normal(...)), ...).

De la TF doc:

L'appel de tf.Variable () ajoute plusieurs opérations au graphique:

  • Une variable op qui contient la valeur de la variable.
  • Un op initialiseur qui définit la variable à sa valeur initiale. C'est en fait un op. Tf.assign.
  • Les ops pour la valeur initiale, tels que les zéros op pour la variable biais dans l'exemple, sont également ajoutés au graphique.

Et aussi:

Les initialiseurs de variables doivent être exécutés explicitement avant que d'autres opérations de votre modèle puissent être exécutées. Le moyen le plus simple de le faire est d'ajouter un op qui exécute tous les initialiseurs de variables et de l'exécuter avant d'utiliser le modèle.

31