Skip to main content

ClikaRT::ops::conv_transpose2d

function

conv_transpose2d()

Tensor conv_transpose2d(
    Tensor x,
    Tensor weight,
    OptionalTensor bias = {},
    ClikaRT::Span<const std::int64_t> stride = {1, 1},
    ClikaRT::Span<const std::int64_t> padding = {0, 0, 0, 0},
    ClikaRT::Span<const std::int64_t> output_padding = {0, 0},
    int64_t groups = 1,
    ClikaRT::Span<const std::int64_t> dilation = {1, 1},
    Activation activation = Activation::Identity
)

2-D transposed (fractionally-strided) convolution (learnable upsampling).

Layout is channels-last; the WEIGHT is the transpose-flip of conv's: input-channel-first [C_in, K.., O/groups]; C_in == weight[0] and C_out == weight[-1] * groups (the cuDNN-BackwardData / ONNX convention, NOT conv's OHWI). padding is per-side: two entries (lo, hi) per spatial dim. output_padding grows only the output's high side.

Parameters

  • x: [N, H, W, C_in]; weight [C_in, Kh, Kw, O/groups]; stride default {1, 1}, padding per-side default {0, 0, 0, 0}.

Throws

  • ClikaRT::Error: when the channel/group arithmetic or a span length is inconsistent, or the dtype is not served (code_name() carries the reason).

Returns: channels-last [N, out-spatial.., C_out].

Declared in ClikaRT/compute/ops.h, line 1891