Intel® oneAPI Deep Neural Network Developer Guide and Reference
A newer version of this document is available. Customers should click here to go to the newest version.
ConvolutionBackwardData
General
ConvolutionBackwardData operation accepts  ,
,  and optional dst shape as inputs, and compute the
 and optional dst shape as inputs, and compute the  .
.
If auto_pad attribute is specified to one of valid, same_upper and same_lower, pads_begin and pads_end attributes will be ignored. The paddings will be calculated by following the below formula:
Let the parameters be:
| Parameter | Depth | Height | Width | Comment | 
|---|---|---|---|---|
| Paddings: Front, top, and left | 
 | 
 | 
 | In the attributes we use pads_begin to indicate the corresponding vector of paddings | 
| Padding: Back, bottom, and right | 
 | 
 | 
 | In the attributes we use pads_end to indicate the corresponding vector of paddings | 
| Stride | 
 | 
 | 
 | In the attributes we use strides to indicate the corresponding vector of strides | 
| Dilation | 
 | 
 | 
 | In the attributes we use dilations to indicate the corresponding vector of dilations | 
Firstly,  is calculated according to
 is calculated according to  and
 and  . Let
. Let  be height dimension of
 be height dimension of  and
 and  be height dimension of
 be height dimension of  .
.
 
 
   If auto_pad attribute is specified as valid :
 
 
   If auto_pad attribute is specified as same_lower :
 
 
   If auto_pad attribute is specified as same_upper :
 
 
   where:
 is either an attribute or an input tensor, is either an attribute or an input tensor,
 is an optional attribute. is an optional attribute.
Operation attributes
| Attribute Name | Description | Value Type | Supported Values | Required or Optional | 
|---|---|---|---|---|
| Controls the strides the weights tensor is moved when computing convolution | s64 | A s64 list containing positive values | Required | |
| Controls number of zeros to be add to the front/top/left of spatial dimensions | s64 | A s64 list containing non-negative values | Required | |
| Controls number of zeros to be add to the back/bottom/right of spatial dimensions | s64 | A s64 list containing non-negative values | Required | |
| Controls the amount of stretching the kernel before convolution ( visualization link ) | s64 | A s64 list containing positive values (>1 means dilated convolution) | Required | |
| Controls how the padding is calculated | string | none (default), same_upper , same_lower , valid | Optional | |
| Adds additional amount of padding per each spatial axis in dst . | s64 | A s64 list containing non-negative values, all zeros by default | Optional | |
| Controls how input channels and output channels are divided into | s64 | A positive s64 value, 1 by default | Optional | |
| Controls how to interpret the shape of src and dst . | string | NCX , NXC (default) | Optional | |
| Controls how to interpret the shape of weights . | string | OIX , XIO (default) | Optional | |
| Denotes the shape of the dst tensor. | s64 | A s64 list containing positive values | Optional | 
Execution arguments
The inputs and outputs must be provided according to below index order when constructing an operation.
Inputs
| Index | Argument Name | Required or Optional | 
|---|---|---|
| 0 | diff_dst | Required | 
| 1 | weights | Required | 
| 2 | dst_shape | Optional | 
 is
 is 
     for OIX format or
 for OIX format or 
     for XIO format. Both
 for XIO format. Both 
     and
 and 
     must be divisible by groups attribute.
 must be divisible by groups attribute. 
   Outputs
| Index | Argument Name | Required or Optional | 
|---|---|---|
| 0 | diff_src | Required | 
Supported data types
ConvolutionBackwardData operation supports the following data type combinations.
| Diff_dst | Weights | Diff_src | Dst_shape | 
|---|---|---|---|
| f32 | f32 | f32 | s32 | 
| bf16 | bf16 | bf16 | s32 | 
| f16 | f16 | f16 | s32 | 




