ConvTranspose

General

ConvTranspose operation performs the same computation as calculating the gradient with regard to \(\src\) of Convolution operation. To see the difference visually, you can go to https://github.com/vdumoulin/conv_arithmetic/blob/master/README.md “visualization page”.

Operation attributes

Attribute Name

De

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 ( visualization link ).

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

Execution arguments

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

Inputs

Index

Argu

0

src

Required

1

weights

Required

2

bias

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.

Outputs

Index

Argu

0

dst

Required

Supported data types

ConvTranspose operation supports the following data type combinations.

Src

Weights

f32

f32

f32

f32

bf16

bf16

bf16

bf16

f16

f16

f16

f16