tensorflow
Zmienne
Szukaj…
Deklarowanie i inicjowanie zmiennych tensorów
Zmienne tensory są używane, gdy wartości wymagają aktualizacji w ramach sesji. Jest to rodzaj tensora, który byłby zastosowany do macierzy wag podczas tworzenia sieci neuronowych, ponieważ wartości te będą aktualizowane podczas szkolenia modelu.
Zadeklarowanie zmiennej tensora można wykonać za pomocą funkcji tf.Variable()
lub tf.get_variable()
. Zaleca się użycie tf.get_variable
, ponieważ oferuje większą elastyczność, np .:
# 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))
Należy zauważyć, że zadeklarowanie zmiennej tensora nie inicjuje automatycznie wartości. Wartości należy wyraźnie zainicjalizować podczas rozpoczynania sesji przy użyciu jednej z następujących czynności:
-
tf.global_variables_initializer().run()
-
session.run(tf.global_variables_initializer())
Poniższy przykład pokazuje pełny proces deklarowania i inicjowania zmiennego tensora.
# 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
Który drukuje następujące:
[[ 1. 1. 1.]
[ 1. 1. 1.]]
Pobierz wartość zmiennej TensorFlow lub Tensor
Czasami musimy pobrać i wydrukować wartość zmiennej TensorFlow, aby upewnić się, że nasz program działa poprawnie.
Na przykład, jeśli mamy następujący program:
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()
jeśli chcemy uzyskać wartość a lub b, można zastosować następujące procedury:
with tf.Session() as sess:
sess.run(init)
a_value = sess.run(a)
b_value = sess.run(b)
print a_value
print b_value
lub
with tf.Session() as sess:
sess.run(init)
a_value = a.eval()
b_value = b.eval()
print a_value
print b_value