Attend the Women in ML Symposium on December 7

# tensorflow:: ops:: DepthwiseConv2dNative

#include <nn_ops.h>

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

## Summary

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:

• scope: A Scope object
• strides: 1-D of length 4. The stride of the sliding window for each dimension of input .
• padding: The type of padding algorithm to use.

Optional attributes (see Attrs ):

• data_format: Specify the data format of the input and output data. With the default format "NHWC", the data is stored in the order of: [batch, height, width, channels]. Alternatively, the format could be "NCHW", the data storage order of: [batch, channels, height, width].
• dilations: 1-D tensor of length 4. The dilation factor for each dimension of input . If set to k > 1, there will be k-1 skipped cells between each filter element on that dimension. The dimension order is determined by the value of data_format , see above for details. Dilations in the batch and depth dimensions must be 1.

Returns:

### Constructors and Destructors

DepthwiseConv2dNative (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding)
DepthwiseConv2dNative (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const DepthwiseConv2dNative::Attrs & attrs)

operation
output

### Public functions

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

### Public static functions

DataFormat (StringPiece x)
Dilations (const gtl::ArraySlice< int > & x)
ExplicitPaddings (const gtl::ArraySlice< int > & x)

### Structs

tensorflow:: ops:: DepthwiseConv2dNative:: Attrs

Optional attribute setters for DepthwiseConv2dNative .

## Public attributes

### operation

Operation operation

### output

::tensorflow::Output output

## Public functions

### DepthwiseConv2dNative

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

### DepthwiseConv2dNative

DepthwiseConv2dNative(
const ::tensorflow::Scope & scope,
::tensorflow::Input input,
::tensorflow::Input filter,
const gtl::ArraySlice< int > & strides,
StringPiece padding,
const DepthwiseConv2dNative::Attrs & attrs
)

### node

::tensorflow::Node * node() const

### operator::tensorflow::Input

operator::tensorflow::Input() const

### operator::tensorflow::Output

operator::tensorflow::Output() const

## Public static functions

### DataFormat

Attrs DataFormat(
StringPiece x
)

### Dilations

Attrs Dilations(
const gtl::ArraySlice< int > & x
)

### ExplicitPaddings

Attrs ExplicitPaddings(
const gtl::ArraySlice< int > & x
)
[]
[]