tf.nn.separable_conv2d(
input,
depthwise_filter,
pointwise_filter,
strides,
padding,
rate=None,
name=None,
data_format=None
)
Defined in tensorflow/python/ops/nn_impl.py.
2-D convolution with separable filters.
Performs a depthwise convolution that acts separately on channels followed by
a pointwise convolution that mixes channels. Note that this is separability
between dimensions [1, 2] and 3, not spatial separability between
dimensions 1 and 2.
In detail,
output[b, i, j, k] = sum_{di, dj, q, r}
input[b, strides[1] * i + di, strides[2] * j + dj, q] *
depthwise_filter[di, dj, q, r] *
pointwise_filter[0, 0, q * channel_multiplier + r, k]
strides controls the strides for the depthwise convolution only, since
the pointwise convolution has implicit strides of [1, 1, 1, 1]. Must have
strides[0] = strides[3] = 1. For the most common case of the same
horizontal and vertical strides, strides = [1, stride, stride, 1].
If any value in rate is greater than 1, we perform atrous depthwise
convolution, in which case all values in the strides tensor must be equal
to 1.
Args:
input: 4-DTensorwith shape according todata_format.depthwise_filter: 4-DTensorwith shape[filter_height, filter_width, in_channels, channel_multiplier]. Containsin_channelsconvolutional filters of depth 1.pointwise_filter: 4-DTensorwith shape[1, 1, channel_multiplier * in_channels, out_channels]. Pointwise filter to mix channels afterdepthwise_filterhas convolved spatially.strides: 1-D of size 4. The strides for the depthwise convolution for each dimension ofinput.padding: A string, either'VALID'or'SAME'. The padding algorithm. See the "returns" section oftf.nn.convolutionfor details.rate: 1-D of size 2. The dilation rate in which we sample input values across theheightandwidthdimensions in atrous convolution. If it is greater than 1, then all values of strides must be 1.name: A name for this operation (optional).data_format: The data format for input. Either "NHWC" (default) or "NCHW".
Returns:
A 4-D Tensor with shape according to 'data_format'. For
example, with data_format="NHWC", shape is [batch, out_height,
out_width, out_channels].