This layer will randomly adjust the contrast of an image or images
by a random factor. Contrast is adjusted independently
for each channel of each image during training.
For each channel, this layer computes the mean of the image pixels in the
channel and then adjusts each component x of each pixel to
(x - mean) * contrast_factor + mean.
Input pixel values can be of any range (e.g. [0., 1.) or [0, 255]) and
in 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
factor
a positive float represented as fraction of value, or a tuple of
size 2 representing lower and upper bound.
When represented as a single float, lower = upper.
The contrast factor will be randomly picked between
[1.0 - lower, 1.0 + upper]. For any pixel x in the channel,
the output will be (x - mean) * factor + mean
where mean is the mean value of the channel.
seed
Integer. Used to create a random seed.
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.RandomContrast\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_contrast.py#L6-L98) |\n\nA preprocessing layer which randomly adjusts contrast during training.\n\nInherits From: [`Layer`](../../../tf/keras/Layer), [`Operation`](../../../tf/keras/Operation) \n\n tf.keras.layers.RandomContrast(\n factor, seed=None, **kwargs\n )\n\nThis layer will randomly adjust the contrast of an image or images\nby a random factor. Contrast is adjusted independently\nfor each channel of each image during training.\n\nFor each channel, this layer computes the mean of the image pixels in the\nchannel and then adjusts each component `x` of each pixel to\n`(x - mean) * contrast_factor + mean`.\n\nInput pixel values can be of any range (e.g. `[0., 1.)` or `[0, 255]`) and\nin 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| `factor` | a positive float represented as fraction of value, or a tuple of size 2 representing lower and upper bound. When represented as a single float, lower = upper. The contrast factor will be randomly picked between `[1.0 - lower, 1.0 + upper]`. For any pixel x in the channel, the output will be `(x - mean) * factor + mean` where `mean` is the mean value of the channel. |\n| `seed` | Integer. Used to create a random seed. |\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 )"]]