This layer will flip the images horizontally and or vertically based on the
mode attribute. During inference time, the output will be identical to
input. Call the layer with training=True to flip the input.
Input pixel values can be of any range (e.g. [0., 1.) or [0, 255]) and
of integer or floating point dtype.
By default, the layer will output floats.
Input shape
3D
unbatched) or 4D (batched) tensor with shape
(..., height, width, channels), in "channels_last" format.
Output shape
3D
unbatched) or 4D (batched) tensor with shape
(..., height, width, channels), in "channels_last" format.
Args
mode
String indicating which flip mode to use. Can be "horizontal",
"vertical", or "horizontal_and_vertical". "horizontal" is a
left-right flip and "vertical" is a top-bottom flip. Defaults to
"horizontal_and_vertical"
seed
Integer. Used to create a random seed.
**kwargs
Base layer keyword arguments, such as
name and dtype.
Attributes
input
Retrieves the input tensor(s) of a symbolic operation.
Only returns the tensor(s) corresponding to the first time
the operation was called.
output
Retrieves the output tensor(s) of a layer.
Only returns the tensor(s) corresponding to the first time
the operation was called.
This method is the reverse of get_config,
capable of instantiating the same layer from the config
dictionary. It does not handle layer connectivity
(handled by Network), nor weights (handled by set_weights).
Args
config
A Python dictionary, typically the
output of get_config.
[null,null,["Last updated 2024-06-07 UTC."],[],[],null,["# tf.keras.layers.RandomFlip\n\n\u003cbr /\u003e\n\n|--------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/keras-team/keras/tree/v3.3.3/keras/src/layers/preprocessing/random_flip.py#L10-L97) |\n\nA preprocessing layer which randomly flips images during training.\n\nInherits From: [`Layer`](../../../tf/keras/Layer), [`Operation`](../../../tf/keras/Operation) \n\n tf.keras.layers.RandomFlip(\n mode=HORIZONTAL_AND_VERTICAL, seed=None, **kwargs\n )\n\n### Used in the notebooks\n\n| Used in the guide | Used in the tutorials |\n|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| - [Working with preprocessing layers](https://www.tensorflow.org/guide/keras/preprocessing_layers) | - [Image segmentation](https://www.tensorflow.org/tutorials/images/segmentation) - [Image classification](https://www.tensorflow.org/tutorials/images/classification) - [Data augmentation](https://www.tensorflow.org/tutorials/images/data_augmentation) - [Transfer learning and fine-tuning](https://www.tensorflow.org/tutorials/images/transfer_learning) - [Retraining an Image Classifier](https://www.tensorflow.org/hub/tutorials/tf2_image_retraining) |\n\nThis layer will flip the images horizontally and or vertically based on the\n`mode` attribute. During inference time, the output will be identical to\ninput. Call the layer with `training=True` to flip the input.\nInput pixel values can be of any range (e.g. `[0., 1.)` or `[0, 255]`) and\nof integer or floating point dtype.\nBy default, the layer will output floats.\n| **Note:** This layer is safe to use inside a [`tf.data`](../../../tf/data) pipeline (independently of which backend you're using).\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Input shape ----------- ||\n|------|----------------------------------------------------------------------------------------------------------------------|\n| `3D` | `unbatched) or 4D (batched) tensor with shape` \u003cbr /\u003e `(..., height, width, channels)`, in `\"channels_last\"` format. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Output shape ------------ ||\n|------|----------------------------------------------------------------------------------------------------------------------|\n| `3D` | `unbatched) or 4D (batched) tensor with shape` \u003cbr /\u003e `(..., height, width, channels)`, in `\"channels_last\"` format. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `mode` | String indicating which flip mode to use. Can be `\"horizontal\"`, `\"vertical\"`, or `\"horizontal_and_vertical\"`. `\"horizontal\"` is a left-right flip and `\"vertical\"` is a top-bottom flip. Defaults to `\"horizontal_and_vertical\"` |\n| `seed` | Integer. Used to create a random seed. |\n| `**kwargs` | Base layer keyword arguments, such as `name` and `dtype`. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Attributes ---------- ||\n|----------|------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `input` | Retrieves the input tensor(s) of a symbolic operation. \u003cbr /\u003e Only returns the tensor(s) corresponding to the *first time* the operation was called. |\n| `output` | Retrieves the output tensor(s) of a layer. \u003cbr /\u003e Only returns the tensor(s) corresponding to the *first time* the operation was called. |\n\n\u003cbr /\u003e\n\nMethods\n-------\n\n### `from_config`\n\n[View source](https://github.com/keras-team/keras/tree/v3.3.3/keras/src/ops/operation.py#L191-L213) \n\n @classmethod\n from_config(\n config\n )\n\nCreates a layer from its config.\n\nThis method is the reverse of `get_config`,\ncapable of instantiating the same layer from the config\ndictionary. It does not handle layer connectivity\n(handled by Network), nor weights (handled by `set_weights`).\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ||\n|----------|----------------------------------------------------------|\n| `config` | A Python dictionary, typically the output of get_config. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ||\n|---|---|\n| A layer instance. ||\n\n\u003cbr /\u003e\n\n### `symbolic_call`\n\n[View source](https://github.com/keras-team/keras/tree/v3.3.3/keras/src/ops/operation.py#L58-L70) \n\n symbolic_call(\n *args, **kwargs\n )"]]