【问题标题】:Cropping2D layer crops to wrong dimensionsCropping2D 图层裁剪到错误的尺寸
【发布时间】:2020-01-05 06:09:10
【问题描述】:

我有一个 1920×1153×3 的 keras 张量,需要裁剪为 1920×1080。但是,创建裁剪图层并传递形状的差异会导致其尺寸错误。这种方法使张量的形状为 1920×1920。

代码:

        def crop(x, size):
            shape = K.int_shape(x)
            shape_diff = shape[1] - size[1], shape[2] - size[2]
            print(shape_diff)
            y = tf.keras.layers.Cropping2D(shape_diff)(x)
            return y

model.summary 和 shape_diff 的部分输出:

形状差异: (0,72)

model.summary:

conv2d_transpose_4 (Conv2DTr (None, 1920, 1152, 3)     195       
_________________________________________________________________
cropping2d (Cropping2D)      (None, 1920, 1008, 3)     0         
=================================================================

【问题讨论】:

    标签: python arrays tensorflow keras crop


    【解决方案1】:

    通过将边除以 2 解决了这个问题,因为 Keras 文档指出:

    如果 2 个整数的元组:解释为 两个不同的对称高度和宽度裁剪值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 2019-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2010-12-26
      相关资源
      最近更新 更多