una - variables python
¿Cómo obtengo el valor actual de una variable? (2)
En general, session.run(x)
solo evaluará los nodos que son necesarios para calcular x
nada más, por lo que debería ser relativamente económico si desea inspeccionar el valor de la variable.
Eche un vistazo a esta gran respuesta https://stackoverflow.com/a/33610914/5543198 para más contexto.
Supongamos que tenemos una variable:
x = tf.Variable(...)
Esta variable se puede actualizar durante el proceso de entrenamiento utilizando el método assign()
.
¿Cuál es la mejor manera de obtener el valor actual de una variable?
Sé que podríamos usar esto:
session.run(x)
Pero me temo que esto desencadenaría toda una cadena de operaciones.
En Theano, podrías hacer
y = theano.shared(...)
y_vals = y.get_value()
Estoy buscando algo equivalente en TensorFlow.
La única forma de obtener el valor de la variable es ejecutándola en una session
. En las preguntas frecuentes está escrito que:
Un objeto Tensor es un identificador simbólico del resultado de una operación, pero en realidad no contiene los valores de la salida de la operación.
Entonces TF equivalente sería:
import tensorflow as tf
x = tf.Variable([1.0, 2.0])
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
v = sess.run(x)
print(v) # will show you your variable.
La parte con init = global_variables_initializer()
es importante y debe hacerse para inicializar las variables.
Además, eche un vistazo a InteractiveSession si trabaja en IPython.