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... | |
A primitive to perform 1D, 2D or 3D deconvolution.
Supported variants are forward propagation, backward propagation, and weights gradient with or without bias.
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.
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.
deconv_desc | Output descriptor for a deconvolution primitive. |
prop_kind | Propagation kind. Possible values are dnnl_forward_training and dnnl_forward_inference. |
alg_kind | Deconvolution algorithm. Possible values are dnnl_deconvolution_direct, dnnl_deconvolution_winograd. |
src_desc | Source memory descriptor. |
weights_desc | Weights memory descriptor. |
bias_desc | 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. |
dst_desc | Destination memory descriptor. |
strides | Array of strides for spatial dimension. |
padding_l | Array of padding values for low indices for each spatial dimension ([[front,] top,] left) . |
padding_r | Array 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. |
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.
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.
deconv_desc | Output descriptor for a deconvolution primitive. |
prop_kind | Propagation kind. Possible values are dnnl_forward_training and dnnl_forward_inference. |
alg_kind | Deconvolution algorithm. Possible values are dnnl_deconvolution_direct, dnnl_deconvolution_winograd. |
src_desc | Source memory descriptor. |
weights_desc | Weights memory descriptor. |
bias_desc | 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. |
dst_desc | Destination memory descriptor. |
strides | Array of strides for spatial dimension. |
dilates | Array of dilations for spatial dimension. A zero value means no dilation in the corresponding dimension. |
padding_l | Array of padding values for low indices for each spatial dimension ([[front,] top,] left) . |
padding_r | Array 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. |
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.
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.
deconv_desc | Output descriptor for a deconvolution primitive. |
alg_kind | Deconvolution algorithm. Possible values are dnnl_deconvolution_direct, dnnl_deconvolution_winograd. |
diff_src_desc | Diff source memory descriptor. |
weights_desc | Weights memory descriptor. |
diff_dst_desc | Diff destination memory descriptor. |
strides | Array of strides for spatial dimension. |
padding_l | Array of padding values for low indices for each spatial dimension ([[front,] top,] left) . |
padding_r | Array 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. |
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.
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.
deconv_desc | Output descriptor for a deconvolution primitive. |
alg_kind | Deconvolution algorithm. Possible values are dnnl_deconvolution_direct, dnnl_deconvolution_winograd. |
diff_src_desc | Diff source memory descriptor. |
weights_desc | Weights memory descriptor. |
diff_dst_desc | Diff destination memory descriptor. |
strides | Array of strides for spatial dimension. |
dilates | Array of dilations for spatial dimension. A zero value means no dilation in the corresponding dimension. |
padding_l | Array of padding values for low indices for each spatial dimension ([[front,] top,] left) . |
padding_r | Array 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. |
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.
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.
deconv_desc | Output descriptor for a deconvolution primitive. |
alg_kind | Deconvolution algorithm. Possible values are dnnl_deconvolution_direct, dnnl_deconvolution_winograd. |
src_desc | Source memory descriptor. |
diff_weights_desc | Diff weights memory descriptor. |
diff_bias_desc | Diff 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_desc | Diff destination memory descriptor. |
strides | Array of strides for spatial dimension. |
padding_l | Array of padding values for low indices for each spatial dimension ([[front,] top,] left) . |
padding_r | Array 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. |
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.
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.
deconv_desc | Output descriptor for a deconvolution primitive. |
alg_kind | Deconvolution algorithm. Possible values are dnnl_deconvolution_direct, dnnl_deconvolution_winograd. |
src_desc | Source memory descriptor. |
diff_weights_desc | Diff weights memory descriptor. |
diff_bias_desc | Diff 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_desc | Diff destination memory descriptor. |
strides | Array of strides for spatial dimension. |
dilates | Array of dilations for spatial dimension. A zero value means no dilation in the corresponding dimension. |
padding_l | Array of padding values for low indices for each spatial dimension ([[front,] top,] left) . |
padding_r | Array 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. |