tf.compat.v1.nn.depthwise_conv2d_native

Computes a 2-D depthwise convolution given 4-D input and filter tensors.

tf.compat.v1.nn.depthwise_conv2d_native(
    input, filter, strides, padding, data_format='NHWC', dilations=[1, 1, 1, 1],
    name=None
)

Given an input tensor of shape [batch, in_height, in_width, in_channels] and a filter / kernel tensor of shape [filter_height, filter_width, in_channels, channel_multiplier], containing in_channels convolutional filters of depth 1, depthwise_conv2d applies a different filter to each input channel (expanding from 1 channel to channel_multiplier channels for each), then concatenates the results together. Thus, the output has in_channels * channel_multiplier channels.

for k in 0..in_channels-1
  for q in 0..channel_multiplier-1
    output[b, i, j, k * channel_multiplier + q] =
      sum_{di, dj} input[b, strides[1] * i + di, strides[2] * j + dj, k] *
                        filter[di, dj, k, q]

Must have strides[0] = strides[3] = 1. For the most common case of the same horizontal and vertices strides, strides = [1, stride, stride, 1].

Args:

Returns:

A Tensor. Has the same type as input.