tf.compat.v1.nn.pool
Выполняет N-мерную операцию пулинга.
tf.compat.v1.nn.pool(
input, window_shape, pooling_type, padding, dilation_rate=None, strides=None,
name=None, data_format=None, dilations=None
)
В случае, если data_format не начинается с "NC", вычисляет для 0 ≤ b < batch_size, 0 ≤ x[i] < output_spatial_shape[i], 0 ≤ c < num_channels:
output[b, x[0], ..., x[N-1], c] =
REDUCE_{z[0], ..., z[N-1]}
input[b,
x[0] * strides[0] - pad_before[0] + dilation_rate[0]*z[0],
...
x[N-1]*strides[N-1] - pad_before[N-1] + dilation_rate[N-1]*z[N-1],
c],
где функция сокращения REDUCE зависит от значения pooling_type, а pad_before определяется на основе значения padding, как описано в разделе «возвращаемое значение» в tf.nn.convolution для получения подробностей. Сокращение никогда не включает позиции вне границ.
В случае, если data_format начинается с "NC", input и вывод просто транспонируются следующим образом:
pool(input, data_format, **kwargs) =
tf.transpose(pool(tf.transpose(input, [0] + range(2,N+2) + [1]),
**kwargs),
[0, N+1] + range(1, N+1))
| Аргументы | |
|---|---|
input | Тензор ранга N+2, формы [batch_size] + input_spatial_shape + [num_channels] если data_format не начинается с "NC" (по умолчанию) или [batch_size, num_channels] + input_spatial_shape если data_format начинается с "NC". Пулинг выполняется только по пространственным измерениям. |
window_shape | Последовательность из N целых чисел ≥ 1. |
pooling_type | Указывает операцию пулинга, должна быть "AVG" или "MAX". |
padding | Алгоритм заполнения, должен быть "SAME" или "VALID". Подробности см. в разделе «возвращаемое значение» tf.nn.convolution. |
dilation_rate | Необязательно. Скорость расширения. Список из N целых чисел ≥ 1. По умолчанию [1]N. Если какое-либо значение dilation_rate > 1, все значения strides должны быть 1. |
strides | Необязательно. Последовательность из N целых чисел ≥ 1. По умолчанию [1]N. Если какое-либо значение strides > 1, все значения dilation_rate должны быть 1. |
name | Необязательно. Название операции. |
data_format | Строка или None. Указывает, является ли размерность канала input и вывода последней размерностью (по умолчанию, или если data_format не начинается с "NC"), или второй размерностью (если data_format начинается с "NC"). Для N=1 допустимые значения "NWC" (по умолчанию) и "NCW". Для N=2 допустимые значения "NHWC" (по умолчанию) и "NCHW". Для N=3 допустимые значения "NDHWC" (по умолчанию) и "NCDHW". |
dilations | Псевдоним для dilation_rate |
| Возвращаемое значение | |
|---|---|
| Тензор ранга N+2, формы [batch_size] + output_spatial_shape + [num_channels] если data_format равно None или не начинается с "NC", или [batch_size, num_channels] + output_spatial_shape если data_format начинается с "NC", где Если padding = "SAME": output_spatial_shape[i] = ceil(input_spatial_shape[i] / strides[i]) Если padding = "VALID": output_spatial_shape[i] = ceil((input_spatial_shape[i] - (window_shape[i] - 1) * dilation_rate[i]) / strides[i]). |
| Исключения | |
|---|---|
ValueError | если аргументы недопустимы. |
© 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/pool