随机平移层

[源码]

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"` 格式。