TensorFlow:使用未填充数据评估使用填充数据训练的网络(ValueError:无法提供形状值...)

时间:2016-12-08 11:41:39

标签: python tensorflow

我已经培训了一个dynamic_rnn网络,其中形状(batch_size, sequence_lengh, depth)的输入数据已被手动填充到最长示例的长度(在本例中为97),并将其保存为检查点。 评估网络上的真实世界数据"我加载检查点并将未填充的数据提供给恢复的输入张量(使用tf.Session.run())。我收到了

ValueError: Cannot feed value of shape (1, 1, 32) for Tensor 'input_x:0', which has shape '(?, 97, 32)'

使用tf.Graph.get_operation_by_name()恢复输入张量。

一个可能的解决方法是填充输入,使其符合(?,97,32),但由于支持批量填充(直观上应该遇到同样的问题),我希望能指向一个指针更好的解决方案。

1 个答案:

答案 0 :(得分:0)

输入的序列长度必须与训练数据的序列长度相同。构建神经网络以接受一定大小的阵列。在你的情况下,它是一个长度为97的序列,长度为32。

你可以把它想象成一个非常严格的numpy函数,它对除了第一维之外的所有东西都有硬编码的大小限制。您应该使用与填充训练数据相同的填充填充输入。