tf.nn.depthwise_conv2d
| Просмотреть исходный код на GitHub |
Двумерная свёртка по каналам.
tf.nn.depthwise_conv2d(
input, filter, strides, padding, rate=None, name=None, data_format=None,
dilations=None
)
Принимая 4-мерный входной тензор ('NHWC' или 'NCHW' форматы данных) и тензор фильтра с формой [filter_height, filter_width, in_channels, channel_multiplier] содержащий in_channels свёрочные фильтры глубиной 1, depthwise_conv2d применяет разные фильтры к каждому входному каналу (расширяя от 1 канала до channel_multiplier каналов для каждого), а затем склеивает результаты вместе. Выходной тензор имеет in_channels * channel_multiplier каналов.
Подробно, при формате NHWC по умолчанию,
output[b, i, j, k * channel_multiplier + q] = sum_{di, dj}
filter[di, dj, k, q] * input[b, strides[1] * i + rate[0] * di,
strides[2] * j + rate[1] * dj, k]
Должно выполняться условие strides[0] = strides[3] = 1. В наиболее распространённом случае одинаковых горизонтальных и вертикальных шагов, strides = [1, stride, stride, 1]. Если какое-либо значение в rate больше 1, то выполняется атропная свёртка по каналам, в этом случае все значения в тензоре strides должны быть равны 1.
| Аргументы | |
|---|---|
input | 4-мерный с формой согласно data_format. |
filter | 4-мерный с формой [filter_height, filter_width, in_channels, channel_multiplier]. |
strides | 1-мерный размера 4. Шаг скользящего окна для каждой размерности input. |
padding | Строка, либо 'VALID' или 'SAME'. Алгоритм заполнения. См. раздел "возвращаемое значение" в tf.nn.convolution для подробностей. |
rate | 1-мерный размера 2. Скорость дилатации, с которой мы выбираем входные значения по height и width размерностям в атропной свёртке. Если оно больше 1, то все значения шагов должны быть 1. |
name | Имя для этой операции (необязательно). |
data_format | Формат данных для входа. Либо "NHWC" (по умолчанию), либо "NCHW". |
dilations | Псевдоним для rate. |
| Возвращаемое значение | |
|---|---|
4-мерный Tensor с формой согласно data_format. Например, для формата "NHWC", форма [batch, out_height, out_width, in_channels * channel_multiplier]. |
© 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/r1.15/api_docs/python/tf/nn/depthwise_conv2d