/TensorFlow C++


#include <nn_ops.h>

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


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]

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.


  • scope: A 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.


  • Output: 4-D with shape [batch, out_height, out_width, depth].
Constructors and Destructors
Dilation2D(const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input filter, const gtl::ArraySlice< int > & strides, const gtl::ArraySlice< int > & rates, StringPiece padding)
Public attributes
Public functions
node() const
::tensorflow::Node *
operator::tensorflow::Input() const
operator::tensorflow::Output() const

Public attributes


::tensorflow::Output output

Public functions


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


::tensorflow::Node * node() const 


operator::tensorflow::Input() const 


operator::tensorflow::Output() const 

© 2017 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.