# tf.keras.layers.ZeroPadding2D

<br />

|---|---|
| [![](https://www.tensorflow.org/images/tf_logo_32px.png) TensorFlow 1 version](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/ZeroPadding2D) | [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.4.0/tensorflow/python/keras/layers/convolutional.py#L2765-L2886) |

Zero-padding layer for 2D input (e.g. picture).

Inherits From: [`Layer`](https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/keras/layers/Layer), [`Module`](https://www.tensorflow.org/versions/r2.4/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.ZeroPadding2D`](https://www.tensorflow.org/api_docs/python/tf/keras/layers/ZeroPadding2D)

<br />

    tf.keras.layers.ZeroPadding2D(
        padding=(1, 1), data_format=None, **kwargs
    )

This layer can add rows and columns of zeros
at the top, bottom, left and right side of an image tensor.

#### Examples:

    input_shape = (1, 1, 2, 2)
    x = np.arange(np.prod(input_shape)).reshape(input_shape)
    print(x)
    [[[[0 1]
       [2 3]]]]
    y = tf.keras.layers.ZeroPadding2D(padding=1)(x)
    print(y)
    tf.Tensor(
      [[[[0 0]
         [0 0]
         [0 0]
         [0 0]]
        [[0 0]
         [0 1]
         [2 3]
         [0 0]]
        [[0 0]
         [0 0]
         [0 0]
         [0 0]]]], shape=(1, 3, 4, 2), dtype=int64)

<br />

<br />

<br />

| ## Arguments ||
|---|---|
| `padding` | Int, or tuple of 2 ints, or tuple of 2 tuples of 2 ints. <br /> - If int: the same symmetric padding is applied to height and width. - If tuple of 2 ints: interpreted as two different symmetric padding values for height and width: `(symmetric_height_pad, symmetric_width_pad)`. - If tuple of 2 tuples of 2 ints: interpreted as `((top_pad, bottom_pad), (left_pad, right_pad))` |
| `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, height, width, channels)` while `channels_first` corresponds to inputs with shape `(batch_size, channels, height, width)`. It defaults to the `image_data_format` value found in your Keras config file at `~/.keras/keras.json`. If you never set it, then it will be "channels_last". |

#### Input shape:

4D tensor with shape:

- If `data_format` is `"channels_last"`: `(batch_size, rows, cols, channels)`
- If `data_format` is `"channels_first"`: `(batch_size, channels, rows, cols)`

#### Output shape:

4D tensor with shape:

- If `data_format` is `"channels_last"`: `(batch_size, padded_rows, padded_cols, channels)`
- If `data_format` is `"channels_first"`: `(batch_size, channels, padded_rows, padded_cols)`