No, no puede ver el contenido del tensor sin ejecutar el gráfico (haciendo session.run()
). Las únicas cosas que puedes ver son:
- la dimensionalidad del tensor (pero supongo que no es difícil calcularlo para la lista de las operaciones que tiene TF)
- tipo de la operación que se utilizará para generar el tensor (
transpose_1:0
, random_uniform:0
)
- tipo de elementos en el tensor (
float32
)
No he encontrado esto en la documentación, pero creo que los valores de las variables (y algunas de las constantes no se calculan en el momento de la asignación).
Echale un vistazo a éste ejemplo:
import tensorflow as tf
from datetime import datetime
dim = 7000
El primer ejemplo donde acabo de iniciar un Tensor constante de números aleatorios se ejecuta aproximadamente al mismo tiempo, independientemente de dim ( 0:00:00.003261
)
startTime = datetime.now()
m1 = tf.truncated_normal([dim, dim], mean=0.0, stddev=0.02, dtype=tf.float32, seed=1)
print datetime.now() - startTime
En el segundo caso, donde la constante se evalúa y se asignan los valores, el tiempo depende claramente de dim ( 0:00:01.244642
)
startTime = datetime.now()
m1 = tf.truncated_normal([dim, dim], mean=0.0, stddev=0.02, dtype=tf.float32, seed=1)
sess = tf.Session()
sess.run(m1)
print datetime.now() - startTime
Y puede hacerlo más claro calculando algo ( d = tf.matrix_determinant(m1)
teniendo en cuenta que el tiempo se acabará O(dim^2.8)
)
PD que encontré donde se explica en la documentación :
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.