View source on GitHub
|
Preprocessing layer for random inversion of image colors.
Inherits From: Layer, Operation
tf.keras.layers.RandomInvert(
factor=1.0, value_range=(0, 255), seed=None, data_format=None, **kwargs
)
This layer randomly inverts the colors of input images with a specified
probability range. When applied, each image has a chance of having its
colors inverted, where the pixel values are transformed to their
complementary values. Images that are not selected for inversion
remain unchanged.
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).
Args:
factor: A single float or a tuple of two floats.
`factor` controls the probability of inverting the image colors.
If a tuple is provided, the value is sampled between the two values
for each image, where `factor[0]` is the minimum and `factor[1]` is
the maximum probability. If a single float is provided, a value
between `0.0` and the provided float is sampled.
Defaults to `(0, 1)`.
value_range: a tuple or a list of two elements. The first value
represents the lower bound for values in passed images, the second
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:
layer = keras.layers.RandomInvert(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
)
Methods
convert_weight
convert_weight(
weight
)
Convert the weight if it is from the a different backend.
from_config
@classmethodfrom_config( config )
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
get_random_transformation(
data, training=True, seed=None
)
transform_bounding_boxes
transform_bounding_boxes(
bounding_boxes, transformation, training=True
)
transform_images
transform_images(
images, transformation, training=True
)
transform_labels
transform_labels(
labels, transformation, training=True
)
transform_segmentation_masks
transform_segmentation_masks(
segmentation_masks, transformation, training=True
)
transform_single_bounding_box
transform_single_bounding_box(
bounding_box, transformation, training=True
)
transform_single_image
transform_single_image(
image, transformation, training=True
)
transform_single_label
transform_single_label(
label, transformation, training=True
)
transform_single_segmentation_mask
transform_single_segmentation_mask(
segmentation_mask, transformation, training=True
)
View source on GitHub