ConvolutionBackpropFilters
ConvolutionBackpropFilters#
Versioned name: ConvolutionBackpropFilters-1
Category: Convolution
Short description: Computes the gradients of a Convolution operation with respect to the filters.
Detailed description:
ConvolutionBackpropFilters takes the input tensor, the gradient of output tensor, and filter shape (optional) to compute the gradient of filter.
Attributes
strides
Description: strides has the same definition as strides for a regular Convolution.
Range of values: positive s64 values.
Type: s64[]
Required: yes
pads_begin
Description: pads_begin has the same definition as pads_begin for a regular Convolution. May be omitted specified, in which case pads are calculated automatically.
Range of values: non-negative s64 values.
Type: s64[]
Required: yes
Note: the attribute is ignored when auto_pad attribute is specified.
pads_end
Description: pads_end has the same definition as pads_end for a regular Convolution. May be omitted, in which case pads are calculated automatically.
Range of values: non-negative s64 values.
Type: s64[]
Required: yes
Note: the attribute is ignored when auto_pad attribute is specified.
dilations
Description: dilations has the same definition as dilations for a regular Convolution.
Range of values: positive s64 values.
Type: s64[]
Required: yes
auto_pad
Description: auto_pad has the same definition as auto_pad for a regular Convolution.
none (not specified): use explicit padding values from
pads_begin
andpads_end
.same_upper (same_lower) the input is padded to match the output size. In case of odd padding value an extra padding is added at the end (at the beginning).
valid - do not use padding.
Type: string
Default value: none
Required: no
Note: pads_begin and pads_end attributes are ignored when auto_pad is specified.
groups
Description: groups denotes the number of groups input channels and output channels are divided into. In_channels and out_channels must both be divisible by groups
Range of values: a positive s64 value.
Type: s64
Default value: 1
Required: no
data_format
Description: data_format denotes the data format of the input data and output delta.
Range of values: NXC or NCX (X means HW for 2D convolution, DHW for 3D convolution)
Type: string
Default value: NXC
Required: no
filter_format
Description: filter_format denotes the data format of the filter gradient.
Range of values: XIO or OIX (X means HW for 2D convolution, DHW for 3D convolution)
Type: string
Default value: XIO
Required: no
filter_shape
Description: filter_shape denotes the shape of the filter.
Type: s64[]
Required: no
Inputs:
1:
input_forward
- original input tensor of Convolution op. Required.Type: T
2:
output_delta
- the gradient tensor with respect to the output of the convolution. Required.Type: T
3:
filter_shape
- 1D integer tensor that specifies shape of the filter. The shape of filter is \((out_channels, in_channels / groups, spatial_shape)\) for OIX format or \((spatial_shape, in_channels / groups, out_channels)\) for XIO format. \(in_channels\) and \(out_channels\) must both be divisible by groups. If specified, filter_shape attribute will be ignored. If not specified, users should define filter_shape through attribute. Optional.Type: s32
Outputs:
1:
filter_delta
- gradient tensor with respect to the filter of the convolution. The format is specified by filter_format attribute.Type: T
Types:
T: f32, f16, bf16.
Note: Inputs and outputs have the same data type denoted by T. For example, if input is f32 tensor, then all other tensors have f32 data type.