# conv3d_transpose¶

dragon.nn.conv3d_transpose(
inputs,
kernel_shape=3,
strides=1,
dilations=1,
group=1,
output_shape=None,
data_format='NCHW',
**kwargs
)[source]

Apply the 3d deconvolution.

• If data_format is 'NCHW', excepts input shape $$(N, C_{\text{in}}, D, H, W)$$, weight shape $$(C_{\text{in}}, C_{\text{out}}, D_{\text{k}}, H_{\text{k}}, W_{\text{k}})$$, and output shape is $$(N, C_{\text{out}}, D_{\text{out}}, H_{\text{out}}, W_{\text{out}})$$.
• If data_format is 'NHWC', excepts input shape $$(N, H, W, D, C_{\text{in}})$$, weight shape $$(C_{\text{in}}, D_{\text{k}}, H_{\text{k}}, W_{\text{k}}, C_{\text{out}})$$, and output shape is $$(N, D_{\text{out}}, H_{\text{out}}, W_{\text{out}}, C_{\text{out}})$$.
• If padding is 'VALID', pads controls the explicit padding size. Otherwise, size are computed automatically use the given method.

Examples:

x = dragon.ones((1, 2, 2, 2, 2))
w = dragon.ones((3, 2, 1, 1, 1))
y = dragon.nn.conv3d_transpose(
[x, w],
kernel_shape=1,
output_shape=(3, 3, 3),
assert y.shape == (1, 3, 3, 3, 3)

Parameters:
• inputs (Sequence[dragon.Tensor]) – The tensor x, weight and optional bias.
• kernel_shape (Union[int, Sequence[int]], optional, default=3) – The shape of convolution window.
• strides (Union[int, Sequence[int]], optional, default=1) – The stride of convolution window.
• pads (Union[int, Sequence[int]], optional, default=0) – The zero padding size.
• dilations (Union[int, Sequence[int]], optional, default=1) – The rate of dilated convolution.
• group (int, optional, default=1) – The number of groups to split channels into.
• padding (str, optional, default='VALID') – 'VALID', 'SAME', 'SAME_UPPER' or 'SAME_LOWER'.
• output_padding (Union[Sequence[int], dragon.Tensor], optional) – The additional size added to the output shape.
• output_shape (Union[Sequence[int], dragon.Tensor], optional) – The output shape for automatic padding.
• data_format (str, optional, default='NCHW') – 'NCHW' or 'NHWC'.
Returns:

dragon.Tensor – The output tensor.