# W3cubDocs

/TensorFlow C++

`#include <array_ops.h>`

Pads a tensor with mirrored values.

## Summary

This operation pads a `input` with mirrored values according to the `paddings` you specify. `paddings` is an integer tensor with shape `[n, 2]`, where n is the rank of `input`. For each dimension D of `input`, `paddings[D, 0]` indicates how many values to add before the contents of `input` in that dimension, and `paddings[D, 1]` indicates how many values to add after the contents of `input` in that dimension. Both `paddings[D, 0]` and `paddings[D, 1]` must be no greater than `input.dim_size(D)` (or `input.dim_size(D) - 1`) if `copy_border` is true (if false, respectively).

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

`paddings(D, 0) + input.dim_size(D) + paddings(D, 1)`

For example:

``` 't' is [[1, 2, 3], [4, 5, 6]].

'paddings' is [[1, 1]], [2, 2]].

'mode' is SYMMETRIC.

rank of 't' is 2.

pad(t, paddings) ==> [[2, 1, 1, 2, 3, 3, 2] [2, 1, 1, 2, 3, 3, 2] [5, 4, 4, 5, 6, 6, 5] [5, 4, 4, 5, 6, 6, 5]] ```

Arguments:

• scope: A Scope object
• input: The input tensor to be padded.
• paddings: A two-column matrix specifying the padding sizes. The number of rows must be the same as the rank of `input`.
• mode: Either `REFLECT` or `SYMMETRIC`. In reflect mode the padded regions do not include the borders, while in symmetric mode the padded regions do include the borders. For example, if `input` is `[1, 2, 3]` and `paddings` is `[0, 2]`, then the output is `[1, 2, 3, 2, 1]` in reflect mode, and it is `[1, 2, 3, 3, 2]` in symmetric mode.

Returns:

• `Output`: The padded tensor.
Constructors and Destructors
`MirrorPad(const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input paddings, StringPiece mode)`
Public attributes
`output`
`::tensorflow::Output`
Public functions
`node() const `
`::tensorflow::Node *`
`operator::tensorflow::Input() const `
`operator::tensorflow::Output() const `

## Public attributes

### output

`::tensorflow::Output output`

## Public functions

``` MirrorPad(
const ::tensorflow::Scope & scope,
::tensorflow::Input input,
StringPiece mode
)```

### node

`::tensorflow::Node * node() const `

### operator::tensorflow::Input

`operator::tensorflow::Input() const `

### operator::tensorflow::Output

`operator::tensorflow::Output() const `