Tensorflow - 不同长度的喂养示例

时间:2016-07-13 08:55:37

标签: python tensorflow

我的每个训练样例都是一个长度不同的列表。 我试图找到一种方法将这些示例提供给图表。 下面是我尝试通过创建一个列表,其元素是具有未知维度的占位符。

graph2 = tf.Graph()
with graph2.as_default():
    A = list ()
    for i in np.arange(3):
        A.append(tf.placeholder(tf.float32 ,shape = [None,None]))
    A_size = tf.shape(A)

with tf.Session(graph=graph2) as session:
  tf.initialize_all_variables().run()
  feed_dict = {A[0]:np.zeros((3,7)) ,A[1] : np.zeros((3,2)) , A[2] : np.zeros((3,2)) }
  print ( type(feed_dict))
  B = session.run(A_size ,feed_dict=feed_dict)
print type(B)

但是我收到以下错误:

InvalidArgumentError: Shapes of all inputs must match: values[0].shape = [3,7] != values[1].shape = [3,2]

有关如何解决它的任何想法?

1 个答案:

答案 0 :(得分:2)

来自tf.placeholder的文档:

  

形状:要进给的张量的形状(可选)。如果未指定形状,则可以提供任何形状的张量。

您需要写shape=None而不是shape=[None, None]。使用您的代码,Tensorflow不知道您正在处理可变大小的输入。