diff --git a/keras/src/layers/preprocessing/image_preprocessing/aug_mix.py b/keras/src/layers/preprocessing/image_preprocessing/aug_mix.py index fa7dd33297b1..fd7f7c4960fa 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/aug_mix.py +++ b/keras/src/layers/preprocessing/image_preprocessing/aug_mix.py @@ -5,6 +5,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_example, +) from keras.src.random import SeedGenerator from keras.src.utils import backend_utils @@ -71,6 +74,10 @@ class AugMix(BaseImagePreprocessingLayer): interpolation: The interpolation method to use for resizing operations. Options include `"nearest"`, `"bilinear"`. Default is `"bilinear"`. seed: Integer. Used to create a random seed. + + Example: + + {{base_image_preprocessing_example}} """ _USE_BASE_FACTOR = False @@ -326,3 +333,9 @@ def get_config(self): } base_config = super().get_config() return {**base_config, **config} + + +AugMix.__doc__ = AugMix.__doc__.replace( + "{{base_image_preprocessing_example}}", + base_image_preprocessing_example.replace("{LayerName}", "AugMix"), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/base_image_preprocessing_layer.py b/keras/src/layers/preprocessing/image_preprocessing/base_image_preprocessing_layer.py index 6cd3bc43cc3e..7a1b88dab055 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/base_image_preprocessing_layer.py +++ b/keras/src/layers/preprocessing/image_preprocessing/base_image_preprocessing_layer.py @@ -383,3 +383,70 @@ def _compute_affine_matrix( ) return affine_matrix + + +base_image_preprocessing_transform_example = """ +```python +layer = keras.layers.{LayerName}(bounding_box_format="xyxy") +images = np.random.randint(0, 255, (4, 224, 224, 3), dtype="uint8") + +bounding_boxes = { + "boxes": np.array([ + [[10, 20, 100, 150], [50, 60, 200, 250]], + [[15, 25, 110, 160], [55, 65, 210, 260]], + [[20, 30, 120, 170], [60, 70, 220, 270]], + [[25, 35, 130, 180], [65, 75, 230, 280]], + ], dtype="float32"), + "labels": np.array([[0, 1], [1, 2], [2, 3], [0, 3]], dtype="int32") +} + +labels = keras.ops.one_hot( + np.array([0, 1, 2, 3]), + num_classes=4 +) + +segmentation_masks = np.random.randint(0, 3, (4, 224, 224, 1), dtype="uint8") + +output = layer( + { + "images": images, + "bounding_boxes": bounding_boxes, + "labels": labels, + "segmentation_masks": segmentation_masks + }, + training=True +) +``` +""" + +base_image_preprocessing_example = """ +```python +layer = keras.layers.{LayerName}() +images = np.random.randint(0, 255, (8, 224, 224, 3), dtype="uint8") + +output = layer(images, training=True) +``` +""" + +base_image_preprocessing_color_example = """ +```python +layer = keras.layers.{LayerName}(value_range=(0, 255)) +images = np.random.randint(0, 255, (8, 224, 224, 3), dtype="uint8") + +labels = keras.ops.one_hot( + np.array([0, 1, 2, 0, 1, 2, 0, 1]), + num_classes=3 +) + +segmentation_masks = np.random.randint(0, 3, (8, 224, 224, 1), dtype="uint8") + +output = layer( + { + "images": images, + "labels": labels, + "segmentation_masks": segmentation_masks + }, + training=True +) +``` +""" diff --git a/keras/src/layers/preprocessing/image_preprocessing/cut_mix.py b/keras/src/layers/preprocessing/image_preprocessing/cut_mix.py index a1d07320af4d..c487ffe28df1 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/cut_mix.py +++ b/keras/src/layers/preprocessing/image_preprocessing/cut_mix.py @@ -2,6 +2,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_color_example, +) from keras.src.random import SeedGenerator @@ -29,6 +32,10 @@ class CutMix(BaseImagePreprocessingLayer): in patch sizes, leading to more diverse and larger mixed patches. Defaults to 1. seed: Integer. Used to create a random seed. + + Example: + + {{base_image_preprocessing_color_example}} """ _USE_BASE_FACTOR = False @@ -227,3 +234,9 @@ def get_config(self): } base_config = super().get_config() return {**base_config, **config} + + +CutMix.__doc__ = CutMix.__doc__.replace( + "{{base_image_preprocessing_color_example}}", + base_image_preprocessing_color_example.replace("{LayerName}", "CutMix"), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/max_num_bounding_box.py b/keras/src/layers/preprocessing/image_preprocessing/max_num_bounding_box.py index f7ef37fd66a0..50f6d47a07ae 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/max_num_bounding_box.py +++ b/keras/src/layers/preprocessing/image_preprocessing/max_num_bounding_box.py @@ -15,6 +15,29 @@ class MaxNumBoundingBoxes(BaseImagePreprocessingLayer): max_number: Desired output number of bounding boxes. padding_value: The padding value of the `boxes` and `labels` in `bounding_boxes`. Defaults to `-1`. + + Example: + + ```python + max_boxes_layer = keras.layers.MaxNumBoundingBoxes( + max_number=10, + fill_value=-1 + ) + + images = np.random.randint(0, 255, (1, 224, 224, 3), dtype="uint8") + + bounding_boxes = { + "boxes": np.array([ + [[10, 20, 100, 150], [50, 60, 200, 250], [0, 0, 50, 50]], + ]), + "labels": np.array([[1, 2, 3]]) + } + + result = max_boxes_layer({ + "images": images, + "bounding_boxes": bounding_boxes + }) + ``` """ def __init__(self, max_number, fill_value=-1, **kwargs): diff --git a/keras/src/layers/preprocessing/image_preprocessing/rand_augment.py b/keras/src/layers/preprocessing/image_preprocessing/rand_augment.py index b0dedf5ec63e..cafe83086811 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/rand_augment.py +++ b/keras/src/layers/preprocessing/image_preprocessing/rand_augment.py @@ -3,6 +3,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_example, +) from keras.src.random import SeedGenerator from keras.src.utils import backend_utils @@ -32,6 +35,10 @@ class RandAugment(BaseImagePreprocessingLayer): interpolation: The interpolation method to use for resizing operations. Options include `nearest`, `bilinear`. Default is `bilinear`. seed: Integer. Used to create a random seed. + + Example: + + {{base_image_preprocessing_example}} """ _USE_BASE_FACTOR = False @@ -265,3 +272,9 @@ def get_config(self): } base_config = super().get_config() return {**base_config, **config} + + +RandAugment.__doc__ = RandAugment.__doc__.replace( + "{{base_image_preprocessing_example}}", + base_image_preprocessing_example.replace("{LayerName}", "RandAugment"), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_color_degeneration.py b/keras/src/layers/preprocessing/image_preprocessing/random_color_degeneration.py index 94bce40ad174..ef49ddb0732e 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_color_degeneration.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_color_degeneration.py @@ -2,6 +2,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_color_example, +) from keras.src.random import SeedGenerator @@ -29,6 +32,10 @@ class RandomColorDegeneration(BaseImagePreprocessingLayer): passed float is sampled. In order to ensure the value is always the same, please pass a tuple with two identical floats: `(0.5, 0.5)`. seed: Integer. Used to create a random seed. + + Example: + + {{base_image_preprocessing_color_example}} """ _VALUE_RANGE_VALIDATION_ERROR = ( @@ -133,3 +140,11 @@ def get_config(self): def compute_output_shape(self, input_shape): return input_shape + + +RandomColorDegeneration.__doc__ = RandomColorDegeneration.__doc__.replace( + "{{base_image_preprocessing_color_example}}", + base_image_preprocessing_color_example.replace( + "{LayerName}", "RandomColorDegeneration" + ), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_color_jitter.py b/keras/src/layers/preprocessing/image_preprocessing/random_color_jitter.py index 72a9024b10bc..94b13aebcdf7 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_color_jitter.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_color_jitter.py @@ -6,6 +6,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_color_example, +) from keras.src.random.seed_generator import SeedGenerator from keras.src.utils import backend_utils @@ -60,6 +63,10 @@ class RandomColorJitter(BaseImagePreprocessingLayer): always the same, please pass a tuple with two identical floats: `(0.5, 0.5)`. seed: Integer. Used to create a random seed. + + Example: + + {{base_image_preprocessing_color_example}} """ def __init__( @@ -211,3 +218,11 @@ def get_config(self): } base_config = super().get_config() return {**base_config, **config} + + +RandomColorJitter.__doc__ = RandomColorJitter.__doc__.replace( + "{{base_image_preprocessing_color_example}}", + base_image_preprocessing_color_example.replace( + "{LayerName}", "RandomColorJitter" + ), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_contrast.py b/keras/src/layers/preprocessing/image_preprocessing/random_contrast.py index ec6e2207a69f..e50de0835667 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_contrast.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_contrast.py @@ -2,6 +2,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_color_example, +) from keras.src.random.seed_generator import SeedGenerator @@ -45,6 +48,10 @@ class RandomContrast(BaseImagePreprocessingLayer): typically either `[0, 1]` or `[0, 255]` depending on how your preprocessing pipeline is set up. seed: Integer. Used to create a random seed. + + Example: + + {{base_image_preprocessing_color_example}} """ _FACTOR_BOUNDS = (0, 1) @@ -147,3 +154,11 @@ def get_config(self): } base_config = super().get_config() return {**base_config, **config} + + +RandomContrast.__doc__ = RandomContrast.__doc__.replace( + "{{base_image_preprocessing_color_example}}", + base_image_preprocessing_color_example.replace( + "{LayerName}", "RandomContrast" + ), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_crop.py b/keras/src/layers/preprocessing/image_preprocessing/random_crop.py index 2dc8aec5a105..fca7341981c4 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_crop.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_crop.py @@ -3,6 +3,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_transform_example, +) from keras.src.layers.preprocessing.image_preprocessing.bounding_boxes.converters import ( # noqa: E501 convert_format, ) @@ -47,6 +50,10 @@ class RandomCrop(BaseImagePreprocessingLayer): seed: Integer. Used to create a random seed. **kwargs: Base layer keyword arguments, such as `name` and `dtype`. + + Example: + + {{base_image_preprocessing_transform_example}} """ def __init__( @@ -274,3 +281,11 @@ def get_config(self): } ) return config + + +RandomCrop.__doc__ = RandomCrop.__doc__.replace( + "{{base_image_preprocessing_transform_example}}", + base_image_preprocessing_transform_example.replace( + "{LayerName}", "RandomCrop" + ), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_elastic_transform.py b/keras/src/layers/preprocessing/image_preprocessing/random_elastic_transform.py index 6f2e4e15080e..8912223a3a75 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_elastic_transform.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_elastic_transform.py @@ -2,6 +2,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_transform_example, +) from keras.src.random.seed_generator import SeedGenerator @@ -62,6 +65,9 @@ class RandomElasticTransform(BaseImagePreprocessingLayer): preprocessing pipeline is set up. seed: Integer. Used to create a random seed. + Example: + + {{base_image_preprocessing_transform_example}} """ _USE_BASE_FACTOR = False @@ -277,3 +283,11 @@ def get_config(self): "seed": self.seed, } return {**base_config, **config} + + +RandomElasticTransform.__doc__ = RandomElasticTransform.__doc__.replace( + "{{base_image_preprocessing_transform_example}}", + base_image_preprocessing_transform_example.replace( + "{LayerName}", "RandomElasticTransform" + ), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_erasing.py b/keras/src/layers/preprocessing/image_preprocessing/random_erasing.py index b593c7cbad2b..90cf63576055 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_erasing.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_erasing.py @@ -2,6 +2,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_color_example, +) from keras.src.random import SeedGenerator @@ -41,6 +44,10 @@ class RandomErasing(BaseImagePreprocessingLayer): typically either `[0, 1]` or `[0, 255]` depending on how your preprocessing pipeline is set up. seed: Integer. Used to create a random seed. + + Example: + + {{base_image_preprocessing_color_example}} """ _USE_BASE_FACTOR = False @@ -326,3 +333,11 @@ def get_config(self): } base_config = super().get_config() return {**base_config, **config} + + +RandomErasing.__doc__ = RandomErasing.__doc__.replace( + "{{base_image_preprocessing_color_example}}", + base_image_preprocessing_color_example.replace( + "{LayerName}", "RandomErasing" + ), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_flip.py b/keras/src/layers/preprocessing/image_preprocessing/random_flip.py index 553b2a48e0b9..fc06ab84ead7 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_flip.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_flip.py @@ -2,6 +2,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_transform_example, +) from keras.src.layers.preprocessing.image_preprocessing.bounding_boxes.converters import ( # noqa: E501 clip_to_image_size, ) @@ -46,6 +49,10 @@ class RandomFlip(BaseImagePreprocessingLayer): seed: Integer. Used to create a random seed. **kwargs: Base layer keyword arguments, such as `name` and `dtype`. + + Example: + + {{base_image_preprocessing_transform_example}} """ _USE_BASE_FACTOR = False @@ -234,3 +241,11 @@ def get_config(self): } ) return config + + +RandomFlip.__doc__ = RandomFlip.__doc__.replace( + "{{base_image_preprocessing_transform_example}}", + base_image_preprocessing_transform_example.replace( + "{LayerName}", "RandomFlip" + ), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_gaussian_blur.py b/keras/src/layers/preprocessing/image_preprocessing/random_gaussian_blur.py index d5d47039d8f7..88319d43ac5a 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_gaussian_blur.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_gaussian_blur.py @@ -2,6 +2,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_color_example, +) from keras.src.random import SeedGenerator @@ -35,6 +38,10 @@ class RandomGaussianBlur(BaseImagePreprocessingLayer): typically either `[0, 1]` or `[0, 255]` depending on how your preprocessing pipeline is set up. seed: Integer. Used to create a random seed. + + Example: + + {{base_image_preprocessing_color_example}} """ _USE_BASE_FACTOR = False @@ -218,3 +225,11 @@ def get_config(self): } ) return config + + +RandomGaussianBlur.__doc__ = RandomGaussianBlur.__doc__.replace( + "{{base_image_preprocessing_color_example}}", + base_image_preprocessing_color_example.replace( + "{LayerName}", "RandomGaussianBlur" + ), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_grayscale.py b/keras/src/layers/preprocessing/image_preprocessing/random_grayscale.py index 238f43f3bdac..39116d139c33 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_grayscale.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_grayscale.py @@ -3,6 +3,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_example, +) @keras_export("keras.layers.RandomGrayscale") @@ -43,6 +46,10 @@ class RandomGrayscale(BaseImagePreprocessingLayer): Same as input shape. The output maintains the same number of channels as the input, even for grayscale-converted images where all channels will have the same value. + + Example: + + {{base_image_preprocessing_example}} """ def __init__(self, factor=0.5, data_format=None, seed=None, **kwargs): @@ -115,3 +122,9 @@ def get_config(self): config = super().get_config() config.update({"factor": self.factor}) return config + + +RandomGrayscale.__doc__ = RandomGrayscale.__doc__.replace( + "{{base_image_preprocessing_example}}", + base_image_preprocessing_example.replace("{LayerName}", "RandomGrayscale"), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_invert.py b/keras/src/layers/preprocessing/image_preprocessing/random_invert.py index b180d83944c7..532e3d114504 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_invert.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_invert.py @@ -2,6 +2,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_example, +) @keras_export("keras.layers.RandomInvert") @@ -30,6 +33,10 @@ class RandomInvert(BaseImagePreprocessingLayer): represents the upper bound. Images passed to the layer should have values within `value_range`. Defaults to `(0, 255)`. seed: Integer. Used to create a random seed. + + Example: + + {{base_image_preprocessing_example}} """ _USE_BASE_FACTOR = False @@ -127,3 +134,9 @@ def get_config(self): } base_config = super().get_config() return {**base_config, **config} + + +RandomInvert.__doc__ = RandomInvert.__doc__.replace( + "{{base_image_preprocessing_example}}", + base_image_preprocessing_example.replace("{LayerName}", "RandomInvert"), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_perspective.py b/keras/src/layers/preprocessing/image_preprocessing/random_perspective.py index 9702edc7b6db..b7d25d2b15e6 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_perspective.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_perspective.py @@ -2,6 +2,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_transform_example, +) from keras.src.layers.preprocessing.image_preprocessing.bounding_boxes.converters import ( # noqa: E501 clip_to_image_size, ) @@ -43,6 +46,9 @@ class RandomPerspective(BaseImagePreprocessingLayer): boundaries when `fill_mode="constant"`. seed: Integer. Used to create a random seed. + Example: + + {{base_image_preprocessing_transform_example}} """ _USE_BASE_FACTOR = False @@ -337,3 +343,11 @@ def get_config(self): "seed": self.seed, } return {**base_config, **config} + + +RandomPerspective.__doc__ = RandomPerspective.__doc__.replace( + "{{base_image_preprocessing_transform_example}}", + base_image_preprocessing_transform_example.replace( + "{LayerName}", "RandomPerspective" + ), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_posterization.py b/keras/src/layers/preprocessing/image_preprocessing/random_posterization.py index 83ae04a165ec..48a9572f2ab2 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_posterization.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_posterization.py @@ -2,6 +2,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_color_example, +) @keras_export("keras.layers.RandomPosterization") @@ -22,6 +25,10 @@ class RandomPosterization(BaseImagePreprocessingLayer): values within `value_range`. Defaults to `(0, 255)`. factor: integer, the number of bits to keep for each channel. Must be a value between 1-8. + + Example: + + {{base_image_preprocessing_color_example}} """ _USE_BASE_FACTOR = False @@ -152,3 +159,11 @@ def get_config(self): def compute_output_shape(self, input_shape): return input_shape + + +RandomPosterization.__doc__ = RandomPosterization.__doc__.replace( + "{{base_image_preprocessing_color_example}}", + base_image_preprocessing_color_example.replace( + "{LayerName}", "RandomPosterization" + ), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_rotation.py b/keras/src/layers/preprocessing/image_preprocessing/random_rotation.py index 9d36f4281cc5..2477b1b250a6 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_rotation.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_rotation.py @@ -2,6 +2,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_transform_example, +) from keras.src.layers.preprocessing.image_preprocessing.bounding_boxes import ( converters, ) @@ -75,6 +78,10 @@ class RandomRotation(BaseImagePreprocessingLayer): `image_data_format` value found in your Keras config file at `~/.keras/keras.json`. If you never set it, then it will be `"channels_last"`. + + Example: + + {{base_image_preprocessing_transform_example}} """ _SUPPORTED_FILL_MODE = ("reflect", "wrap", "constant", "nearest") @@ -247,3 +254,11 @@ def get_config(self): } base_config = super().get_config() return {**base_config, **config} + + +RandomRotation.__doc__ = RandomRotation.__doc__.replace( + "{{base_image_preprocessing_transform_example}}", + base_image_preprocessing_transform_example.replace( + "{LayerName}", "RandomRotation" + ), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_sharpness.py b/keras/src/layers/preprocessing/image_preprocessing/random_sharpness.py index 0ddc38d22b47..70fbaa959397 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_sharpness.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_sharpness.py @@ -2,6 +2,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_color_example, +) from keras.src.random import SeedGenerator @@ -32,6 +35,10 @@ class RandomSharpness(BaseImagePreprocessingLayer): typically either `[0, 1]` or `[0, 255]` depending on how your preprocessing pipeline is set up. seed: Integer. Used to create a random seed. + + Example: + + {{base_image_preprocessing_color_example}} """ _USE_BASE_FACTOR = False @@ -169,3 +176,11 @@ def get_config(self): def compute_output_shape(self, input_shape): return input_shape + + +RandomSharpness.__doc__ = RandomSharpness.__doc__.replace( + "{{base_image_preprocessing_color_example}}", + base_image_preprocessing_color_example.replace( + "{LayerName}", "RandomSharpness" + ), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_shear.py b/keras/src/layers/preprocessing/image_preprocessing/random_shear.py index 71ecc6b81278..7952a20b4963 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_shear.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_shear.py @@ -2,6 +2,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_transform_example, +) from keras.src.layers.preprocessing.image_preprocessing.bounding_boxes.converters import ( # noqa: E501 clip_to_image_size, ) @@ -61,6 +64,10 @@ class RandomShear(BaseImagePreprocessingLayer): fill_value: A float representing the value to be filled outside the boundaries when `fill_mode="constant"`. seed: Integer. Used to create a random seed. + + Example: + + {{base_image_preprocessing_transform_example}} """ _USE_BASE_FACTOR = False @@ -402,3 +409,11 @@ def get_config(self): def compute_output_shape(self, input_shape): return input_shape + + +RandomShear.__doc__ = RandomShear.__doc__.replace( + "{{base_image_preprocessing_transform_example}}", + base_image_preprocessing_transform_example.replace( + "{LayerName}", "RandomShear" + ), +) diff --git a/keras/src/layers/preprocessing/image_preprocessing/random_translation.py b/keras/src/layers/preprocessing/image_preprocessing/random_translation.py index 488c0e0e50c2..98ebebf975fb 100644 --- a/keras/src/layers/preprocessing/image_preprocessing/random_translation.py +++ b/keras/src/layers/preprocessing/image_preprocessing/random_translation.py @@ -2,6 +2,9 @@ from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 BaseImagePreprocessingLayer, ) +from keras.src.layers.preprocessing.image_preprocessing.base_image_preprocessing_layer import ( # noqa: E501 + base_image_preprocessing_transform_example, +) from keras.src.layers.preprocessing.image_preprocessing.bounding_boxes.converters import ( # noqa: E501 clip_to_image_size, ) @@ -87,6 +90,10 @@ class RandomTranslation(BaseImagePreprocessingLayer): `~/.keras/keras.json`. If you never set it, then it will be `"channels_last"`. **kwargs: Base layer keyword arguments, such as `name` and `dtype`. + + Example: + + {{base_image_preprocessing_transform_example}} """ _USE_BASE_FACTOR = False @@ -382,3 +389,11 @@ def get_config(self): "data_format": self.data_format, } return {**base_config, **config} + + +RandomTranslation.__doc__ = RandomTranslation.__doc__.replace( + "{{base_image_preprocessing_transform_example}}", + base_image_preprocessing_transform_example.replace( + "{LayerName}", "RandomTranslation" + ), +)