# tensorflow::ops::Dilation2D Class Reference

# tensorflow::
ops::
Dilation2D

`
#include <nn_ops.h>
`


Computes the grayscale dilation of 4-D
`
input
`
and 3-D
`
filter
`
tensors.

## Summary


The
`
input
`
tensor has shape
`
[batch, in_height, in_width, depth]
`
and the
`
filter
`
tensor has shape
`
[filter_height, filter_width, depth]
`
, i.e., each input channel is processed independently of the others with its own structuring function. The
`
output
`
tensor has shape
`
[batch, out_height, out_width, depth]
`
. The spatial dimensions of the output tensor depend on the
`
padding
`
algorithm. We currently only support the default "NHWC"
`
data_format
`
.


In detail, the grayscale morphological 2-D dilation is the max-sum correlation (for consistency with
`
conv2d
`
, we use unmirrored filters):

```
output[b, y, x, c] =
   max_{dy, dx} input[b,
                      strides[1] * y + rates[1] * dy,
                      strides[2] * x + rates[2] * dx,
                      c] +
                filter[dy, dx, c]
```

<br />


Max-pooling is a special case when the filter has size equal to the pooling kernel size and contains all zeros.


Note on duality: The dilation of
`
input
`
by the
`
filter
`
is equal to the negation of the erosion of
`
-input
`
by the reflected
`
filter
`
.


Args:

- scope: A [Scope](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- input: 4-D with shape `
  [batch, in_height, in_width, depth]
  ` .
- filter: 3-D with shape `
  [filter_height, filter_width, depth]
  ` .
- strides: The stride of the sliding window for each dimension of the input tensor. Must be: `
  [1, stride_height, stride_width, 1]
  ` .
- rates: The input stride for atrous morphological dilation. Must be: `
  [1, rate_height, rate_width, 1]
  ` .
- padding: The type of padding algorithm to use.

<br />


Returns:

- `
  https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output
  ` : 4-D with shape `
  [batch, out_height, out_width, depth]
  ` .

<br />

| ### Constructors and Destructors ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/dilation2-d#classtensorflow_1_1ops_1_1_dilation2_d_1aa7fba6ab148288fc230175c265483ff3 (const :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input input, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input filter, const gtl::ArraySlice< int > & strides, const gtl::ArraySlice< int > & rates, StringPiece padding) ` ||

| ### Public attributes ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/dilation2-d#classtensorflow_1_1ops_1_1_dilation2_d_1a50e0232a57e1ec03bc56803f2e2ae58e ` | ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation ` |
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/dilation2-d#classtensorflow_1_1ops_1_1_dilation2_d_1ae68b7f48c9fc91ffdef4e18bd34625f0 ` | ` :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output ` |

| ### Public functions ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/dilation2-d#classtensorflow_1_1ops_1_1_dilation2_d_1a965eb807b87a9ac84ef8533e6da72768 () const ` | ` ::tensorflow::Node * ` |
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/dilation2-d#classtensorflow_1_1ops_1_1_dilation2_d_1ae1a45a55c3092ef319c027a697e3e667 () const ` | ` ` |
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/dilation2-d#classtensorflow_1_1ops_1_1_dilation2_d_1a451d294669723935c6618946259273c3 () const ` | ` ` |

## Public attributes

### operation

```
Operation operation
```

### output

```
::tensorflow::Output output
```

## Public functions

### Dilation2D

```
 Dilation2D(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input filter,
  const gtl::ArraySlice< int > & strides,
  const gtl::ArraySlice< int > & rates,
  StringPiece padding
)
```

### node

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

### operator::tensorflow::Input

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

### operator::tensorflow::Output

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