General N-D separable convolution.
tf.keras.ops.separable_conv(
inputs,
depthwise_kernel,
pointwise_kernel,
strides=1,
padding='valid',
data_format=None,
dilation_rate=1
)
This ops supports 1D and 2D separable convolution. separable_conv
is
a depthwise conv followed by a pointwise conv.
Args |
inputs
|
Tensor of rank N+2. inputs has shape
(batch_size,) + inputs_spatial_shape + (num_channels,) if
data_format="channels_last" , or
(batch_size, num_channels) + inputs_spatial_shape if
data_format="channels_first" .
|
depthwise_kernel
|
Tensor of rank N+2. depthwise_kernel has shape
[kernel_spatial_shape, num_input_channels, num_channels_multiplier],
num_input_channels should match the number of channels in
inputs .
|
pointwise_kernel
|
Tensor of rank N+2. pointwise_kernel has shape
(*ones_like(kernel_spatial_shape),
num_input_channels * num_channels_multiplier, num_output_channels) .
|
strides
|
int or int tuple/list of len(inputs_spatial_shape) ,
specifying the strides of the convolution along each spatial
dimension. If strides is int, then every spatial dimension shares
the same strides .
|
padding
|
string, either "valid" or "same" . "valid" means no
padding is applied, and "same" results in padding evenly to the
left/right or up/down of the input such that output has the
same height/width dimension as the input when strides=1 .
|
data_format
|
A string, either "channels_last" or "channels_first" .
data_format determines the ordering of the dimensions in the
inputs. If data_format="channels_last" , inputs is of shape
(batch_size, ..., channels) while if
data_format="channels_first" , inputs is of shape
(batch_size, channels, ...) .
|
dilation_rate
|
int or int tuple/list of len(inputs_spatial_shape) ,
specifying the dilation rate to use for dilated convolution. If
dilation_rate is int, then every spatial dimension shares
the same dilation_rate .
|
Returns |
A tensor of rank N+2, the result of the depthwise conv operation.
|