RandomZoom
类tf_keras.layers.RandomZoom(
height_factor,
width_factor=None,
fill_mode="reflect",
interpolation="bilinear",
seed=None,
fill_value=0.0,
**kwargs
)
在训练期间随机缩放图像的预处理层。
此层将独立地随机放大或缩小图像每个轴上的内容,并根据 fill_mode
填充空白区域。
输入像素值可以是任何范围(例如 [0., 1.)
或 [0, 255]
)以及整数或浮点类型。默认情况下,该层将输出浮点数。
有关预处理层的概述和完整列表,请参阅预处理 指南。
参数
height_factor=(0.2, 0.3)
将导致输出缩小随机范围 [+20%, +30%]
。height_factor=(-0.3, -0.2)
将导致输出放大随机范围 [+20%, +30%]
。width_factor=(0.2, 0.3)
将导致输出缩小 20% 到 30%。width_factor=(-0.3, -0.2)
将导致输出放大 20% 到 30%。None
表示即保留纵横比垂直和水平方向缩放。默认为 None
。{"constant", "reflect", "wrap", "nearest"}
中的一个)填充输入边界之外的点。(d c b a | a b c d | d c b a)
通过关于最后一个像素边缘反射来扩展输入。(k k k k | a b c d | k k k k)
通过用相同的常数值 k = 0 填充边缘之外的所有值来扩展输入。(a b c d | a b c d | a b c d)
通过环绕到相对边缘来扩展输入。(a a a a | a b c d | d d d d)
通过最近的像素来扩展输入。"nearest"
、"bilinear"
。fill_mode="constant"
时填充边界之外的值。示例
>>> input_img = np.random.random((32, 224, 224, 3))
>>> layer = tf.keras.layers.RandomZoom(.5, .2)
>>> out_img = layer(input_img)
>>> out_img.shape
TensorShape([32, 224, 224, 3])
输入形状
3D(非批处理)或 4D(批处理)张量,形状为:(..., height, width, channels)
,采用 "channels_last"
格式。
输出形状
3D(非批处理)或 4D(批处理)张量,形状为:(..., height, width, channels)
,采用 "channels_last"
格式。