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

RandomTranslation 层

[源代码]

RandomTranslation

tf_keras.layers.RandomTranslation(
    height_factor,
    width_factor,
    fill_mode="reflect",
    interpolation="bilinear",
    seed=None,
    fill_value=0.0,
    **kwargs
)

一个预处理层,可在训练期间随机平移图像。

此层将在训练期间对每个图像应用随机平移,并根据 fill_mode 填充空白区域。

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

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

参数

  • height_factor:一个表示值的比例的浮点数,或一个表示垂直偏移的下限和上限的长度为 2 的元组。负值表示向上平移图像,正值表示向下平移图像。当表示为单个正浮点数时,此值用于上限和下限。例如,height_factor=(-0.2, 0.3) 会导致输出在 [-20%, +30%] 的范围内进行随机偏移。height_factor=0.2 会导致输出高度在 [-20%, +20%] 的范围内进行随机偏移。
  • width_factor:一个表示值的比例的浮点数,或一个表示水平偏移的下限和上限的长度为 2 的元组。负值表示向左平移图像,正值表示向右平移图像。当表示为单个正浮点数时,此值用于上限和下限。例如,width_factor=(-0.2, 0.3) 会导致输出向左偏移 20%,向右偏移 30%。width_factor=0.2 会导致输出高度向左或向右偏移 20%。
  • 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" 时用于填充边界之外的值。

输入形状

3D(非批量)或 4D(批量)张量,形状为:(..., height, width, channels),采用 "channels_last" 格式。

输出形状

3D(非批量)或 4D(批量)张量,形状为:(..., height, width, channels),采用 "channels_last" 格式。