tensorflow
Variabelen
Zoeken…
Variabele tensoren declareren en initialiseren
Variabele tensoren worden gebruikt wanneer de waarden in een sessie moeten worden bijgewerkt. Het is het type tensor dat zou worden gebruikt voor de gewichtenmatrix bij het maken van neurale netwerken, omdat deze waarden worden bijgewerkt terwijl het model wordt getraind.
Het declareren van een variabele tensor kan worden gedaan met behulp van de functie tf.Variable()
of tf.get_variable()
. Het wordt aanbevolen om tf.get_variable
te gebruiken, omdat dit meer flexibiliteit biedt, bijvoorbeeld:
# 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))
Iets om op te merken is dat het declareren van een variabele tensor de waarden niet automatisch initialiseert. De waarden moeten expliciet worden geïnitialiseerd bij het starten van een sessie met een van de volgende:
-
tf.global_variables_initializer().run()
-
session.run(tf.global_variables_initializer())
Het volgende voorbeeld toont het volledige proces van het declareren en initialiseren van een variabele tensor.
# 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
Welke het volgende afdrukt:
[[ 1. 1. 1.]
[ 1. 1. 1.]]
Haal de waarde op van een TensorFlow-variabele of een Tensor
Soms moeten we de waarde van een TensorFlow-variabele ophalen en afdrukken om te garanderen dat ons programma correct is.
Als we bijvoorbeeld het volgende programma hebben:
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()
als we de waarde van a of b willen krijgen, kunnen de volgende procedures worden gebruikt:
with tf.Session() as sess:
sess.run(init)
a_value = sess.run(a)
b_value = sess.run(b)
print a_value
print b_value
of
with tf.Session() as sess:
sess.run(init)
a_value = a.eval()
b_value = b.eval()
print a_value
print b_value