# ConvTransposeBackwardWeights#

ConvTransposeBackwardWeights operation takes $$\diffdst$$, src and optional $$weights\_shape$$ computes $$\diffweights$$.

## Operation Attributes#

Attribute

Name

Description

Value Type

Supported

Values

Required or

Optional

strides

Controls the strides the weights tensor is moved when computing convolution

s64

A s64 list containing positive values

Required

pads_begin

Controls number of zeros to be add to the front/top/left of spatial dimensions

s64

A s64 list containing non-negative values

Required

pads_end

Controls number of zeros to be add to the back/bottom/right of spatial dimensions

s64

A s64 list containing non-negative values

Required

dilations

Controls the amount of stretching the kernel before convolution

s64

A s64 list containing positive values (>1 means dilated convolution)

Required

auto_pad

Controls how the padding is calculated

string

none (default), same_upper, same_lower, valid

Optional

output_padding

Adds additional amount of padding per each spatial axis in dst

s64

A s64 list containing non-negative values, all zeros by default

Optional

groups

Controls how input channels and output channels are divided into

s64

A positive s64 value, 1 by default

Optional

data_format

Controls how to interpret the shape of src and dst.

string

NCX, NXC (default)

Optional

weights_format

Controls how to interpret the shape of weights

string

IOX, XOI (default)

Optional

weights_shape

Denotes the shape of the weights tensor

s64

A s64 list containing positive values

Optional

## Execution Arguments#

The inputs and outputs must be provided according to the below index order when constructing an operation.

### Inputs#

Index

Argument Name

Required or Optional

0

src

Required

1

diff_dst

Required

2

weights_shape

Optional

@note The shape of weights is $$(in\_channels / groups, out\_channels, spatial\_shape)$$ for IOX format or $$(spatial\_shape, out\_channels, in\_channels / groups)$$ for XOI format. Both $$in\_channels$$ and $$out\_channels$$ must be divisible by groups attribute.

@note Either weights_shape input or weights_shape attribute should be provided. If both provided, weights_shape input will precede over the weights_shape attribute.

### Outputs#

Index

Argument Name

Required or Optional

0

diff_weights

Required

## Supported Data Types#

ConvTransposeBackwardWeights operation supports the following data type combinations.

Src

Diff_dst

Diff_weights

Weights_shape

f32

f32

f32

s32

bf16

bf16

bf16

s32

f16

f16

f16

s32