struct dnnl_pooling_desc_t

Overview

A descriptor of a pooling operation. More…

#include <dnnl_types.h>

struct dnnl_pooling_desc_t
{
    // fields

    dnnl_primitive_kind_t primitive_kind;
    dnnl_prop_kind_t prop_kind;
    dnnl_alg_kind_t alg_kind;
    dnnl_memory_desc_t src_desc;
    dnnl_memory_desc_t diff_src_desc;
    dnnl_memory_desc_t dst_desc;
    dnnl_memory_desc_t diff_dst_desc;
    dnnl_dims_t strides;
    dnnl_dims_t kernel;
    dnnl_dims_t padding[2];
    dnnl_data_type_t accum_data_type;
};

Detailed Documentation

A descriptor of a pooling operation.

Fields

dnnl_primitive_kind_t primitive_kind

The kind of primitive.

Used for self-identifying the primitive descriptor. Must be dnnl_pooling.

dnnl_prop_kind_t prop_kind

The kind of propagation.

Possible values: dnnl_forward_training, dnnl_forward_inference, dnnl_backward, and dnnl_backward_data.

dnnl_alg_kind_t alg_kind

The kind of pooling algorithm.

Possible values: dnnl_pooling_max, dnnl_pooling_avg_include_padding, and dnnl_pooling_avg_exclude_padding.

dnnl_memory_desc_t src_desc

Source memory descriptor.

dnnl_memory_desc_t diff_src_desc

Source gradient memory descriptor.

dnnl_memory_desc_t dst_desc

Destination memory descriptor.

dnnl_memory_desc_t diff_dst_desc

Destination gradient memory descriptor.

dnnl_dims_t strides

Pooling kernel strides for spatial dimensions.

dnnl_dims_t kernel

Pooling kernel spatial dimensions.

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

dnnl_data_type_t accum_data_type

The accumulator data type. Initialized automatically.