我遇到了一个问题,我们将一批形状[128,3]输入到tensorflow模型中(与许多其他输入一起(,当我将模型的输出定义为tf.shape(输入(时,输出为:
[32, 3, 32, 3, 32, 3, 32, 3]
我已经问过一次类似的问题,有一个工作代码示例,但没有人回答。如果有人想看,下面是链接:链接所以这一次,我不会添加任何代码,希望有人能回答这个问题:
不管模型是什么,这怎么可能发生呢?为什么tensorflow只是改变输入的形状?
此行为仅适用于大于32的批处理大小,否则输出正确为[batch_size,3]。当我刚从模型返回输入,并打印np.shape(输出(时,这又是[128,3]。
我完全不明白为什么会发生这样的事情,我希望任何人都能向我解释
不要在输入层中指定batch_size
例如,使用
feature_1 = layers.Input(shape=(2,), dtype=tf.float32)
这将为批次维度提供-1,这意味着它可以接受任何大小的批次。