Deep Neural Network Library (DNNL)  1.3.0
Performance library for Deep Learning
Classes | Typedefs | Functions
Deconvolution

A primitive to perform 1D, 2D or 3D deconvolution. More...

Classes

struct  dnnl::deconvolution_forward
 Deconvolution forward propagation primitive. More...
 
struct  dnnl::deconvolution_backward_data
 Deconvolution backward propagation primitive. More...
 
struct  dnnl::deconvolution_backward_weights
 Deconvolution weights gradient primitive. More...
 

Typedefs

typedef dnnl_convolution_desc_t dnnl_deconvolution_desc_t
 A descriptor of a deconvolution operation.
 

Functions

dnnl_status_t DNNL_API dnnl_deconvolution_forward_desc_init (dnnl_deconvolution_desc_t *deconv_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
 Initializes a descriptor for a deconvolution forward propagation primitive. More...
 
dnnl_status_t DNNL_API dnnl_dilated_deconvolution_forward_desc_init (dnnl_deconvolution_desc_t *deconv_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
 Initializes a descriptor for a dilated deconvolution forward propagation primitive. More...
 
dnnl_status_t DNNL_API dnnl_deconvolution_backward_data_desc_init (dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
 Initializes a descriptor for a deconvolution backward propagation primitive. More...
 
dnnl_status_t DNNL_API dnnl_dilated_deconvolution_backward_data_desc_init (dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
 Initializes a descriptor for a dilated deconvolution backward propagation primitive. More...
 
dnnl_status_t DNNL_API dnnl_deconvolution_backward_weights_desc_init (dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
 Initializes a descriptor for a deconvolution weights gradient primitive. More...
 
dnnl_status_t DNNL_API dnnl_dilated_deconvolution_backward_weights_desc_init (dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
 Initializes a descriptor for a dilated deconvolution weights gradient primitive. More...
 

Detailed Description

A primitive to perform 1D, 2D or 3D deconvolution.

Supported variants are forward propagation, backward propagation, and weights gradient with or without bias.

Function Documentation

◆ dnnl_deconvolution_forward_desc_init()

dnnl_status_t DNNL_API dnnl_deconvolution_forward_desc_init ( dnnl_deconvolution_desc_t deconv_desc,
dnnl_prop_kind_t  prop_kind,
dnnl_alg_kind_t  alg_kind,
const dnnl_memory_desc_t src_desc,
const dnnl_memory_desc_t weights_desc,
const dnnl_memory_desc_t bias_desc,
const dnnl_memory_desc_t dst_desc,
const dnnl_dims_t  strides,
const dnnl_dims_t  padding_l,
const dnnl_dims_t  padding_r 
)

Initializes a descriptor for a deconvolution forward propagation primitive.

Note
Memory descriptors can be initialized with dnnl_format_tag_any or with format_kind set to dnnl_format_kind_any.

Inputs:

Outputs:

Parameters
deconv_descOutput descriptor for a deconvolution primitive.
prop_kindPropagation kind. Possible values are dnnl_forward_training and dnnl_forward_inference.
alg_kindDeconvolution algorithm. Possible values are dnnl_deconvolution_direct, dnnl_deconvolution_winograd.
src_descSource memory descriptor.
weights_descWeights memory descriptor.
bias_descBias memory descriptor. Passing NULL, a zero memory descriptor, or a memory descriptor with format_kind set to dnnl_format_kind_undef disables the bias term.
dst_descDestination memory descriptor.
stridesArray of strides for spatial dimension.
padding_lArray of padding values for low indices for each spatial dimension (front, top, left).
padding_rArray of padding values for high indices for each spatial dimension (back, bottom, right). Can be NULL in which case padding is considered to be symmetrical.
Returns
dnnl_success on success and a status describing the error otherwise.

◆ dnnl_dilated_deconvolution_forward_desc_init()

dnnl_status_t DNNL_API dnnl_dilated_deconvolution_forward_desc_init ( dnnl_deconvolution_desc_t deconv_desc,
dnnl_prop_kind_t  prop_kind,
dnnl_alg_kind_t  alg_kind,
const dnnl_memory_desc_t src_desc,
const dnnl_memory_desc_t weights_desc,
const dnnl_memory_desc_t bias_desc,
const dnnl_memory_desc_t dst_desc,
const dnnl_dims_t  strides,
const dnnl_dims_t  dilates,
const dnnl_dims_t  padding_l,
const dnnl_dims_t  padding_r 
)

Initializes a descriptor for a dilated deconvolution forward propagation primitive.

Note
Memory descriptors can be initialized with dnnl_format_tag_any or with format_kind set to dnnl_format_kind_any.

Inputs:

Outputs:

Parameters
deconv_descOutput descriptor for a deconvolution primitive.
prop_kindPropagation kind. Possible values are dnnl_forward_training and dnnl_forward_inference.
alg_kindDeconvolution algorithm. Possible values are dnnl_deconvolution_direct, dnnl_deconvolution_winograd.
src_descSource memory descriptor.
weights_descWeights memory descriptor.
bias_descBias memory descriptor. Passing NULL, a zero memory descriptor, or a memory descriptor with format_kind set to dnnl_format_kind_undef disables the bias term.
dst_descDestination memory descriptor.
stridesArray of strides for spatial dimension.
dilatesArray of dilations for spatial dimension. A zero value means no dilation in the corresponding dimension.
padding_lArray of padding values for low indices for each spatial dimension (front, top, left).
padding_rArray of padding values for high indices for each spatial dimension (back, bottom, right). Can be NULL in which case padding is considered to be symmetrical.
Returns
dnnl_success on success and a status describing the error otherwise.

◆ dnnl_deconvolution_backward_data_desc_init()

dnnl_status_t DNNL_API dnnl_deconvolution_backward_data_desc_init ( dnnl_deconvolution_desc_t deconv_desc,
dnnl_alg_kind_t  alg_kind,
const dnnl_memory_desc_t diff_src_desc,
const dnnl_memory_desc_t weights_desc,
const dnnl_memory_desc_t diff_dst_desc,
const dnnl_dims_t  strides,
const dnnl_dims_t  padding_l,
const dnnl_dims_t  padding_r 
)

Initializes a descriptor for a deconvolution backward propagation primitive.

Note
Memory descriptors can be initialized with dnnl_format_tag_any or with format_kind set to dnnl_format_kind_any.

Inputs:

Outputs:

Parameters
deconv_descOutput descriptor for a deconvolution primitive.
alg_kindDeconvolution algorithm. Possible values are dnnl_deconvolution_direct, dnnl_deconvolution_winograd.
diff_src_descDiff source memory descriptor.
weights_descWeights memory descriptor.
diff_dst_descDiff destination memory descriptor.
stridesArray of strides for spatial dimension.
padding_lArray of padding values for low indices for each spatial dimension (front, top, left).
padding_rArray of padding values for high indices for each spatial dimension (back, bottom, right). Can be NULL in which case padding is considered to be symmetrical.
Returns
dnnl_success on success and a status describing the error otherwise.

◆ dnnl_dilated_deconvolution_backward_data_desc_init()

dnnl_status_t DNNL_API dnnl_dilated_deconvolution_backward_data_desc_init ( dnnl_deconvolution_desc_t deconv_desc,
dnnl_alg_kind_t  alg_kind,
const dnnl_memory_desc_t diff_src_desc,
const dnnl_memory_desc_t weights_desc,
const dnnl_memory_desc_t diff_dst_desc,
const dnnl_dims_t  strides,
const dnnl_dims_t  dilates,
const dnnl_dims_t  padding_l,
const dnnl_dims_t  padding_r 
)

Initializes a descriptor for a dilated deconvolution backward propagation primitive.

Note
Memory descriptors can be initialized with dnnl_format_tag_any or with format_kind set to dnnl_format_kind_any.

Inputs:

Outputs:

Parameters
deconv_descOutput descriptor for a deconvolution primitive.
alg_kindDeconvolution algorithm. Possible values are dnnl_deconvolution_direct, dnnl_deconvolution_winograd.
diff_src_descDiff source memory descriptor.
weights_descWeights memory descriptor.
diff_dst_descDiff destination memory descriptor.
stridesArray of strides for spatial dimension.
dilatesArray of dilations for spatial dimension. A zero value means no dilation in the corresponding dimension.
padding_lArray of padding values for low indices for each spatial dimension (front, top, left).
padding_rArray of padding values for high indices for each spatial dimension (back, bottom, right). Can be NULL in which case padding is considered to be symmetrical.
Returns
dnnl_success on success and a status describing the error otherwise.

◆ dnnl_deconvolution_backward_weights_desc_init()

dnnl_status_t DNNL_API dnnl_deconvolution_backward_weights_desc_init ( dnnl_deconvolution_desc_t deconv_desc,
dnnl_alg_kind_t  alg_kind,
const dnnl_memory_desc_t src_desc,
const dnnl_memory_desc_t diff_weights_desc,
const dnnl_memory_desc_t diff_bias_desc,
const dnnl_memory_desc_t diff_dst_desc,
const dnnl_dims_t  strides,
const dnnl_dims_t  padding_l,
const dnnl_dims_t  padding_r 
)

Initializes a descriptor for a deconvolution weights gradient primitive.

Note
Memory descriptors can be initialized with dnnl_format_tag_any or with format_kind set to dnnl_format_kind_any.

Inputs:

Outputs:

Parameters
deconv_descOutput descriptor for a deconvolution primitive.
alg_kindDeconvolution algorithm. Possible values are dnnl_deconvolution_direct, dnnl_deconvolution_winograd.
src_descSource memory descriptor.
diff_weights_descDiff weights memory descriptor.
diff_bias_descDiff bias memory descriptor. Passing NULL, a zero memory descriptor, or a memory descriptor with format_kind set to dnnl_format_kind_undef disables the bias term.
diff_dst_descDiff destination memory descriptor.
stridesArray of strides for spatial dimension.
padding_lArray of padding values for low indices for each spatial dimension (front, top, left).
padding_rArray of padding values for high indices for each spatial dimension (back, bottom, right). Can be NULL in which case padding is considered to be symmetrical.
Returns
dnnl_success on success and a status describing the error otherwise.

◆ dnnl_dilated_deconvolution_backward_weights_desc_init()

dnnl_status_t DNNL_API dnnl_dilated_deconvolution_backward_weights_desc_init ( dnnl_deconvolution_desc_t deconv_desc,
dnnl_alg_kind_t  alg_kind,
const dnnl_memory_desc_t src_desc,
const dnnl_memory_desc_t diff_weights_desc,
const dnnl_memory_desc_t diff_bias_desc,
const dnnl_memory_desc_t diff_dst_desc,
const dnnl_dims_t  strides,
const dnnl_dims_t  dilates,
const dnnl_dims_t  padding_l,
const dnnl_dims_t  padding_r 
)

Initializes a descriptor for a dilated deconvolution weights gradient primitive.

Note
Memory descriptors can be initialized with dnnl_format_tag_any or with format_kind set to dnnl_format_kind_any.

Inputs:

Outputs:

Parameters
deconv_descOutput descriptor for a deconvolution primitive.
alg_kindDeconvolution algorithm. Possible values are dnnl_deconvolution_direct, dnnl_deconvolution_winograd.
src_descSource memory descriptor.
diff_weights_descDiff weights memory descriptor.
diff_bias_descDiff bias memory descriptor. Passing NULL, a zero memory descriptor, or a memory descriptor with format_kind set to dnnl_format_kind_undef disables the bias term.
diff_dst_descDiff destination memory descriptor.
stridesArray of strides for spatial dimension.
dilatesArray of dilations for spatial dimension. A zero value means no dilation in the corresponding dimension.
padding_lArray of padding values for low indices for each spatial dimension (front, top, left).
padding_rArray of padding values for high indices for each spatial dimension (back, bottom, right). Can be NULL in which case padding is considered to be symmetrical.
Returns
dnnl_success on success and a status describing the error otherwise.