python - Cropping2D 图层裁剪到错误的尺寸
问题描述
我有一个 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)
模型总结:
conv2d_transpose_4 (Conv2DTr (None, 1920, 1152, 3) 195
_________________________________________________________________
cropping2d (Cropping2D) (None, 1920, 1008, 3) 0
=================================================================
解决方案
由于 Keras 文档状态,通过将边除以 2 解决了这个问题:
如果 2 个整数的元组:解释为高度和宽度的两个不同的对称裁剪值。
推荐阅读
- flutter - Dart:地图从地图中添加更多具有不同子类型的条目
- java - 从一个构造函数访问数组列表到另一个构造函数android
- ruby-on-rails - file_field_tag:仅上传小于特定大小的 zip 文件 - RAILS
- javascript - 如何在没有 Jquery 的情况下在本地使用 javascript 加载 json 文件?
- php - Why is this custom wordpress link not clickable?
- javascript - Nest 无法解析 BlahService 的依赖关系,尽管它是 Global()
- php - 使用 header("location:URL") 的 PHP 重定向问题
- ios - iOS 13 中的蓝牙权限请求警报,但应用程序不使用蓝牙
- android - E/SQLiteLog: (1) “NOT”附近:语法错误
- powershell - 尝试在 CSV 上使用 PowerShell 计算网站故障率和上次故障日期