我想传入一个填充了不同形状的多维数组的数组。将其传递到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'形状仍存在问题。
答案 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>})