2017-12-27 50 views
0

最も簡単なグラフを実行すると、TensorFlowはTypeErrorを投げています。TensorFlow - "TypeError:フェッチ引数なし"

sess = tf.Session() 
x1 = tf.placeholder(tf.float32) 
x2 = tf.placeholder(tf.float32) 
z = x1 

sess.run(tf.gradients(z, [x1, x2]), feed_dict={x1: 1, x2: 1}) 

これは私が1行のコードを変更した場合、興味深いことに

TypeError: Fetch argument None has invalid type <class 'NoneType'> 

が得られます。

z = x1 + x2 

その後、すべてが完璧に動作します! なぜこれが起こっていますか?

答えて

2

あなたの説明によれば、私はコードを適切に修正します。

import tensorflow as tf 

sess = tf.Session() 
x1 = tf.placeholder(tf.float32) 
x2 = tf.placeholder(tf.float32) 

z = x1 
print sess.run(tf.gradients(z, [x1]), feed_dict={x1: 1}) 

z = x1 + x2 
print sess.run(tf.gradients(z, [x1, x2]), feed_dict={x1: 1, x2: 1}) 

ここでエラーはありません。私はあなたがあなたの問題を理解できると信じています。

関数を適用するときは、ドキュメントを参照する必要があります。ここにはtf.gradientsに関する文書があります。

関連する問題