No, non puoi vedere il contenuto del tensore senza eseguire il grafico (facendo session.run()
). Le uniche cose che puoi vedere sono:
- la dimensionalità del tensore (ma suppongo che non sia difficile calcolarlo per l' elenco delle operazioni che TF ha)
- tipo di operazione che verrà utilizzata per generare il tensore (
transpose_1:0
, random_uniform:0
)
- tipo di elementi nel tensore (
float32
)
Non l'ho trovato nella documentazione, ma credo che i valori delle variabili (e alcune delle costanti non siano calcolate al momento dell'assegnazione).
Dai un'occhiata a questo esempio:
import tensorflow as tf
from datetime import datetime
dim = 7000
Il primo esempio in cui ho appena avviato un tensore costante di numeri casuali viene eseguito all'incirca nello stesso momento, indipendentemente da 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
Nel secondo caso, in cui la costante viene effettivamente valutata e i valori assegnati, il tempo dipende chiaramente da 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
E puoi renderlo più chiaro calcolando qualcosa ( d = tf.matrix_determinant(m1)
, tenendo presente che il tempo scadrà O(dim^2.8)
)
PS ho trovato dove è spiegato documentazione :
Un oggetto Tensore è un handle simbolico al risultato di un'operazione, ma in realtà non contiene i valori dell'output dell'operazione.