# tf.keras.layers.Cropping3D

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/keras-team/keras/tree/v2.13.1/keras/layers/reshaping/cropping3d.py#L28-L313) |

Cropping layer for 3D data (e.g. spatial or spatio-temporal).

Inherits From: [`Layer`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/keras/layers/Layer), [`Module`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/Module)

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

\`tf.compat.v1.keras.layers.Cropping3D\`

<br />

    tf.keras.layers.Cropping3D(
        cropping=((1, 1), (1, 1), (1, 1)), data_format=None, **kwargs
    )

Examples:

    input_shape = (2, 28, 28, 10, 3)
    x = np.arange(np.prod(input_shape)).reshape(input_shape)
    y = tf.keras.layers.Cropping3D(cropping=(2, 4, 2))(x)
    print(y.shape)
    (2, 24, 20, 6, 3)

<br />

<br />

<br />

| ## Args ||
|---|---|
| `cropping` | Int, or tuple of 3 ints, or tuple of 3 tuples of 2 ints. <br /> - If int: the same symmetric cropping is applied to depth, height, and width. - If tuple of 3 ints: interpreted as two different symmetric cropping values for depth, height, and width: `(symmetric_dim1_crop, symmetric_dim2_crop, symmetric_dim3_crop)`. - If tuple of 3 tuples of 2 ints: interpreted as `((left_dim1_crop, right_dim1_crop), (left_dim2_crop, right_dim2_crop), (left_dim3_crop, right_dim3_crop))` |
| `data_format` | A string, one of `channels_last` (default) or `channels_first`. The ordering of the dimensions in the inputs. `channels_last` corresponds to inputs with shape `(batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels)` while `channels_first` corresponds to inputs with shape `(batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3)`. When unspecified, uses `image_data_format` value found in your Keras config file at `~/.keras/keras.json` (if exists) else 'channels_last'. Defaults to 'channels_last'. |

<br />

<br />

| ## Input shape ||
|---|---|
| 5D tensor with shape: <br /> - If `data_format` is `"channels_last"`: `(batch_size, first_axis_to_crop, second_axis_to_crop, third_axis_to_crop, depth)` - If `data_format` is `"channels_first"`: `(batch_size, depth, first_axis_to_crop, second_axis_to_crop, third_axis_to_crop)` ||

<br />

<br />

<br />

| ## Output shape ||
|---|---|
| 5D tensor with shape: <br /> - If `data_format` is `"channels_last"`: `(batch_size, first_cropped_axis, second_cropped_axis, third_cropped_axis, depth)` - If `data_format` is `"channels_first"`: `(batch_size, depth, first_cropped_axis, second_cropped_axis, third_cropped_axis)` ||

<br />