Keras 2 API 文档 / 层 API / 预处理层 / 图像增强层 / RandomRotation 层

RandomRotation 层

[源]

RandomRotation

tf_keras.layers.RandomRotation(
    factor,
    fill_mode="reflect",
    interpolation="bilinear",
    seed=None,
    fill_value=0.0,
    **kwargs
)

在训练期间随机旋转图像的预处理层。

该层将对每张图像应用随机旋转,并根据 fill_mode 填充空白区域。

默认情况下,随机旋转仅在训练期间应用。在推理时,该层不执行任何操作。如果需要在推理时应用随机旋转,请在调用该层时将 training 设置为 True。

输入像素值可以是任何范围(例如 [0., 1.)[0, 255]),并且可以是整数或浮点数数据类型(dtype)。默认情况下,该层将输出浮点数。

有关预处理层的概述和完整列表,请参阅预处理指南

输入形状

形状为 (..., 高度, 宽度, 通道数) 的 3D(非批量)或 4D(批量)张量,格式为 "channels_last"

输出形状

形状为 (..., 高度, 宽度, 通道数) 的 3D(非批量)或 4D(批量)张量,格式为 "channels_last"

参数

  • factor: 一个浮点数,表示 2 Pi 的分数,或者一个大小为 2 的元组,表示顺时针和逆时针旋转的下限和上限。正值表示逆时针旋转,负值表示顺时针旋转。当表示为单个浮点数时,该值将同时用作下限和上限。例如,factor=(-0.2, 0.3) 导致输出在 [-20% * 2pi, 30% * 2pi] 范围内随机旋转。factor=0.2 导致输出在 [-20% * 2pi, 20% * 2pi] 范围内随机旋转。
  • fill_mode: 根据给定模式({"constant", "reflect", "wrap", "nearest"} 之一)填充输入边界之外的点。
    • reflect: (d c b a | a b c d | d c b a) 通过沿着最后一个像素的边缘进行反射来扩展输入。
    • constant: (k k k k | a b c d | k k k k) 通过用相同的常数值 k = 0 填充边缘之外的所有值来扩展输入。
    • wrap: (a b c d | a b c d | a b c d) 通过环绕到对侧边缘来扩展输入。
    • nearest: (a a a a | a b c d | d d d d) 通过最近的像素来扩展输入。
  • interpolation: 插值模式。支持的值:"nearest", "bilinear"
  • seed: 整数。用于创建随机种子。
  • fill_value: 一个浮点数,表示当 fill_mode="constant" 时用于填充边界之外的值。