Spec-Zone.ru › TensorFlow 2.9

tf.keras.layers.SeparableConv2D

Просмотреть исходный код на GitHub

Двумерная свертка с разделением каналов.

Наследуется от: Layer, Module

Просмотреть псевдонимы

Основные псевдонимы

tf.keras.layers.SeparableConvolution2D

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительной информации.

tf.compat.v1.keras.layers.SeparableConv2D, tf.compat.v1.keras.layers.SeparableConvolution2D

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
)

Свертки с разделением каналов сначала выполняют пространственную свертку по глубине (которая действует на каждый входной канал отдельно), а затем точечную свертку, которая смешивает результирующие выходные каналы. Аргумент depth_multiplier управляет тем, сколько выходных каналов генерируется на каждый входной канал на шаге разделения каналов.

Интуитивно свертки с разделением каналов можно понимать как способ разложения ядра свертки на два меньших ядра или как крайнюю версию блока Inception.

Аргументы
filters Целое число, размерность выходного пространства (т. е. количество выходных фильтров в свертке).
kernel_size Целое число или кортеж/список из 2 целых чисел, определяющий высоту и ширину окна двумерной свертки. Может быть одним целым числом для задания одного значения для всех пространственных измерений.
strides Целое число или кортеж/список из 2 целых чисел, определяющий шаги свертки по высоте и ширине. Может быть одним целым числом для задания одного значения для всех пространственных измерений. Текущая реализация поддерживает только шаги одинаковой длины в измерениях строк и столбцов. Указание любого значения шага != 1 несовместимо с указанием любого значения dilation_rate != 1.
padding один из "valid" или "same" (регистр не учитывается). "valid" означает отсутствие заполнения. "same" приводит к дополнению нулями равномерно слева/справа или сверху/снизу ввода таким образом, чтобы выход имел те же размеры высоты/ширины, что и ввод.
data_format Строка, одна из channels_last (по умолчанию) или channels_first. Порядок измерений во входных данных. channels_last соответствует вводам с формой (batch_size, height, width, channels), а channels_first соответствует вводам с формой (batch_size, channels, height, width). По умолчанию используется значение image_data_format в файле конфигурации Keras по адресу ~/.keras/keras.json. Если вы его никогда не устанавливали, то он будет «channels_last».
dilation_rate Целое число или кортеж/список из 2 целых чисел, определяющий скорость расширения, используемую для расширенной свертки.
depth_multiplier Количество выходных каналов свертки по глубине для каждого входного канала. Общее количество выходных каналов свертки по глубине будет равно filters_in * depth_multiplier.
activation Функция активации для использования. Если вы ничего не укажете, активация не применяется (см. keras.activations).
use_bias Булево значение, указывает, использует ли слой вектор смещения.
depthwise_initializer Инициализатор ядра свертки по глубине (см. keras.initializers). Если None, используется инициализатор по умолчанию ('glorot_uniform').
pointwise_initializer Инициализатор ядра точечной свертки (см. keras.initializers). Если None, используется инициализатор по умолчанию ('glorot_uniform').
bias_initializer Инициализатор вектора смещения. Если None, используется инициализатор по умолчанию ('zeros') (см. keras.initializers).
depthwise_regularizer Функция регуляризации, применяемая к матрице ядра свертки по глубине (см. keras.regularizers).
pointwise_regularizer Функция регуляризации, применяемая к матрице ядра точечной свертки (см. keras.regularizers).
bias_regularizer Функция регуляризации, применяемая к вектору смещения (см. keras.regularizers).
activity_regularizer Функция регуляризации, применяемая к выходу слоя (его «активации») (см. keras.regularizers).
depthwise_constraint Функция ограничения, применяемая к матрице ядра свертки по глубине (см. keras.constraints).
pointwise_constraint Функция ограничения, применяемая к матрице ядра точечной свертки (см. keras.constraints).
bias_constraint Функция ограничения, применяемая к вектору смещения (см. keras.constraints).

Форма ввода:

4D тензор с формой: (batch_size, channels, rows, cols) если data_format='channels_first' или 4D тензор с формой: (batch_size, rows, cols, channels) если data_format='channels_last'.

Форма вывода:

4D тензор с формой: (batch_size, filters, new_rows, new_cols) если data_format='channels_first' или 4D тензор с формой: (batch_size, new_rows, new_cols, filters) если data_format='channels_last'. Значения rows и cols могут измениться из-за заполнения.

Возвращаемые значения
4D тензор, представляющий activation(separableconv2d(inputs, kernel) + bias).
Возбуждает
ValueError если padding равно "causal".

Методы

convolution_op

Просмотреть исходный код

convolution_op(
    inputs, kernel
)

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/keras/layers/SeparableConv2D

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API