struct dnnl::convolution_forward::desc

Overview

Descriptor for a convolution forward propagation primitive. More…

#include <dnnl.hpp>

struct desc
{
    // fields

    dnnl_convolution_desc_t data;

    // construction

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

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

    desc(
        prop_kind aprop_kind,
        algorithm aalgorithm,
        const memory::desc& src_desc,
        const memory::desc& weights_desc,
        const memory::desc& bias_desc,
        const memory::desc& dst_desc,
        const memory::dims& strides,
        const memory::dims& dilates,
        const memory::dims& padding_l,
        const memory::dims& padding_r
        );

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

Detailed Documentation

Descriptor for a convolution forward propagation primitive.

Construction

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

Constructs a descriptor for a convolution forward propagation primitive with bias.

Note

All the memory descriptors may be initialized with the dnnl::memory::format_tag::any value of format_tag.

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

Convolution algorithm. Possible values are dnnl::algorithm::convolution_direct, dnnl::algorithm::convolution_winograd, and dnnl::algorithm::convolution_auto.

src_desc

Source memory descriptor.

weights_desc

Weights memory descriptor.

bias_desc

Bias memory descriptor. Passing zero memory descriptor disables the bias term.

dst_desc

Destination memory descriptor.

strides

Strides for each 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).

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

Constructs a descriptor for a convolution forward propagation primitive without bias.

Note

All the memory descriptors may be initialized with the dnnl::memory::format_tag::any value of format_tag.

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

Convolution algorithm. Possible values are dnnl::algorithm::convolution_direct, dnnl::algorithm::convolution_winograd, and dnnl::algorithm::convolution_auto.

src_desc

Source memory descriptor.

weights_desc

Weights memory descriptor.

dst_desc

Destination memory descriptor.

strides

Strides for each 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).

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

Constructs a descriptor for a dilated convolution forward propagation primitive with bias.

Note

All the memory descriptors may be initialized with the dnnl::memory::format_tag::any value of format_tag.

Arrays strides, dilates, 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

Convolution algorithm. Possible values are dnnl::algorithm::convolution_direct, dnnl::algorithm::convolution_winograd, and dnnl::algorithm::convolution_auto.

src_desc

Source memory descriptor.

weights_desc

Weights memory descriptor.

bias_desc

Bias memory descriptor. Passing zero memory descriptor disables the bias term.

dst_desc

Destination memory descriptor.

strides

Strides for each spatial dimension.

dilates

Dilations for each spatial dimension. A zero value means no dilation in the corresponding 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).

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

Constructs a descriptor for a dilated convolution forward propagation primitive without bias.

Note

All the memory descriptors may be initialized with the dnnl::memory::format_tag::any value of format_tag.

Arrays strides, dilates, 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

Convolution algorithm. Possible values are dnnl::algorithm::convolution_direct, dnnl::algorithm::convolution_winograd, and dnnl::algorithm::convolution_auto.

src_desc

Source memory descriptor.

weights_desc

Weights memory descriptor.

dst_desc

Destination memory descriptor.

strides

Strides for each spatial dimension.

dilates

Dilations for each spatial dimension. A zero value means no dilation in the corresponding 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).