【问题标题】:Difference between 3D-tensor and 4D-tensor for images input of DL Keras frameworkDL Keras 框架的图像输入的 3D 张量和 4D 张量之间的区别
【发布时间】:2019-08-06 12:36:40
【问题描述】:

按照惯例,图像张量始终是 3D 的:height 为一维,width 为一维,color channel 为第三维。它的形状看起来像(height, width, color)

例如,一批 128 张尺寸为 256x256 的彩色图像可以存储在形状为 (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】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      • 2016-11-29
      • 2023-02-15
      相关资源
      最近更新 更多