传递不同大小的数组tf.placeholder的数组

时间:2017-08-25 20:25:58

标签: python tensorflow

我想传入一个填充了不同形状的多维数组的数组。将其传递到sess.run中使用的占位符的最佳方法是什么?

我目前有以下代码,产生错误并不奇怪。

arr = tf.placeholder(tf.float32, shape=None, name='arr_placeholder')
a1, a2, a3, ts = sess.run([model.a1, model.a2, model.a3, train_step], feed_dict={
      x_input: sub_batch[0],
      y_input: sub_batch[1],
      arr_input: arr})
arr = [a1, a2, a3]

产生错误:

ValueError: setting an array element with a sequence.

无论如何,'arr_placeholder'形状仍存在问题。

1 个答案:

答案 0 :(得分:1)

问题与feed_dict输入有关,输入应该是numpy数组而不是list / placeholder。

a1, a2, a3, ts = sess.run([model.a1, model.a2, model.a3, train_step], feed_dict={
  x_input: np.asarray(sub_batch[0]),
  y_input: np.asarray(sub_batch[1]),
  arr_input: <this should be numpy array, not placeholder>})