2017-02-10 9 views
2

と形状の不一致の問題は、私がコードで何が間違っていることを確認していません。Tensorflow:私はfeed_dictとしてx_data渡そうとしたが、エラーの下に取得しています1次元データ

InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'x_12' with dtype int32 and shape [1000] 
    [[Node: x_12 = Placeholder[dtype=DT_INT32, shape=[1000], _device="/job:localhost/replica:0/task:0/cpu:0"]()]] 

マイコード:

import tensorflow as tf 
import numpy as np 
model = tf.global_variables_initializer() 
#define x and y 
x = tf.placeholder(shape=[1000],dtype=tf.int32,name="x") 
y = tf.Variable(5*x**2-3*x+15,name = "y") 
x_data = tf.pack(np.random.randint(0,100,size=1000)) 
print(x_data) 
print(x) 
with tf.Session() as sess: 
    sess.run(model) 
    print(sess.run(y,feed_dict={x:x_data})) 

私はxx_dataの形状をチェックし、それは私が1次元データで働いている同じ

Tensor("pack_8:0", shape=(1000,), dtype=int32) 
Tensor("x_14:0", shape=(1000,), dtype=int32) 

です。 お手数ですが、ありがとうございます!

答えて

1

それは私が最初に私がTensorするyを変更し、二つのことを変更した動作させるために。そして第二にhereがコメントとして、私は、Tensorx_dataを変更していない:

オプションfeed_dict引数は、呼び出し側がグラフにテンソルの値を上書きすることができます。 feed_dictの各キーは、次のタイプのいずれかになります。

キーがテンソルの場合、値はそのテンソルと同じdtypeに変換できるPythonスカラー、文字列、リスト、またはnumpyのndarrayです。さらに、キーがプレースホルダーである場合、値の形状はプレースホルダーとの互換性がチェックされます。私の作品

変更されたコード:

import tensorflow as tf 
import numpy as np 
model = tf.global_variables_initializer() 
#define x and y 
x = tf.placeholder(shape=[1000],dtype=tf.int32,name="x") 
y = 5*x**2-3*x+15 # without tf.Variable, making it a tf.Tensor 
x_data = np.random.randint(0,100,size=1000) # without tf.pack 
print(x_data) 
print(x) 
with tf.Session() as sess: 
    sess.run(model) 
    print(sess.run(y,feed_dict={x:x_data})) 
関連する問題