【问题标题】:Tensorflow splits batches for no reasonTensorFlow 无缘无故分批
【发布时间】:2021-07-19 09:25:26
【问题描述】:

我遇到了一个问题,我将一批形状 [128, 3] 输入到张量流模型中(连同许多其他输入),并且当我将模型的输出定义为 tf.shape(input) ,则输出为:

[32, 3, 32, 3, 32, 3, 32, 3]

我已经问过一次类似的问题,有一个工作代码示例,但没有人回答。如果有人想看它,这是链接: Link 所以这次就不加代码了,希望有人能回答一下:

无论模型是什么,这怎么可能发生? 为什么 tensorflow 只是改变输入的形状?

这种行为只存在于大于 32 的批大小,否则正确的输出是 [batch_size, 3]。当我只是从模型返回输入并打印 np.shape(output) 时,这又是 [128, 3]。

我很困惑为什么会发生这样的事情,我希望任何人都可以向我解释。

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    不要在输入层中指定batch_size

    例如使用

    feature_1 = layers.Input(shape=(2,), dtype=tf.float32)
    

    这将为批次维度提供 -1,这意味着它可以采用任何大小的批次。

    【讨论】:

      猜你喜欢
      • 2021-12-30
      • 2017-04-11
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2018-06-14
      • 2021-02-09
      • 2021-07-07
      • 1970-01-01
      相关资源
      最近更新 更多