How to feed a placeholder?

匿名 (未验证) 提交于 2019-12-03 01:57:01

问题:

I am trying to implement a simple feed forward network. However, I can't figure out how to feed a Placeholder. This example:

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()

Gives me the following error:

  ...     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      x  = tf.placeholder("float", [num_input, 1])   ...

I have tried

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

but that does not work apparently.

回答1:

To feed a placeholder, you use the feed_dict argument to Session.run() (or Tensor.eval()). Let's say you have the following graph, with a placeholder:

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

If you want to evaluate z, you must feed a value for x. You can do this as follows:

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

For more information, see the documentation on feeding.



转载请标明出处:How to feed a placeholder?
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!