RandomBrightness classkeras.layers.RandomBrightness(factor, value_range=(0, 255), seed=None, **kwargs)
一个用于训练期间随机调整亮度的预处理层.
该层将随机增加/减少输入RGB图像的亮度.在推理时,输出将与输入相同.调用该层时使用training=True以调整输入的亮度.
注意: 该层在tf.data管道中使用是安全的(与您使用的后端无关).
参数:
factor: 浮点数或2个浮点数的列表/元组,范围在-1.0到1.0之间.该因子用于确定亮度调整的下限和上限.一个浮点数将在这些限制之间随机选择.当选择-1.0时,输出图像将为黑色,当选择1.0时,图像将为全白.当只提供一个浮点数时,例如0.2,则-0.2将用于下限,0.2将用于上限.
value_range: 可选的2个浮点数的列表/元组,用于输入数据的下限和上限.为了不进行更改,使用[0.0, 1.0],例如,如果图像输入在此层之前已被缩放.默认为[0.0, 255.0].亮度调整将缩放到此范围,输出值将被裁剪到此范围.
seed: 可选的整数,用于固定的RNG行为.
输入:3D(HWC)或4D(NHWC)张量,具有浮点数或整数数据类型.输入像素值可以是任何范围(例如[0., 1.)或[0, 255])
输出:基于factor调整亮度的3D(HWC)或4D(NHWC)张量.默认情况下,该层将输出浮点数.输出值将被裁剪到范围[0, 255],即RGB颜色的有效范围,并根据需要根据value_range进行缩放.
示例:
random_bright = keras.layers.RandomBrightness(factor=0.2)
# 一个形状为[2, 2, 3]的图像
image = [[[1, 2, 3], [4 ,5 ,6]], [[7, 8, 9], [10, 11, 12]]]
# 假设我们随机选择因子为0.1,那么它将对所有通道应用0.1 * 255
output = random_bright(image, training=True)
# 输出将是int64,每个通道加上25.5并向下取整.
```python
>>> array([[[26.5, 27.5, 28.5]
[29.5, 30.5, 31.5]]
[[32.5, 33.5, 34.5]
[35.5, 36.5, 37.5]]],
shape=(2, 2, 3), dtype=int64)
```