HyperImageAugment
类keras_tuner.applications.HyperImageAugment(
input_shape=None,
input_tensor=None,
rotate=0.5,
translate_x=0.4,
translate_y=0.4,
contrast=0.3,
augment_layers=3,
**kwargs
)
图像增强超模型。
HyperImageAugment
类搜索 Keras 预处理层中图像增强操作的最佳组合。模型的输入形状应为 (高度,宽度,通道)。模型的输出与输入形状相同。
参数
(256, 256, 3)
。layers.Input()
的输出),用作模型的图像输入。rotate
是单个数字时,搜索范围为 [0, rotate
]。设置为 None 时,变换关闭。translate_x
是单个数字时,搜索范围为 [0, translate_x
]。设置为 None 时,变换关闭。translate_y
是单个数字时,搜索范围为 [0, translate_y
]。设置为 None 时,变换关闭。contrast
是单个数字时,搜索范围为 [0, contrast
]。设置为 None 时,变换关闭。augment_layers
为 0 时,所有变换都按顺序应用。当 augment_layers
不为零或为两个 int 的列表时,将使用 RandAugment 的简化版本(https://arxiv.org/abs/1909.13719)。将创建“augment_layers”的搜索空间以搜索 [0, augment_layers
],或者如果 augment_layers
是列表,则搜索两个 int 之间。对于每个试验,“augment_layers”超参数确定应用的增强变换层数,每个变换层都从所有可用的变换类型中随机选择,每个样本的概率相等。keras_tuner.HyperModel
。示例
hm_aug = HyperImageAugment(input_shape=(32, 32, 3),
augment_layers=0,
rotate=[0.2, 0.3],
translate_x=0.1,
translate_y=None,
contrast=None)
然后,超模型 hm_aug
将在 [0.2, 0.3] 之间搜索“factor_rotate”,在 [0, 0.1] 之间搜索“factor_translate_x”。这两个增强将应用于所有样本,每个试验都会选择一个因子。
hm_aug = HyperImageAugment(input_shape=(32, 32, 3),
translate_x=0.5,
translate_y=[0.2, 0.4]
contrast=None)
然后,超模型 hm_aug
将在 [0, 0.2] 之间搜索“factor_rotate”,在 [0, 0.5] 之间搜索“factor_translate_x”,在 [0.2, 0.4] 之间搜索“factor_translate_y”。它将使用 RandAugment,在 [0, 3] 之间搜索“augment_layers”。每个样本上的每一层都将从 rotate、translate_x 和 translate_y 中选择。