struct dnnl::convolution_backward_weights::desc

Overview

Descriptor for a convolution weights gradient primitive. More…

#include <dnnl.hpp>

struct desc
{
    // fields

    dnnl_convolution_desc_t data;

    // construction

    desc(
        algorithm aalgorithm,
        const memory::desc& src_desc,
        const memory::desc& diff_weights_desc,
        const memory::desc& diff_bias_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& src_desc,
        const memory::desc& diff_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& src_desc,
        const memory::desc& diff_weights_desc,
        const memory::desc& diff_bias_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
        );

    desc(
        algorithm aalgorithm,
        const memory::desc& src_desc,
        const memory::desc& diff_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 weights gradient primitive.

Construction

desc(
    algorithm aalgorithm,
    const memory::desc& src_desc,
    const memory::desc& diff_weights_desc,
    const memory::desc& diff_bias_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 weights gradient 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:

aalgorithm

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

src_desc

Source memory descriptor.

diff_weights_desc

Diff weights memory descriptor.

diff_bias_desc

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

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& src_desc,
    const memory::desc& diff_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 weights gradient 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:

aalgorithm

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

src_desc

Source memory descriptor.

diff_weights_desc

Diff 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& src_desc,
    const memory::desc& diff_weights_desc,
    const memory::desc& diff_bias_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 a dilated convolution weights gradient 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:

aalgorithm

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

src_desc

Source memory descriptor.

diff_weights_desc

Diff weights memory descriptor.

diff_bias_desc

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

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

desc(
    algorithm aalgorithm,
    const memory::desc& src_desc,
    const memory::desc& diff_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 a dilated convolution weights gradient 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:

aalgorithm

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

src_desc

Source memory descriptor.

diff_weights_desc

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