2016-09-03 13 views
1

をフェッチ:Placeholder_2:0の両方で供給され、私はこのコードを実行すると

x = tf.placeholder(tf.int32, shape=(None, 3)) 
with tf.Session() as sess: 
    feed_dict = dict() 
    feed_dict[x] = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]]) 
    input = sess.run([x], feed_dict=feed_dict) 

を、私はこのエラーを取得する:

Placeholder_2:0 is both fed and fetched.

私は私がここで間違ってやっているかわからないんだけど。なぜこれは機能しませんか?

答えて

1

このコードは、達成しようとしていることをカバーしていますか? あなたはあなたが通過したものを読んでください。これはテンソルフローの有効な呼び出しではありません。値を渡して何もしない場合(何のために?)、アイデンティティ操作が必要です。問題は、「給紙」さ

x = tf.placeholder(tf.int32, shape=(None, 3)) 
y = tf.identity(x) 

with tf.Session() as sess: 
    feed_dict = dict() 
    feed_dict[x] = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]]) 
    input = sess.run([y], feed_dict=feed_dict) 

は、実際には一種の(本当にこの特定のオペによって生成されたものはもはや存在しないため)ので、あなたがこの瞬間にそれを取得することはできません、あなたのOP 生成何でも上書きされます。このID演算を追加すると、正しくフィード(オーバーライドx)すると結果(ID)に何もせずに取り出します(xの出力としてフィードされたものが何であるか)。

+0

のようなことを実行した、場合、私は情報の重要な部分を忘れてしまったし、このようなコード

sess.run()内部テンソルxを実行しようとして進め働くだろうはい。あなたは正しいです!私はあなたがこの答えを投稿していたとき、私が間違っていたことを理解し、答えを投稿しました。あなたの答えを投稿する時間をとっていただきありがとうございます。私は今理解しています –

+0

実行するものがないときに 'sess.run()'の中で 'x'を実行しようとしていました –

+0

副質問として、' y = tf.identityの代わりに 'y = x' x) 'は' y'を 'x'に変更するでしょうか? –

0

私は間違っていた

xはプレースホルダです。情報を保持しており、xは何もしません。たとえば、そこに別のテンソルyxに依存することだったと私はsess.run([y], feed_dict=feed_dict)

関連する問題