No, non è possibile visualizzare il contenuto del tensore senza eseguire il grafico (facendo session.run()
).Le uniche cose che si possono vedere sono:
- la dimensionalità del tensore (ma suppongo che non è difficile calcolare per la list of the operations che TF ha)
- tipo di operazione che verrà utilizzato per generare il tensore (
transpose_1:0
, random_uniform:0
)
- tipo di elementi nel tensore (
float32
)
non ho trovato questo nella documentazione, ma credo che i valori delle variabili (e alcune delle costanti non sono calcolati al momento dell'assegnazione).
Date un'occhiata a questo esempio:
import tensorflow as tf
from datetime import datetime
dim = 7000
Il primo esempio dove ho appena inizio una Tensor costante di numeri casuali gestiscono circa alla stessa ora irrespectibly di 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, dove viene effettivamente valutata la costante e vengono assegnati i valori, il tempo dipende chiaramente dalla luminosità (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 si può rendere più chiaro calcolando qualcosa (d = tf.matrix_determinant(m1)
, tenendo presente che il tempo sarà eseguito in O(dim^2.8)
)
P.S. Ho trovato erano è spiegato in documentation:
un tensore oggetto è un handle simbolico al risultato di un'operazione, ma in realtà non memorizzare i valori di uscita del funzionamento.
È possibile ottenere alcuni attributi di un tensore senza chiamare Session.run(). Ad esempio, puoi chiamare tensor.get_shape(). In molti casi, questo fornisce informazioni sufficienti per il debug. –
Vedere anche la risposta di And riguardo alla tf.Stampa op di seguito. Continuo a trovare questa risposta StackOverflow mentre googling per "stampa tensorflow" e questa risposta in alto fa sembrare che non ci sia tf.Stampa op. –
Ho aggiunto alcuni avvertimenti alla risposta, quindi dovrebbe essere più chiaro ora. (Non penso che l'intervistatore originale fosse interessato a ottenere la forma di un tensore, solo il valore.) – mrry