RandomRotation
classkeras.layers.RandomRotation(
factor,
fill_mode="reflect",
interpolation="bilinear",
seed=None,
fill_value=0.0,
value_range=(0, 255),
data_format=None,
**kwargs
)
一个在训练期间随机旋转图像的预处理层.
该层将对每个图像应用随机旋转,并根据 fill_mode
填充空白区域.
默认情况下,随机旋转仅在训练期间应用.在推理时,该层不执行任何操作.如果你需要在推理时应用随机旋转,请在调用该层时传递 training=True
.
输入像素值可以是任何范围(例如 [0., 1.)
或 [0, 255]
)和整数或浮点数据类型.默认情况下,该层将输出浮点数.
注意: 该层在 tf.data
管道中使用是安全的(无论你使用哪个后端).
输入形状:
具有形状的 3D(未批处理)或 4D(批处理)张量:
(..., height, width, channels)
,在 "channels_last"
格式中
输出形状:
具有形状的 3D(未批处理)或 4D(批处理)张量:
(..., height, width, channels)
,在 "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"
时边界外填充的值.