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
不为零或是一个包含两个整数的列表时,使用 RandAugment 的简化版本 (https://arxiv.org/abs/1909.13719)。会创建一个 'augment_layers' 的搜索空间来搜索 [0, augment_layers
],如果 augment_layers
是一个列表,则在两个整数之间搜索。对于每个 trial,超参数 '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'。这两个增强会应用于所有样本,每个 trial 选择一个因子。
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 中选择。