いいえ、グラフを実行 (実行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
0:00:01.244642
定数が実際に評価され、値が割り当てられる 2 番目のケースでは、時間は明らかに dim ( )に依存します。
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 オブジェクトは操作の結果へのシンボリック ハンドルですが、実際には操作の出力の値を保持しません。