Spec-Zone.ru › TensorFlow

tf.nn.separable_conv2d

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

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

Выполняет depthwise-свёртку, которая действует отдельно на каналы, а затем поточечную свёртку, смешивающую каналы. Обратите внимание: разделение выполняется между измерениями [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 задаёт шаги только для depthwise-свёртки, поскольку для поточечной свёртки шаги неявно равны [1, 1, 1, 1]. Должно быть strides[0] = strides[3] = 1. В наиболее распространённом случае одинаковых горизонтального и вертикального шагов strides = [1, stride, stride, 1]. Если какое-либо значение в rate больше 1, выполняется атрусная depthwise-свёртка; в этом случае все значения в тензоре 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 Одномерный массив размера 4. Шаги depthwise-свёртки для каждого измерения input.
padding Определяет способ дополнения изображения перед выполнением depthwise-свёртки. Может быть строкой "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]].
data_format Формат входных данных. Допустимые значения: "NHWC" (по умолчанию) или "NCHW".
dilations Одномерный массив размера 2. Коэффициент дилатации, определяющий выборку входных значений по измерениям height и width при атрусной свёртке. Если он больше 1, все значения strides должны быть равны 1.
name Имя этой операции (необязательно).
Возвращает
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/nn/separable_conv2d

Spec-Zone.ru

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