oneflow.nn.functional.conv_transpose2d(input, weight, bias=None, stride=1, padding=0, output_padding=0, groups=1, dilation=1)Tensor

Applies a 2D transposed convolution operator over an input image composed of several input planes, sometimes also called “deconvolution”.

The documentation is referenced from:

See ConvTranspose2d for details and output shape.

  • input – input tensor of shape \((\text{minibatch} , \text{in_channels} , iH , iW)\)

  • weight – filters of shape \((\text{in_channels} , \frac{\text{out_channels}}{\text{groups}} , kH , kW)\)

  • bias – optional bias of shape \((\text{out_channels})\). Default: None.

  • stride – the stride of the convolving kernel. Can be a single number or a tuple (sH, sW). Default: 1

  • paddingdilation * (kernel_size - 1) - padding zero-padding will be added to both sides of each dimension in the input. Can be a single number or a tuple (padH, padW). Default: 0

  • output_padding – additional size added to one side of each dimension in the output shape. Can be a single number or a tuple (out_padH, out_padW). Default: 0

  • groups – split input into groups, \(\text{in_channels}\) should be divisible by the number of groups. Default: 1

  • dilation – the spacing between kernel elements. Can be a single number or a tuple (dH, dW). Default: 1

For examples:

>>> import oneflow as flow
>>> import oneflow.nn.functional as F

>>> inputs = flow.randn(1, 4, 5, 5)
>>> weights = flow.randn(4, 8, 3, 3)
>>> outputs = F.conv_transpose2d(inputs, weights, padding=1)