.. index:: pair: struct; dnnl_pooling_desc_t .. _doxid-structdnnl__pooling__desc__t: struct dnnl_pooling_desc_t ========================== .. toctree:: :hidden: Overview ~~~~~~~~ A descriptor of a pooling operation. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include struct dnnl_pooling_desc_t { // fields :ref:`dnnl_primitive_kind_t` :ref:`primitive_kind`; :ref:`dnnl_prop_kind_t` :ref:`prop_kind`; :ref:`dnnl_alg_kind_t` :ref:`alg_kind`; :ref:`dnnl_memory_desc_t` :ref:`src_desc`; :ref:`dnnl_memory_desc_t` :ref:`diff_src_desc`; :ref:`dnnl_memory_desc_t` :ref:`dst_desc`; :ref:`dnnl_memory_desc_t` :ref:`diff_dst_desc`; :ref:`dnnl_dims_t` :ref:`strides`; :ref:`dnnl_dims_t` :ref:`kernel`; :ref:`dnnl_dims_t` :ref:`padding`[2]; :ref:`dnnl_data_type_t` :ref:`accum_data_type`; }; .. _details-structdnnl__pooling__desc__t: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ A descriptor of a pooling operation. Fields ------ .. index:: pair: variable; primitive_kind .. _doxid-structdnnl__pooling__desc__t_1a0f632965c845f392df1f87a0f4f976a1: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_primitive_kind_t` primitive_kind The kind of primitive. Used for self-identifying the primitive descriptor. Must be :ref:`dnnl_pooling `. .. index:: pair: variable; prop_kind .. _doxid-structdnnl__pooling__desc__t_1a8afb23b314a15ae9ee4e0654eb4b8371: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_prop_kind_t` prop_kind The kind of propagation. Possible values: :ref:`dnnl_forward_training `, :ref:`dnnl_forward_inference `, :ref:`dnnl_backward `, and :ref:`dnnl_backward_data `. .. index:: pair: variable; alg_kind .. _doxid-structdnnl__pooling__desc__t_1a6dc1371eb776111b66334f0f0aea2a4c: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_alg_kind_t` alg_kind The kind of pooling algorithm. Possible values: :ref:`dnnl_pooling_max `, :ref:`dnnl_pooling_avg_include_padding `, and :ref:`dnnl_pooling_avg_exclude_padding `. .. index:: pair: variable; src_desc .. _doxid-structdnnl__pooling__desc__t_1a4757f18317487b79bf6f62b52ac865c9: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` src_desc Source memory descriptor. .. index:: pair: variable; diff_src_desc .. _doxid-structdnnl__pooling__desc__t_1a22eca3d8d4a7f8eec128fb62614dc841: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` diff_src_desc Source gradient memory descriptor. .. index:: pair: variable; dst_desc .. _doxid-structdnnl__pooling__desc__t_1a1e4f834d49d4535ae42cd3ea482bd16a: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` dst_desc Destination memory descriptor. .. index:: pair: variable; diff_dst_desc .. _doxid-structdnnl__pooling__desc__t_1a8bb0b2076e09bd020d55d12510aaaa8c: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` diff_dst_desc Destination gradient memory descriptor. .. index:: pair: variable; strides .. _doxid-structdnnl__pooling__desc__t_1a2ea5682de63b0f77709cd1d0197997a3: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_dims_t` strides Pooling kernel strides for spatial dimensions. .. index:: pair: variable; kernel .. _doxid-structdnnl__pooling__desc__t_1a9c5ac09cf26ab0a93bd068eda066ada9: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_dims_t` kernel Pooling kernel spatial dimensions. .. index:: pair: variable; padding .. _doxid-structdnnl__pooling__desc__t_1a331b687629f491f85d4513cb9367a889: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_dims_t` padding[2] Padding in each spatial dimension. padding[0] is a padding in the beginning (``padding_l``), padding[1] is a padding in the end (``padding_r``). .. index:: pair: variable; accum_data_type .. _doxid-structdnnl__pooling__desc__t_1add70bfb59910284ac5600554560c8e55: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_data_type_t` accum_data_type The accumulator data type. Initialized automatically.