Spec-Zone.ru › TensorFlow

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, то все значения strides должны быть 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/api_docs/python/tf/compat/v1/nn/separable_conv2d

Spec-Zone.ru

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