.. index:: pair: struct; dnnl::pooling_forward::primitive_desc .. _doxid-structdnnl_1_1pooling__forward_1_1primitive__desc: struct dnnl::pooling_forward::primitive_desc ============================================ .. toctree:: :hidden: Overview ~~~~~~~~ Primitive descriptor for a pooling forward propagation primitive. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include struct primitive_desc: public :ref:`dnnl::primitive_desc` { // construction :ref:`primitive_desc`(); :ref:`primitive_desc`( const :ref:`engine`& aengine, :ref:`prop_kind` aprop_kind, :ref:`algorithm` aalgorithm, const :ref:`memory::desc`& src_desc, const :ref:`memory::desc`& dst_desc, const :ref:`memory::dims`& strides, const :ref:`memory::dims`& kernel, const :ref:`memory::dims`& dilation, const :ref:`memory::dims`& padding_l, const :ref:`memory::dims`& padding_r, const :ref:`primitive_attr`& attr = :ref:`default_attr`(), bool allow_empty = false ); :ref:`primitive_desc`(:ref:`dnnl_primitive_desc_t` pd); // methods :ref:`memory::desc` :ref:`src_desc`() const; :ref:`memory::desc` :ref:`dst_desc`() const; :ref:`memory::desc` :ref:`workspace_desc`() const; :ref:`algorithm` :ref:`get_algorithm`() const; :ref:`prop_kind` :ref:`get_prop_kind`() const; :ref:`memory::dims` :ref:`get_strides`() const; :ref:`memory::dims` :ref:`get_kernel`() const; :ref:`memory::dims` :ref:`get_dilations`() const; :ref:`memory::dims` :ref:`get_padding_l`() const; :ref:`memory::dims` :ref:`get_padding_r`() const; }; Inherited Members ----------------- .. ref-code-block:: cpp :class: doxyrest-overview-inherited-code-block public: // methods :ref:`handle`& :ref:`operator =` (const :ref:`handle`&); :ref:`handle`& :ref:`operator =` (:ref:`handle`&&); void :ref:`reset`(T t, bool weak = false); T :ref:`get`(bool allow_empty = false) const; :ref:`operator T` () const; :ref:`operator bool` () const; bool :ref:`operator ==` (const :ref:`handle`& other) const; bool :ref:`operator !=` (const :ref:`handle`& other) const; :ref:`engine` :ref:`get_engine`() const; const char* :ref:`impl_info_str`() const; :ref:`memory::dim` :ref:`query_s64`(:ref:`query` what) const; :ref:`memory::dims` :ref:`get_strides`() const; :ref:`memory::dims` :ref:`get_dilations`() const; :ref:`memory::dims` :ref:`get_padding_l`() const; :ref:`memory::dims` :ref:`get_padding_r`() const; float :ref:`get_epsilon`() const; template T :ref:`get_flags`() const; :ref:`dnnl::algorithm` :ref:`get_algorithm`() const; float :ref:`get_alpha`() const; float :ref:`get_beta`() const; int :ref:`get_axis`() const; :ref:`memory::dim` :ref:`get_local_size`() const; float :ref:`get_k`() const; float :ref:`get_p`() const; std::vector :ref:`get_factors`() const; :ref:`dnnl::algorithm` :ref:`get_cell_kind`() const; :ref:`dnnl::rnn_direction` :ref:`get_direction`() const; :ref:`dnnl::algorithm` :ref:`get_activation_kind`() const; :ref:`memory::dims` :ref:`get_kernel`() const; :ref:`memory::dim` :ref:`get_group_size`() const; :ref:`dnnl::prop_kind` :ref:`get_prop_kind`() const; :ref:`memory::desc` :ref:`query_md`(:ref:`query` what, int idx = 0) const; :ref:`memory::desc` :ref:`src_desc`(int idx) const; :ref:`memory::desc` :ref:`dst_desc`(int idx) const; :ref:`memory::desc` :ref:`weights_desc`(int idx) const; :ref:`memory::desc` :ref:`diff_src_desc`(int idx) const; :ref:`memory::desc` :ref:`diff_dst_desc`(int idx) const; :ref:`memory::desc` :ref:`diff_weights_desc`(int idx) const; :ref:`memory::desc` :ref:`src_desc`() const; :ref:`memory::desc` :ref:`dst_desc`() const; :ref:`memory::desc` :ref:`weights_desc`() const; :ref:`memory::desc` :ref:`diff_src_desc`() const; :ref:`memory::desc` :ref:`diff_dst_desc`() const; :ref:`memory::desc` :ref:`diff_weights_desc`() const; :ref:`memory::desc` :ref:`workspace_desc`() const; :ref:`memory::desc` :ref:`scratchpad_desc`() const; :ref:`engine` :ref:`scratchpad_engine`() const; :ref:`primitive_attr` :ref:`get_primitive_attr`() const; :ref:`dnnl::primitive::kind` :ref:`get_kind`() const; std::vector :ref:`get_cache_blob_id`() const; bool :ref:`next_impl`(); :ref:`primitive_desc_base`(); :ref:`primitive_desc_base`(); :ref:`primitive_desc_base`(); :ref:`primitive_desc_base`(); .. _details-structdnnl_1_1pooling__forward_1_1primitive__desc: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Primitive descriptor for a pooling forward propagation primitive. Construction ------------ .. index:: pair: function; primitive_desc .. _doxid-structdnnl_1_1pooling__forward_1_1primitive__desc_1a510228fe650b690224af33012d1ac023: .. ref-code-block:: cpp :class: doxyrest-title-code-block primitive_desc() Default constructor. Produces an empty object. .. index:: pair: function; primitive_desc .. _doxid-structdnnl_1_1pooling__forward_1_1primitive__desc_1ab434fa4a23bd06a467e77ee3cd47a438: .. ref-code-block:: cpp :class: doxyrest-title-code-block primitive_desc( const :ref:`engine`& aengine, :ref:`prop_kind` aprop_kind, :ref:`algorithm` aalgorithm, const :ref:`memory::desc`& src_desc, const :ref:`memory::desc`& dst_desc, const :ref:`memory::dims`& strides, const :ref:`memory::dims`& kernel, const :ref:`memory::dims`& dilation, const :ref:`memory::dims`& padding_l, const :ref:`memory::dims`& padding_r, const :ref:`primitive_attr`& attr = :ref:`default_attr`(), bool allow_empty = false ) Constructs a primitive descriptor for pooling forward propagation primitive. Arrays ``strides``, ``kernel``, ``dilation``, ``padding_l`` and ``padding_r`` contain values for spatial dimensions only and hence must have the same number of elements as there are spatial dimensions. The order of values is the same as in the tensor: depth (for 3D tensors), height (for 3D and 2D tensors), and width. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - aengine - Engine to use. * - aprop_kind - Propagation kind. Possible values are :ref:`dnnl::prop_kind::forward_training `, and :ref:`dnnl::prop_kind::forward_inference `. * - aalgorithm - Pooling algorithm kind: either :ref:`dnnl::algorithm::pooling_max `, :ref:`dnnl::algorithm::pooling_avg_include_padding `, or :ref:`dnnl::algorithm::pooling_avg_exclude_padding `. * - src_desc - Source memory descriptor. * - dst_desc - Destination memory descriptor. * - strides - Vector of strides for spatial dimension. * - kernel - Vector of kernel spatial dimensions. * - dilation - Array of dilations for spatial dimension. * - padding_l - Vector of padding values for low indices for each spatial dimension ``([[front,] top,] left)``. * - padding_r - Vector of padding values for high indices for each spatial dimension ``([[back,] bottom,] right)``. * - attr - Primitive attributes to use. Attributes are optional and default to empty attributes. * - allow_empty - A flag signifying whether construction is allowed to fail without throwing an exception. In this case an empty object will be produced. This flag is optional and defaults to false. .. index:: pair: function; primitive_desc .. _doxid-structdnnl_1_1pooling__forward_1_1primitive__desc_1a7ab03b05cdd8a3ef08170443d9727bc3: .. ref-code-block:: cpp :class: doxyrest-title-code-block primitive_desc(:ref:`dnnl_primitive_desc_t` pd) Constructs a primitive descriptor for a pooling forward propagation primitive from a C API primitive descriptor that must have a matching kind. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - pd - C API primitive descriptor for a pooling forward propagation primitive. Methods ------- .. index:: pair: function; src_desc .. _doxid-structdnnl_1_1pooling__forward_1_1primitive__desc_1a74d06e6a0132733cd7bdd7155acd90d1: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`memory::desc` src_desc() const Returns a source memory descriptor. .. rubric:: Returns: Source memory descriptor. A zero memory descriptor if the primitive does not have a source parameter. .. index:: pair: function; dst_desc .. _doxid-structdnnl_1_1pooling__forward_1_1primitive__desc_1a507e60d22313a7adba7446644d51ba29: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`memory::desc` dst_desc() const Returns a destination memory descriptor. .. rubric:: Returns: Destination memory descriptor. A zero memory descriptor if the primitive does not have a destination parameter. .. index:: pair: function; workspace_desc .. _doxid-structdnnl_1_1pooling__forward_1_1primitive__desc_1acf4ef6c3ff264e6a3abf556a93e91e88: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`memory::desc` workspace_desc() const Returns the workspace memory descriptor. .. rubric:: Returns: Workspace memory descriptor. A zero memory descriptor if the primitive does not require workspace parameter. .. index:: pair: function; get_algorithm .. _doxid-structdnnl_1_1pooling__forward_1_1primitive__desc_1a873ea10c5d4a0036e55e006e9c7d6322: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`algorithm` get_algorithm() const Returns an algorithm kind. .. rubric:: Returns: An algorithm kind. :ref:`dnnl::algorithm::undef ` if the primitive does not have an algorithm parameter. .. index:: pair: function; get_prop_kind .. _doxid-structdnnl_1_1pooling__forward_1_1primitive__desc_1af85e9c7286906e1c117fb87a9f5f7f64: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`prop_kind` get_prop_kind() const Returns a propagation kind. .. rubric:: Returns: A propagation kind. :ref:`dnnl::prop_kind::undef ` if the primitive does not have a propagation parameter. .. index:: pair: function; get_strides .. _doxid-structdnnl_1_1pooling__forward_1_1primitive__desc_1affa1600cc3c125c595868714399e8896: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`memory::dims` get_strides() const Returns strides. .. rubric:: Returns: Strides. An empty :ref:`dnnl::memory::dims ` if the primitive does not have a strides parameter. .. index:: pair: function; get_kernel .. _doxid-structdnnl_1_1pooling__forward_1_1primitive__desc_1a7c076aa4c11d98d3a39335f633e51dfb: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`memory::dims` get_kernel() const Returns a pooling kernel parameter. .. rubric:: Returns: A pooling kernel parameter. An empty :ref:`dnnl::memory::dims ` if the primitive does not have a pooling kernel parameter. .. index:: pair: function; get_dilations .. _doxid-structdnnl_1_1pooling__forward_1_1primitive__desc_1a8b0f972bfea593d81968a5f3eb01bae2: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`memory::dims` get_dilations() const Returns dilations. .. rubric:: Returns: Dilations. An empty :ref:`dnnl::memory::dims ` if the primitive does not have a dilations parameter. .. index:: pair: function; get_padding_l .. _doxid-structdnnl_1_1pooling__forward_1_1primitive__desc_1ac03c40c326887b735308528becd3e987: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`memory::dims` get_padding_l() const Returns a left padding. .. rubric:: Returns: A left padding. An empty :ref:`dnnl::memory::dims ` if the primitive does not have a left padding parameter. .. index:: pair: function; get_padding_r .. _doxid-structdnnl_1_1pooling__forward_1_1primitive__desc_1ada0d43cc329f69490e5012d0a3b38fb3: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`memory::dims` get_padding_r() const Returns a right padding. .. rubric:: Returns: A right padding. An empty :ref:`dnnl::memory::dims ` if the primitive does not have a right padding parameter.