Hayır, grafiği çalıştırmadan (yapıyor session.run()
) tensörün içeriğini göremezsiniz . Görebileceğiniz tek şey:
- tensörün boyutsallığı (ancak operasyonların listesi için hesaplamanın zor olmadığını düşünüyorum) TF'nin sahip )
- tensörü (
transpose_1:0
, random_uniform:0
) oluşturmak için kullanılacak işlemin türü
- tensördeki elemanların türü (
float32
)
Bunu dokümantasyonda bulamadım, ancak değişkenlerin değerlerinin (ve bazı sabitlerin atama sırasında hesaplanmadığına) inanıyorum.
Bu örneğe bir göz atın:
import tensorflow as tf
from datetime import datetime
dim = 7000
Rasgele sayıların sabit bir Tensörünü başlattığım ilk örnek dim ( 0:00:00.003261
) 'den bağımsız olarak yaklaşık olarak aynı zamanda çalışır
startTime = datetime.now()
m1 = tf.truncated_normal([dim, dim], mean=0.0, stddev=0.02, dtype=tf.float32, seed=1)
print datetime.now() - startTime
Sabitin gerçekten değerlendirildiği ve değerlerin atandığı ikinci durumda, zaman açıkça dim ( 0:00:01.244642
) 'ye bağlıdır.
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
Ve bir şeyi hesaplayarak daha açık hale getirebilirsiniz ( d = tf.matrix_determinant(m1)
, zamanın akacağını unutmayın O(dim^2.8)
)
PS buldum belgelerinde açıklanmıştır :
Bir Tensör nesnesi, bir işlemin sonucuna ilişkin sembolik bir tanıtıcıdır, ancak aslında işlemin çıktısının değerlerini tutmaz.