tf.keras.layers.RandomCrop
Stay organized with collections
Save and categorize content based on your preferences.
A preprocessing layer which randomly crops images during training.
Inherits From: Layer
, Module
tf.keras.layers.RandomCrop(
height, width, seed=None, **kwargs
)
During training, this layer will randomly choose a location to crop images
down to a target size. The layer will crop all the images in the same batch
to the same cropping location.
At inference time, and during training if an input image is smaller than the
target size, the input will be resized and cropped so as to return the
largest possible window in the image that matches the target aspect ratio.
If you need to apply random cropping at inference time, set training
to
True when calling the layer.
Input pixel values can be of any range (e.g. [0., 1.)
or [0, 255]
) and
of interger or floating point dtype. By default, the layer will output
floats.
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
(..., target_height, target_width, channels) .
|
Args |
height
|
Integer, the height of the output shape.
|
width
|
Integer, the width of the output shape.
|
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.RandomCrop\n\n\u003cbr /\u003e\n\n|---------------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/keras-team/keras/tree/v2.11.0/keras/layers/preprocessing/image_preprocessing.py#L517-L627) |\n\nA preprocessing layer which randomly crops images 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.RandomCrop`](https://www.tensorflow.org/api_docs/python/tf/keras/layers/RandomCrop)\n\n\u003cbr /\u003e\n\n tf.keras.layers.RandomCrop(\n height, width, seed=None, **kwargs\n )\n\nDuring training, this layer will randomly choose a location to crop images\ndown to a target size. The layer will crop all the images in the same batch\nto the same cropping location.\n\nAt inference time, and during training if an input image is smaller than the\ntarget size, the input will be resized and cropped so as to return the\nlargest possible window in the image that matches the target aspect ratio.\nIf you need to apply random cropping at inference time, set `training` to\nTrue when calling the layer.\n\nInput pixel values can be of any range (e.g. `[0., 1.)` or `[0, 255]`) and\nof interger or floating point dtype. By default, the layer will output\nfloats.\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 `(..., target_height, target_width, channels)`. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|----------|------------------------------------------|\n| `height` | Integer, the height of the output shape. |\n| `width` | Integer, the width of the output shape. |\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"]]