tf.keras.layers.RandomErasing

Random Erasing data augmentation technique.

Inherits From: Layer, Operation

Random Erasing is a data augmentation method where random patches of
an image are erased (replaced by a constant value or noise)
during training to improve generalization.

Note: This layer is safe to use inside a <a href="../../../tf/data"><code>tf.data</code></a> or `grain` pipeline
(independently of which backend you're using).

References:

   - [Random Erasing paper](https://arxiv.org/abs/1708.04896).

Args:
    factor: A single float or a tuple of two floats.
        `factor` controls the probability of applying the transformation.

        - `factor=0.0` ensures no erasing is applied.
        - `factor=1.0` means erasing is always applied.
        - If a tuple `(min, max)` is provided, a probability value
          is sampled between `min` and `max` for each image.
        - If a single float is provided, a probability is sampled
          between `0.0` and the given float.
        Default is 1.0.
    scale: A tuple of two floats representing the aspect ratio range of
        the erased patch. This defines the width-to-height ratio of
        the patch to be erased. It can help control the rw shape of
        the erased region. Default is (0.02, 0.33).
    fill_value: A value to fill the erased region with. This can be set to
        a constant value or `None` to sample a random value
        from a normal distribution. Default is `None`.
    value_range: the range of values the incoming images will have.
        Represented as a two-number tuple written `[low, high]`. This is
        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:
layer = keras.layers.RandomErasing(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
)

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.

Methods

convert_weight

View source

Convert the weight if it is from the a different backend.

from_config

View source

Creates an operation from its config.

This method is the reverse of get_config, capable of instantiating the same operation from the config dictionary.

if "dtype" in config and isinstance(config["dtype"], dict):
    policy = dtype_policies.deserialize(config["dtype"])

Args
config A Python dictionary, typically the output of get_config.

Returns
An operation instance.

get_random_transformation

View source

transform_bounding_boxes

View source

transform_images

View source

transform_labels

View source

transform_segmentation_masks

View source

transform_single_bounding_box

View source

transform_single_image

View source

transform_single_label

View source

transform_single_segmentation_mask

View source