我已经培训了一个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),但由于支持批量填充(直观上应该遇到同样的问题),我希望能指向一个指针更好的解决方案。
答案 0 :(得分:0)
输入的序列长度必须与训练数据的序列长度相同。构建神经网络以接受一定大小的阵列。在你的情况下,它是一个长度为97的序列,长度为32。
你可以把它想象成一个非常严格的numpy
函数,它对除了第一维之外的所有东西都有硬编码的大小限制。您应该使用与填充训练数据相同的填充填充输入。