1
TensorFlowでは、テンソルのサイズが大きい場合、2次元行列の対角など、デバッグ目的でテンソルの一部を印刷するだけで便利です。私は、テンソル全体を次のように印刷する方法しか知りません。tf.Printを使用してテンソルの一部をプリントする方法は?
sess = tf.InteractiveSession()
a = tf.constant(1.0, shape=[1000, 1000])
a = tf.Print(a, [a], "print entire a\n", summarize=1000000)
b = a + 1.
ret = sess.run(b)
上記のコードは、 'a'テンソル全体を出力します。しかし、私は 'a'の一部をどのように印刷するかはわかりません。例えば、私は[0,0] sess.run(A)を行わず、次のコードは動作しません印刷したい場合:
sess = tf.InteractiveSession()
a = tf.constant(1.0, shape=[1000, 1000])
a[0,0] = tf.Print(a[0,0], [a[0,0]], "print part of a\n", summarize=1000000)
b = a + 1.
ret = sess.run(b)
ニース!フォローアップの質問:フォーマットされたテンソルを印刷する方法はありますか?たとえば、= tf.Print(a、[a [0:3、0:3]])を実行すると、TFは[[1 1 1] [1 1 1] [1 1 1]]をコンソールに出力します1行に[1 1 1]、次に[1 1 1]などの代わりに – user131379
'tf.Print'ではなく、何を達成したいのですか? –
時には、このようなものを用意することが最善です。ret、avalue = sess.run([b、a]) –