2016-11-19 16 views
0
Pythonで

私は明らかにテンソル値は

a = np.array([[3], [6], [9]]) 

使用することができます取得するにはどのようにTensorflow、

a[0][0] = 3 
a[1][0] = 6 
a[2][0] = 9 

しかし、私は印刷する場合tensorflow

import tensorflow as tf 
a = tf.Variable(np.array([[3], [6], [9]])) 
init = tf.initialize_all_variables() 

with tf.Session() as ss: 
    ss.run(init) 
    for i in range(3): 
     print sess.run(a[i][0]) 

と同じことをやってみましたそれ(ループのために使用)、私は得たTypeError: 'Variable' object is not callable

このエラーを解決するにはどうすればよいですか? ありがとうございました!

+0

あなたのコードは、タイプミスが修正された後、私のために働きます。つまり、print(ss.run(a [i] [0]) –

答えて

0

テンソルフローとnumpyは、一見しても似ていますが、テンソルフローワークフローはnumpyとは大きく異なります。テンソルフローを使用する場合は、最初に、テンソル間の接続を定義するルールである計算グラフを定義する必要があります。

あなたの場合、グラフは1つの変数aで構成されています。グラフが定義されたら、テンソルフローセッションを実行して、グラフ内の異なるノードの値を計算することができます。あなたのケースでは、次のコードを使用し、aの値を印刷します:あなたは別のオペアンプを定義することができ

sess = tf.Session() 
init = tf.initialize_all_variables() 
sess.run(init) 
print(sess.run(a)) 
+0

それぞれ値を取得する必要があります –

+0

sess.run(a)あなたは別の変数に結果を代入し、通常のnumpy配列と同じように反復処理することができます。 –

0

を、それはあなたのテンソルのスライスが含まれている元の変数に依存する:

import tensorflow as tf 
a = tf.Variable(np.array([[3], [6], [9]])) 
part = [] 
for i in range(3): 
    part.append(a[i][0]) 
init = tf.initialize_all_variables() 

with tf.Session() as ss: 
    ss.run(init) 
    for op in part: 
     print ss.run(op) 
+0

私は試しましたが、動作しません –

+0

どのようなエラーがありますか?どのテンソルフローのバージョンですか? 0.11.0rc0で動作します。 – sygi

関連する問題