Ні, ви не можете побачити вміст тензора, не запустивши графік (робити session.run()
). Єдине, що ви можете бачити:
- розмірність тензора (але я припускаю, що не важко обчислити його для списку операцій, які має TF)
- тип операції, яка буде використовуватися для генерації тензора (
transpose_1:0
, random_uniform:0
)
- тип елементів у тензорі (
float32
)
Я цього не знайшов у документації, але вважаю, що значення змінних (а деякі константи не розраховуються під час призначення).
Погляньте на цей приклад:
import tensorflow as tf
from datetime import datetime
dim = 7000
Перший приклад, коли я просто ініціюю постійний Тензор випадкових чисел, працює приблизно в той самий час, непомітно 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
У другому випадку, коли константа фактично оцінюється і призначаються значення, час явно залежить від 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
І ви можете зробити це більш зрозумілим, обчисливши щось ( d = tf.matrix_determinant(m1)
маючи на увазі, що час пробіжитьO(dim^2.8)
)
PS Я знайшов, як це пояснено в документації :
Об'єкт Tensor - це символьна ручка до результату операції, але насправді не містить значень результатів операції.