tf.keras.layers.RandomContrast
Stay organized with collections
Save and categorize content based on your preferences.
A preprocessing layer which randomly adjusts contrast during training.
Inherits From: Layer
, Module
tf.keras.layers.RandomContrast(
factor, seed=None, **kwargs
)
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.
The output value will be clipped to the range [0, 255]
, the valid
range of RGB colors.
For an overview and full list of preprocessing layers, see the preprocessing
guide.
|
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.
|
Arguments |
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 |
auto_vectorize
|
Control whether automatic vectorization occurs.
By default the call() method leverages the tf.vectorized_map() function.
Auto-vectorization can be disabled by setting self.auto_vectorize = False
in your __init__() method. When disabled, call() instead relies
on tf.map_fn() . For example:
class SubclassLayer(BaseImageAugmentationLayer):
def __init__(self):
super().__init__()
self.auto_vectorize = False
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2023-10-06 UTC.
[null,null,["Last updated 2023-10-06 UTC."],[],[],null,["# tf.keras.layers.RandomContrast\n\n\u003cbr /\u003e\n\n|----------------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/keras-team/keras/tree/v2.9.0/keras/layers/preprocessing/image_preprocessing.py#L1367-L1453) |\n\nA preprocessing layer which randomly adjusts contrast during training.\n\nInherits From: [`Layer`](../../../tf/keras/layers/Layer), [`Module`](../../../tf/Module)\n\n#### View aliases\n\n\n**Main aliases**\n\n[`tf.keras.layers.experimental.preprocessing.RandomContrast`](https://www.tensorflow.org/api_docs/python/tf/keras/layers/RandomContrast)\n\n\u003cbr /\u003e\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 by a random\nfactor. Contrast is adjusted independently for each channel of each image\nduring 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. By default, the layer will output floats.\nThe output value will be clipped to the range `[0, 255]`, the valid\nrange of RGB colors.\n\nFor an overview and full list of preprocessing layers, see the preprocessing\n[guide](https://www.tensorflow.org/guide/keras/preprocessing_layers).\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| Arguments --------- ||\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| `auto_vectorize` | Control whether automatic vectorization occurs. \u003cbr /\u003e By default the `call()` method leverages the [`tf.vectorized_map()`](../../../tf/vectorized_map) function. Auto-vectorization can be disabled by setting `self.auto_vectorize = False` in your `__init__()` method. When disabled, `call()` instead relies on [`tf.map_fn()`](../../../tf/map_fn). For example: class SubclassLayer(BaseImageAugmentationLayer): def __init__(self): super().__init__() self.auto_vectorize = False \u003cbr /\u003e |\n\n\u003cbr /\u003e"]]