Spec-Zone.ru › TensorFlow 2.3

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].

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/compat/v1/nn/separable_conv2d

Spec-Zone.ru

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