mindspore.mint.nn.functional.conv_transpose2d
- mindspore.mint.nn.functional.conv_transpose2d(input, weight, bias=None, stride=1, padding=0, output_padding=0, groups=1, dilation=1)[源代码]
将2D转置卷积运算应用于由多个输入平面组成的输入图像,有时也称为反卷积(尽管它不是实际的反卷积)。
更多参考详见
mindspore.mint.nn.ConvTranspose2d
。警告
这是一个实验性API,后续可能修改或删除。
在输入非连续场景下, output_padding 必须小于 stride 。
在Atlas训练系列产品上,float32类型输入时,仅支持 groups 为1。
- 参数:
input (Tensor) - 输入Tensor,shape为
或 。weight (Tensor) - 卷积核,shape为
。bias (Tensor, 可选) - 偏置,shape为
。默认值:None
。stride (Union[int, tuple(int), list[int]], 可选) - 卷积的步长。可以为1个整数或1个元组
。默认值:1
。padding (Union[int, tuple(int), list[int]], 可选) -
零填充将添加到输入中每个维度的两侧。可以为1个整数或1个元组 。默认值:0
。output_padding (Union[int, tuple(int), list[int]], 可选) - 在输出形状中每个维度的一侧增加额外的尺寸。可以为1个整数或1个元组
。 output_padding 的值必须小于 stride 或 dilation 。默认值:0
。groups (int, 可选) - 将输入分成 groups 组。
应能被 groups 整除。默认值:1
。dilation (Union[int, tuple(int), list[int]], 可选) - 内核元素之间的间距。可以为1个整数或1个元组
。默认值:1
。
- 返回:
Tensor, shape为
或 。其中:- 异常:
TypeError - stride, padding, output_padding 或 dilation 既不是int也不是tuple或list。
TypeError - groups 不是int。
ValueError - bias 的shape不是
。ValueError - stride 或 dilation 小于1。
ValueError - padding 或 output_padding 小于0。
ValueError - stride, padding, output_padding 或 dilation 是tuple且其长度不等于2。
- 支持平台:
Ascend
样例:
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor, mint >>> x = Tensor(np.ones([1, 4, 5, 5]), mindspore.float32) >>> weight = Tensor(np.ones([4, 8, 3, 3]), mindspore.float32) >>> output = mint.nn.functional.conv_transpose2d(x, weight) >>> print(output.shape) (1, 8, 7, 7)