<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.21.0/tensorflow/python/ops/random_crop_ops.py#L85-L135) |

Randomly crops a tensor to a given size in a deterministic manner.

    tf.image.stateless_random_crop(
        value, size, seed, name=None
    )

### Used in the notebooks

| Used in the tutorials |
|---|
| - [Data augmentation](https://www.tensorflow.org/tutorials/images/data_augmentation) |

Slices a shape `size` portion out of `value` at a uniformly chosen offset.
Requires `value.shape >= size`.

If a dimension should not be cropped, pass the full size of that dimension.
For example, RGB images can be cropped with
`size = [crop_height, crop_width, 3]`.

Guarantees the same results given the same `seed` independent of how many
times the function is called, and independent of global seed settings (e.g.
[`tf.random.set_seed`](https://www.tensorflow.org/api_docs/python/tf/random/set_seed)).

#### Usage Example:

    image = [[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]
    seed = (1, 2)
    tf.image.stateless_random_crop(value=image, size=(1, 2, 3), seed=seed)
    <tf.Tensor: shape=(1, 2, 3), dtype=int32, numpy=
    array([[[1, 2, 3],
            [4, 5, 6]]], dtype=int32)>

<br />

<br />

<br />

| ## Args ||
|---|---|
| `value` | Input tensor to crop. |
| `size` | 1-D tensor with size the rank of `value`. |
| `seed` | A shape \[2\] Tensor, the seed to the random number generator. Must have dtype `int32` or `int64`. (When using XLA, only `int32` is allowed.) |
| `name` | A name for this operation (optional). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A cropped tensor of the same rank as `value` and shape `size`. ||

<br />