tf.keras.layers.ZeroPadding2D

TensorFlow 1 version View source on GitHub

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

Inherits From: Layer

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

Used in the notebooks

Used in the tutorials

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) 

Arguments:

  • padding: Int, or tuple of 2 ints, or tuple of 2 tuples of 2 ints.
    • 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)