2015-11-19 9 views
16

私は単純なフィードフォワードネットワークを実装しようとしています。しかし、私はPlaceholderをどのようにフィードするのか分かりません。この例:プレースホルダのフィード方法は?

import tensorflow as tf 

num_input = 2 
num_hidden = 3 
num_output = 2 

x = tf.placeholder("float", [num_input, 1]) 
W_hidden = tf.Variable(tf.zeros([num_hidden, num_input])) 
W_out = tf.Variable(tf.zeros([num_output, num_hidden])) 
b_hidden = tf.Variable(tf.zeros([num_hidden])) 
b_out = tf.Variable(tf.zeros([num_output])) 

h = tf.nn.softmax(tf.matmul(W_hidden,x) + b_hidden) 

sess = tf.Session() 

with sess.as_default(): 
    print h.eval() 

は私に次のエラーを与える:

... 
    results = self._do_run(target_list, unique_fetch_targets, feed_dict_string) 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 419, in _do_run 
    e.code) 
tensorflow.python.framework.errors.InvalidArgumentError: You must feed a value for placeholder tensor 'Placeholder' with dtype float and shape dim { size: 2 } dim { size: 1 } 
    [[Node: Placeholder = Placeholder[dtype=DT_FLOAT, shape=[2,1], _device="/job:localhost/replica:0/task:0/cpu:0"]()]] 
Caused by op u'Placeholder', defined at: 
    File "/home/sfalk/workspace/SemEval2016/java/semeval2016-python/slot1_tf.py", line 8, in <module> 
    x = tf.placeholder("float", [num_input, 1]) 
    ... 

私は

tf.assign([tf.Variable(1.0), tf.Variable(1.0)], x) 
tf.assign([1.0, 1.0], x) 

を試してみましたが、それは明らかに動作しません。

+0

良い質問、私はあまりにもtihisを図にしようとしてきた –

答えて

28

プレースホルダを入力するには、引数をSession.run()(またはTensor.eval())に設定します。あなたが、プレースホルダと、次のグラフがあるとしましょう:

x = tf.placeholder(tf.float32, shape=[2, 2]) 
y = tf.constant([[1.0, 1.0], [0.0, 1.0]]) 
z = tf.matmul(x, y) 

あなたがzを評価したい場合、あなたはxの値を供給しなければなりません。詳細については、

sess = tf.Session() 
print sess.run(z, feed_dict={x: [[3.0, 4.0], [5.0, 6.0]]}) 

documentation on feedingを参照してください:あなたは、次のようにこれを行うことができます。

+0

うーん..そこに他の方法はありませんか?たとえば、もし私が不便に思えます。中間結果を見たい。 – displayname

+0

'Tendor.eval()'に 'feed_dict'引数を渡すこともできます。これはグラフ作成時に便利です。 「sticky」プレースホルダが必要な場合は、 'sess.run()'をラップし、フィード値のセットを取得し、毎回 'run()'コールに渡す独自の関数を作成することをお勧めします。 – mrry

+0

@mrry、あなたのコメントの例を挙げることができますか?ありがとう – Amir

関連する問題