DL Keras框架图像输入的3D张量和4D张量之间的差异

问题描述 投票:3回答:1

按照惯例,图像张量总是3D:它的height的一个维度,一个用于width,第三个用于它的color channel。它的形状看起来像(height, width, color)

例如,一批尺寸为256×256的128色图像可以存储在形状为(128, 256, 256, 3)的4D张量中。颜色通道在此表示RGB颜色。另一个例子是一批128个灰度图像存储在形状为(128, 256, 256, 1)的4D张量中。颜色可以编码为8位整数。

对于第二个示例,最后一个维度是仅包含一个元素的向量。然后可以使用形状(128, 256, 256,)的3D张量代替。

这就是我的问题:我想知道使用3D张量而不是4D张量作为使用keras的深度学习框架的训练输入之间是否存在差异。

编辑:我的输入图层是conv2D

python image keras shapes tensor
1个回答
1
投票

我看一下conv2Dhere的Keras文档,你会发现输入张量的形状必须是4D。

conv2D层输入形状 4D张量与形状:(batch, channels, rows, cols)如果data_format是“channels_first”或4D张量与形状:(batch, rows, cols, channels)如果data_format是“channels_last”。

因此,形状的第四维是强制性的,即使对于灰度图像仅为“1”。 所以事实上,它不是性能提升的问题,也不是缺乏简单性,它只是强制性输入参数的形状。 希望它能回答你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.