Spec-Zone.ru › TensorFlow 2.9

tf.compat.v1.nn.separable_conv2d

Двумерная свёртка с разделяемыми фильтрами.

tf.compat.v1.nn.separable_conv2d(
    input,
    depthwise_filter,
    pointwise_filter,
    strides,
    padding,
    rate=None,
    name=None,
    data_format=None,
    dilations=None
)

Выполняет свёртку по глубине, которая действует раздельно на каналы, за которой следует точечная свёртка, смешивающая каналы. Обратите внимание, что это разделяемость по измерениям [1, 2] и 3, а не пространственная разделяемость по измерениям 1 и 2.

Подробно, с форматом NHWC по умолчанию,

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 управляет шагами только для свёртки по глубине, поскольку точечная свёртка имеет неявные шаги [1, 1, 1, 1]. Должно выполняться strides[0] = strides[3] = 1. В наиболее распространённом случае одинаковых горизонтальных и вертикальных шагов, strides = [1, stride, stride, 1]. Если какое-либо значение в rate больше 1, мы выполняем атронную свёртку по глубине, в этом случае все значения в тензоре strides должны быть равны 1.

Аргументы
input 4-мерный Tensor с формой в соответствии с data_format.
depthwise_filter 4-мерный Tensor с формой [filter_height, filter_width, in_channels, channel_multiplier]. Содержит in_channels свёртки фильтров глубиной 1.
pointwise_filter 4-мерный Tensor с формой [1, 1, channel_multiplier * in_channels, out_channels]. Точечный фильтр для смешивания каналов после того, как depthwise_filter выполнил пространственную свёртку.
strides 1-мерный массив размером 4. Шаги свёртки по глубине для каждого измерения input.
padding Управляет тем, как заполнить изображение перед применением свёртки по глубине. Может быть строкой "SAME" или "VALID", указывающей тип алгоритма заполнения, или списком Python, указывающим явное заполнение в начале и конце каждого измерения. При использовании явного заполнения и data_format равном "NHWC", это должно быть в формате [[0, 0], [pad_top, pad_bottom], [pad_left, pad_right], [0, 0]]. При использовании явного заполнения и data_format равном "NCHW", это должно быть в формате [[0, 0], [0, 0], [pad_top, pad_bottom], [pad_left, pad_right]].
rate 1-мерный массив размером 2. Скорость расширения, в которой мы выбираем значения входных данных по измерениям height и width в атронной свёртке. Если оно больше 1, все значения шагов должны быть равны 1.
name Имя для данной операции (необязательно).
data_format Формат данных для ввода. Либо "NHWC" (по умолчанию), либо "NCHW".
dilations Псевдоним для rate.
Возвращаемое значение
4-мерный Tensor с формой в соответствии с 'data_format'. Например, при data_format="NHWC" форма равна [batch, out_height, out_width, out_channels].

© 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/nn/separable_conv2d

Spec-Zone.ru

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