tf.compat.v1.layers.separable_conv2d
Функциональный интерфейс для слоя двумерной свертки с разделением по глубине.
tf.compat.v1.layers.separable_conv2d(
inputs,
filters,
kernel_size,
strides=(1, 1),
padding='valid',
data_format='channels_last',
dilation_rate=(1, 1),
depth_multiplier=1,
activation=None,
use_bias=True,
depthwise_initializer=None,
pointwise_initializer=None,
bias_initializer=tf.compat.v1.zeros_initializer(),
depthwise_regularizer=None,
pointwise_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
depthwise_constraint=None,
pointwise_constraint=None,
bias_constraint=None,
trainable=True,
name=None,
reuse=None
)
Перейти к TF2
Этот API является устаревшим API, совместимым только с выполнением в режиме жадного исполнения и tf.function, если вы используете его вместе с tf.compat.v1.keras.utils.track_tf1_style_variables
Обратитесь к разделу сопоставления моделей tf.layers в руководстве по миграции, чтобы узнать, как использовать вашу модель TensorFlow v1 в TF2 с Keras.
Соответствующий слой TensorFlow v2 — tf.keras.layers.SeparableConv2D.
Структурное сопоставление с родным TF2
Ни одно из поддерживаемых аргументов не изменило свое имя.
До:
y = tf.compat.v1.layers.separable_conv2d(x, filters=3, kernel_size=3)
После:
Для миграции кода, использующего функциональные слои TF1, используйте функциональный API Keras:
x = tf.keras.Input((28, 28, 1)) y = tf.keras.layers.SeparableConv2D(filters=3, kernels_size=3)(x) model = tf.keras.Model(x, y)
Описание
Этот слой выполняет свертку по глубине, которая действует раздельно на каналы, за которой следует точечная свертка, которая смешивает каналы. Если use_bias равно True и задан инициализатор смещения, он добавляет вектор смещения к выходу. Затем он необязательно применяет функцию активации для получения конечного результата.
| Args | |
|---|---|
inputs | Входной тензор. |
filters | Целое число, размерность выходного пространства (то есть количество фильтров в свертке). |
kernel_size | Кортеж или список из 2 целых чисел, определяющих пространственные размеры фильтров. Может быть одним целым числом для указания одного и того же значения для всех пространственных измерений. |
strides | Кортеж или список из 2 положительных целых чисел, определяющих шаги свертки. Может быть одним целым числом для указания одного и того же значения для всех пространственных измерений. Указание любого stride значения != 1 несовместимо с указанием любого dilation_rate значения != 1. |
padding | Один из "valid" или "same" (регистр игнорируется). "valid" означает отсутствие заполнения. "same" приводит к равномерному дополнению слева/справа или сверху/снизу входных данных, таким образом, что выходные высота/ширина имеют такие же размеры, как вход. |
data_format | Строка, одна из channels_last (по умолчанию) или channels_first. Порядок измерений во входных данных. channels_last соответствует входным данным с формой (batch, height, width, channels), в то время как channels_first соответствует входным данным с формой (batch, channels, height, width). |
dilation_rate | Целое число или кортеж/список из 2 целых чисел, определяющие скорость расширения для свертки с расширением. Может быть одним целым числом для указания одного и того же значения для всех пространственных измерений. В настоящее время указание любого dilation_rate значения != 1 несовместимо с указанием любого значения шага != 1. |
depth_multiplier | Количество выходных каналов свертки по глубине для каждого входного канала. Общее количество выходных каналов свертки по глубине будет равно num_filters_in * depth_multiplier. |
activation | Функция активации. Установите ее в значение None, чтобы сохранить линейную активацию. |
use_bias | Булево значение, использует ли слой смещение. |
depthwise_initializer | Инициализатор ядра свертки по глубине. |
pointwise_initializer | Инициализатор ядра точечной свертки. |
bias_initializer | Инициализатор вектора смещения. Если None, будет использован инициализатор по умолчанию. |
depthwise_regularizer | Необязательный регуляризатор ядра свертки по глубине. |
pointwise_regularizer | Необязательный регуляризатор ядра точечной свертки. |
bias_regularizer | Необязательный регуляризатор вектора смещения. |
activity_regularizer | Необязательная функция регуляризации для выхода. |
depthwise_constraint | Необязательная функция проектирования, применяемая к ядру свертки по глубине после обновления с помощью Optimizer (например, используется для ограничений по нормам или ограничений значений для весов слоя). Функция должна принимать в качестве входного значения непроектируемую переменную и возвращать спроектированную переменную (которая должна иметь ту же форму). Ограничения небезопасны при использовании в асинхронной распределенной тренировке. |
pointwise_constraint | Необязательная функция проектирования, применяемая к ядру точечной свертки после обновления с помощью Optimizer. |
bias_constraint | Необязательная функция проектирования, применяемая к смещению после обновления с помощью Optimizer. |
trainable | Булево значение, если True также добавляет переменные в коллекцию графа GraphKeys.TRAINABLE_VARIABLES (см. tf.Variable). |
name | Строка, имя слоя. |
reuse | Булево значение, использовать ли повторно веса предыдущего слоя с тем же именем. |
| Returns | |
|---|---|
| Выходной тензор. |
| Raises | |
|---|---|
ValueError | если включено жадное выполнение. |
© 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/compat/v1/layers/separable_conv2d