variable una introducir instanciar for defino definir cómo crear concepto con borrar python tensorflow

introducir - python definir una variable



¿Cómo obtengo el valor actual de una variable? (3)

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.


tf.Print puede simplificar tu vida!

tf.Print imprimirá el valor del (de los) tensor (es) que le indica que imprima en el momento en que se llama a la línea de tf.Print en su código cuando se evalúa su código.

Así por ejemplo:

import tensorflow as tf x = tf.Variable([1.0, 2.0]) x = tf.Print(x,[x]) x = 2* x tf.initialize_all_variables() sess = tf.Session() sess.run()

[1.0 2.0]

porque imprime el valor de x en el momento en que está la línea tf.Print . Si en cambio lo haces

v = x.eval() print(v)

conseguirás:

[2.0 4.0]

porque te dará el valor final de x.