tf.keras.layers.SeparableConv2D
Stay organized with collections
Save and categorize content based on your preferences.
Depthwise separable 2D convolution.
Inherits From: Layer
, Module
tf.keras.layers.SeparableConv2D(
filters,
kernel_size,
strides=(1, 1),
padding='valid',
data_format=None,
dilation_rate=(1, 1),
depth_multiplier=1,
activation=None,
use_bias=True,
depthwise_initializer='glorot_uniform',
pointwise_initializer='glorot_uniform',
bias_initializer='zeros',
depthwise_regularizer=None,
pointwise_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
depthwise_constraint=None,
pointwise_constraint=None,
bias_constraint=None,
**kwargs
)
Separable convolutions consist of first performing
a depthwise spatial convolution
(which acts on each input channel separately)
followed by a pointwise convolution which mixes the resulting
output channels. The depth_multiplier
argument controls how many
output channels are generated per input channel in the depthwise step.
Intuitively, separable convolutions can be understood as
a way to factorize a convolution kernel into two smaller kernels,
or as an extreme version of an Inception block.
Args |
filters
|
Integer, the dimensionality of the output space
(i.e. the number of output filters in the convolution).
|
kernel_size
|
An integer or tuple/list of 2 integers, specifying the
height and width of the 2D convolution window.
Can be a single integer to specify the same value for
all spatial dimensions.
|
strides
|
An integer or tuple/list of 2 integers,
specifying the strides of the convolution along the height and width.
Can be a single integer to specify the same value for
all spatial dimensions. Current implementation only supports equal
length strides in the row and column dimensions.
Specifying any stride value != 1 is incompatible with specifying
any dilation_rate value != 1.
|
padding
|
one of "valid" or "same" (case-insensitive).
"valid" means no padding. "same" results in padding with zeros
evenly to the left/right or up/down of the input such that output has
the same height/width dimension as the input.
|
data_format
|
A string,
one of channels_last (default) or channels_first .
The ordering of the dimensions in the inputs.
channels_last corresponds to inputs with shape
(batch_size, height, width, channels) while channels_first
corresponds to inputs with shape
(batch_size, channels, height, width) .
When unspecified, uses image_data_format value found in your Keras
config file at ~/.keras/keras.json (if exists) else 'channels_last'.
Defaults to 'channels_last'.
|
dilation_rate
|
An integer or tuple/list of 2 integers, specifying
the dilation rate to use for dilated convolution.
|
depth_multiplier
|
The number of depthwise convolution output channels
for each input channel.
The total number of depthwise convolution output
channels will be equal to filters_in * depth_multiplier .
|
activation
|
Activation function to use.
If you don't specify anything, no activation is applied
(see keras.activations ).
|
use_bias
|
Boolean, whether the layer uses a bias vector.
|
depthwise_initializer
|
An initializer for the depthwise convolution kernel
(see keras.initializers ). If None, then the default initializer
('glorot_uniform') will be used.
|
pointwise_initializer
|
An initializer for the pointwise convolution kernel
(see keras.initializers ). If None, then the default initializer
('glorot_uniform') will be used.
|
bias_initializer
|
An initializer for the bias vector. If None, the default
initializer ('zeros') will be used (see keras.initializers ).
|
depthwise_regularizer
|
Regularizer function applied to
the depthwise kernel matrix (see keras.regularizers ).
|
pointwise_regularizer
|
Regularizer function applied to
the pointwise kernel matrix (see keras.regularizers ).
|
bias_regularizer
|
Regularizer function applied to the bias vector
(see keras.regularizers ).
|
activity_regularizer
|
Regularizer function applied to
the output of the layer (its "activation")
(see keras.regularizers ).
|
depthwise_constraint
|
Constraint function applied to
the depthwise kernel matrix
(see keras.constraints ).
|
pointwise_constraint
|
Constraint function applied to
the pointwise kernel matrix
(see keras.constraints ).
|
bias_constraint
|
Constraint function applied to the bias vector
(see keras.constraints ).
|
|
4D tensor with shape:
(batch_size, channels, rows, cols) if data_format='channels_first'
or 4D tensor with shape:
(batch_size, rows, cols, channels) if data_format='channels_last'.
|
Output shape |
4D tensor with shape:
(batch_size, filters, new_rows, new_cols) if
data_format='channels_first'
or 4D tensor with shape:
(batch_size, new_rows, new_cols, filters) if
data_format='channels_last'. rows and cols values might have changed
due to padding.
|
Returns |
A tensor of rank 4 representing
activation(separableconv2d(inputs, kernel) + bias) .
|
Raises |
ValueError
|
if padding is "causal".
|
Methods
convolution_op
View source
convolution_op(
inputs, kernel
)
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2023-10-06 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-10-06 UTC."],[],[]]