gpt4 book ai didi

python - 为什么tensorflow的max_pooling2d需要rank 4的输入?

转载 作者:太空宇宙 更新时间:2023-11-03 15:06:44 25 4
gpt4 key购买 nike

我有形状为[batch_size, x, y]的数据,我想将其通过最大池化层以池化x和y平面中的2D部分,从而得到一个2D矩阵batch_size 中每个元素的最大值向量。但是tensorflow的layers.max_pooling2d要求输入有4个维度。解决这个问题的唯一方法是将每个示例的维度扩展为具有“虚拟”第四维度吗?因为这样做会导致我的模型稍后出现问题。

最佳答案

最大池化层旨在与二维图像一起使用,但具有一定数量的 channel 。这就是为什么the documentation表示输入形状为“如果 data_format 为 NHWC,则输入形状为[batch_size, height, width,channels];如果 data_format 为 NCHW,则输入形状为 [batch_size,channels, height, width]”。

典型 3 channel 图像中的 channel 是红色、蓝色和绿色分量,或者是 4 channel 图像中的红色、绿色、蓝色和 Alpha。在这种情况下,您可能应该扩展维度并使用单个 channel (如果您打算拥有多个 channel ,则重新访问您的数据处理管道)。

显然,最大池化比仅用于图像更通用,但我相信在图像处理中已经对它们进行了大量工作,因此该界面可能是常见用例的产物。

如果您需要在使用最大池化层后删除额外的维度,只需再次 reshape 数据即可。

关于python - 为什么tensorflow的max_pooling2d需要rank 4的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44593486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com