tensorflow
Variablen
Suche…
Variable Tensoren deklarieren und initialisieren
Variable Tensoren werden verwendet, wenn die Werte innerhalb einer Sitzung aktualisiert werden müssen. Es ist der Tensortyp, der für die Gewichtungsmatrix beim Erstellen von neuronalen Netzwerken verwendet wird, da diese Werte aktualisiert werden, während das Modell trainiert wird.
Die Deklaration eines variablen Tensors kann mit der Funktion tf.Variable()
oder tf.get_variable()
. Es wird empfohlen, tf.get_variable
zu verwenden, da es mehr Flexibilität bietet, zB:
# Declare a 2 by 3 tensor populated by ones a = tf.Variable(tf.ones([2,3], dtype=tf.float32)) a = tf.get_variable('a', shape=[2, 3], initializer=tf.constant_initializer(1))
Zu beachten ist, dass das Deklarieren eines variablen Tensors die Werte nicht automatisch initialisiert. Die Werte müssen beim Starten einer Sitzung mit einer der folgenden Methoden explizit initialisiert werden:
-
tf.global_variables_initializer().run()
-
session.run(tf.global_variables_initializer())
Das folgende Beispiel zeigt den gesamten Prozess der Deklaration und Initialisierung eines variablen Tensors.
# Build a graph graph = tf.Graph() with graph.as_default(): a = tf.get_variable('a', shape=[2,3], initializer=tf.constant_initializer(1), dtype=tf.float32)) # Create a variable tensor # Create a session, and run the graph with tf.Session(graph=graph) as session: tf.global_variables_initializer().run() # Initialize values of all variable tensors output_a = session.run(a) # Return the value of the variable tensor print(output_a) # Print this value
Welche druckt folgendes aus:
[[ 1. 1. 1.]
[ 1. 1. 1.]]
Rufen Sie den Wert einer TensorFlow-Variablen oder eines Tensors ab
Manchmal müssen wir den Wert einer TensorFlow-Variablen abrufen und drucken, um sicherzustellen, dass unser Programm korrekt ist.
Zum Beispiel, wenn wir folgendes Programm haben:
import tensorflow as tf
import numpy as np
a = tf.Variable(tf.random_normal([2,3])) # declare a tensorflow variable
b = tf.random_normal([2,2]) #declare a tensorflow tensor
init = tf.initialize_all_variables()
Wenn wir den Wert von a oder b erhalten möchten, können die folgenden Prozeduren verwendet werden:
with tf.Session() as sess:
sess.run(init)
a_value = sess.run(a)
b_value = sess.run(b)
print a_value
print b_value
oder
with tf.Session() as sess:
sess.run(init)
a_value = a.eval()
b_value = b.eval()
print a_value
print b_value