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.





tensorflow