RandomTranslation
类keras.layers.RandomTranslation(
height_factor,
width_factor,
fill_mode="reflect",
interpolation="bilinear",
seed=None,
fill_value=0.0,
data_format=None,
**kwargs
)
一个在训练期间随机平移图像的预处理层。
这个层会在训练期间对每张图像应用随机平移,并根据 fill_mode
填充空白区域。
输入像素值可以是任意范围(例如 [0., 1.)
或 [0, 255]
),并且可以是整数或浮点数 dtype。默认情况下,该层将输出浮点数。
输入形状
3D(非批量)或 4D(批量)张量,形状为:采用 "channels_last"
格式的 (..., height, width, channels)
,或采用 "channels_first"
格式的 (..., channels, height, width)
。
输出形状
3D(非批量)或 4D(批量)张量,形状为:(..., target_height, target_width, channels)
,或采用 "channels_first"
格式的 (..., channels, target_height, target_width)
。
注意:该层可以安全地在 tf.data
管线中使用(无论您使用哪个后端)。
参数
height_factor=(-0.2, 0.3)
会导致输出在 [-20%, +30%]
范围内随机移动。height_factor=0.2
会导致输出高度在 [-20%, +20%]
范围内随机移动。width_factor=(-0.2, 0.3)
会导致输出向左移动 20%,向右移动 30%。width_factor=0.2
会导致输出宽度向左或向右移动 20%。"constant"
(常数)、"nearest"
(最近邻)、"wrap"
(环绕)和 "reflect"
(反射)。默认为 "constant"
。"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)
通过使用由 fill_value
指定的相同常数值 k 填充边缘之外的所有值来扩展输入。"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)
通过最近的像素来扩展输入。请注意,使用 torch 后端时,"reflect"
会被重定向到 "mirror"
(c d c b | a b c d | c b a b)
,因为 torch 不支持 "reflect"
。另请注意,torch 后端不支持 "wrap"
。"nearest"
(最近邻)、"bilinear"
(双线性)。fill_mode="constant"
时,表示用于填充边界之外的值的浮点数。"channels_last"
或 "channels_first"
。输入中维度的顺序。"channels_last"
对应于形状为 (batch, height, width, channels)
的输入,而 "channels_first"
对应于形状为 (batch, channels, height, width)
的输入。它默认为您 Keras 配置文件 ~/.keras/keras.json
中的 image_data_format
值。如果您从未设置它,则默认为 "channels_last"
。name
和 dtype
。