张量流如何使用tf.map_fn批量处理(?,40,30,128)和(?,40,30)的两个输入张量形状?是我的批量大小

时间:2019-05-15 14:14:35

标签: python tensorflow

我正在使用TF1.12。

我得到的函数输入大小为fn([40, 30, 128],[40, 30])并返回tf.float32

但是批次大小,我不知道该怎么办。然后我发现了这个function tf.map_fn。我有两个输入,所以我应该把输入放在哪里。 input1 [?, 40, 30, 128]input2 [?, 40, 30]

批处理大小为None,但它们相等。

任何与之相关的事情都会感激不尽。我是tensorflow的新手,所以对您有所帮助。

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以这样做:

tf.map_fn(lambda inp: fn(inp[0], inp[1]), (input1, input2))

请注意,tf.map_fn通常比使用矢量化解决方案要慢。考虑是否可以使fn处理一批数据而不是单个批处理元素。