Класс RandomFlip
Класс RandomFlip относится к слоям предобработки изображений в TensorFlow Keras.
Он случайным образом отражает изображения по горизонтали или вертикали с заданной
вероятностью. Слой активен только во время обучения и не изменяет данные при
инференсе. Первым параметром передается режим отражения: "horizontal",
"vertical" или "horizontal_and_vertical". Вторым параметром
указывается вероятность применения отражения seed - целое число для
воспроизводимости случайных преобразований.
Синтаксис
tf.keras.layers.RandomFlip(mode="horizontal_and_vertical", seed=None)
Пример
Давайте создадим слой случайного горизонтального отражения и применим его к тензору изображения:
import tensorflow as tf
tf.random.set_seed(0)
layer = tf.keras.layers.RandomFlip(mode="horizontal", seed=0)
t = tf.constant([[[1], [2], [3]], [[4], [5], [6]]])
res = layer(t, training=True)
print(res)
Результат выполнения кода:
tf.Tensor(
[[[3.]
[2.]
[1.]]
[[6.]
[5.]
[4.]]], shape=(2, 3, 1), dtype=float32)
Пример
Давайте создадим слой случайного вертикального отражения и применим его к тензору изображения:
Результат выполнения кода:
tf.Tensor(
[[[4.]
[5.]
[6.]]
[[1.]
[2.]
[3.]]], shape=(2, 3, 1), dtype=float32)
Пример
Давайте создадим слой случайного отражения по горизонтали и вертикали и применим его к тензору изображения:
Результат выполнения кода:
tf.Tensor(
[[[6.]
[5.]
[4.]]
[[3.]
[2.]
[1.]]], shape=(2, 3, 1), dtype=float32)
Смотрите также
-
класс
RandomRotation,
который случайно поворачивает изображения -
класс
RandomZoom,
который случайно масштабирует изображения -
функцию
flip_left_right,
которая отражает изображения по горизонтали -
функцию
flip_up_down,
которая отражает изображения по вертикали