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 | Одномерный массив размера 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 | Одномерный массив размера 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