tf.pad(
tensor,
mode='CONSTANT',
name=None,
constant_values=0
)


Defined in tensorflow/python/ops/array_ops.py.

See the guide: Tensor Transformations > Slicing and Joining

This operation pads a tensor according to the paddings you specify. paddings is an integer tensor with shape [n, 2], where n is the rank of tensor. For each dimension D of input, paddings[D, 0] indicates how many values to add before the contents of tensor in that dimension, and paddings[D, 1] indicates how many values to add after the contents of tensor in that dimension. If mode is "REFLECT" then both paddings[D, 0] and paddings[D, 1] must be no greater than tensor.dim_size(D) - 1. If mode is "SYMMETRIC" then both paddings[D, 0] and paddings[D, 1] must be no greater than tensor.dim_size(D).

The padded size of each dimension D of the output is:

paddings[D, 0] + tensor.dim_size(D) + paddings[D, 1]

For example:

t = tf.constant([[1, 2, 3], [4, 5, 6]])
paddings = tf.constant([[1, 1,], [2, 2]])
# 'constant_values' is 0.
# rank of 't' is 2.
#  [0, 0, 1, 2, 3, 0, 0],
#  [0, 0, 4, 5, 6, 0, 0],
#  [0, 0, 0, 0, 0, 0, 0]]

#  [3, 2, 1, 2, 3, 2, 1],
#  [6, 5, 4, 5, 6, 5, 4],
#  [3, 2, 1, 2, 3, 2, 1]]

#  [2, 1, 1, 2, 3, 3, 2],
#  [5, 4, 4, 5, 6, 6, 5],
#  [5, 4, 4, 5, 6, 6, 5]]


#### Args:

• tensor: A Tensor.
• paddings: A Tensor of type int32.
• mode: One of "CONSTANT", "REFLECT", or "SYMMETRIC" (case-insensitive)
• name: A name for the operation (optional).
• constant_values: In "CONSTANT" mode, the scalar pad value to use. Must be same type as tensor.

#### Returns:

A Tensor. Has the same type as tensor.

#### Raises:

• ValueError: When mode is not one of "CONSTANT", "REFLECT", or "SYMMETRIC".