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 预处理层中图像增强操作的最佳组合。模型的输入形状应为 (height, width, channels)。模型的输出与输入形状相同。
参数
(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 非零或是一个由两个整数组成的列表时,将使用 RandAugment(https://arxiv.org/abs/1909.13719) 的简化版本。为 'augment_layers' 创建一个搜索空间,搜索范围为 [0, augment_layers],或者如果 augment_layers 是一个列表,则在两个整数之间搜索。对于每次试验,超参数 '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 中选择。