struct dnnl::pooling_forward::desc

Overview

Descriptor for a pooling forward propagation primitive. More…

#include <dnnl.hpp>

struct desc
{
    // fields

    dnnl_pooling_desc_t data;

    // construction

    desc(
        prop_kind aprop_kind,
        algorithm aalgorithm,
        const memory::desc& src_desc,
        const memory::desc& dst_desc,
        const memory::dims& strides,
        const memory::dims& kernel,
        const memory::dims& padding_l,
        const memory::dims& padding_r
        );
};

Detailed Documentation

Descriptor for a pooling forward propagation primitive.

Construction

desc(
    prop_kind aprop_kind,
    algorithm aalgorithm,
    const memory::desc& src_desc,
    const memory::desc& dst_desc,
    const memory::dims& strides,
    const memory::dims& kernel,
    const memory::dims& padding_l,
    const memory::dims& padding_r
    )

Constructs a descriptor for pooling forward propagation primitive.

Arrays strides, kernel, 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.

Parameters:

aprop_kind

Propagation kind. Possible values are dnnl::prop_kind::forward_training, and dnnl::prop_kind::forward_inference.

aalgorithm

Pooling algorithm kind: either dnnl::algorithm::pooling_max, dnnl::algorithm::pooling_avg_include_padding, or dnnl::algorithm::pooling_avg (same as 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.

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).