struct dnnl::convolution_backward_data::desc

Overview

Descriptor for a convolution backward propagation primitive. More…

#include <dnnl.hpp>

struct desc
{
    // fields

    dnnl_convolution_desc_t data;

    // construction

    desc(
        algorithm aalgorithm,
        const memory::desc& diff_src_desc,
        const memory::desc& weights_desc,
        const memory::desc& diff_dst_desc,
        const memory::dims& strides,
        const memory::dims& padding_l,
        const memory::dims& padding_r
        );

    desc(
        algorithm aalgorithm,
        const memory::desc& diff_src_desc,
        const memory::desc& weights_desc,
        const memory::desc& diff_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 backward propagation primitive.

Construction

desc(
    algorithm aalgorithm,
    const memory::desc& diff_src_desc,
    const memory::desc& weights_desc,
    const memory::desc& diff_dst_desc,
    const memory::dims& strides,
    const memory::dims& padding_l,
    const memory::dims& padding_r
    )

Constructs a descriptor for a convolution backward propagation primitive.

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:

aalgorithm

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

diff_src_desc

Diff source memory descriptor.

weights_desc

Weights memory descriptor.

diff_dst_desc

Diff 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(
    algorithm aalgorithm,
    const memory::desc& diff_src_desc,
    const memory::desc& weights_desc,
    const memory::desc& diff_dst_desc,
    const memory::dims& strides,
    const memory::dims& dilates,
    const memory::dims& padding_l,
    const memory::dims& padding_r
    )

Constructs a descriptor for dilated convolution backward propagation primitive.

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:

aalgorithm

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

diff_src_desc

Diff source memory descriptor.

weights_desc

Weights memory descriptor.

diff_dst_desc

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