ConvTranspose3d¶
- class torch.ao.nn.quantized.ConvTranspose3d(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, bias=True, dilation=1, padding_mode='zeros', device=None, dtype=None)[源代码]¶
对由多个输入平面组成的输入图像应用3D转置卷积操作。 有关输入参数、参数和实现的详细信息,请参见
ConvTranspose3d。注意
目前仅实现了 FBGEMM 引擎。 请设置 torch.backends.quantized.engine = ‘fbgemm’
有关特殊说明,请参阅
Conv3d参见
ConvTranspose3d以了解其他属性。示例:
>>> torch.backends.quantized.engine = 'fbgemm' >>> from torch.ao.nn import quantized as nnq >>> # 使用立方核和相等的步幅 >>> m = nnq.ConvTranspose3d(16, 33, 3, stride=2) >>> # 非立方核和不相等的步幅,并带有填充 >>> m = nnq.ConvTranspose3d(16, 33, (3, 3, 5), stride=(2, 1, 1), padding=(4, 2, 2)) >>> input = torch.randn(20, 16, 50, 100, 100) >>> q_input = torch.quantize_per_tensor(input, scale=1.0, zero_point=0, dtype=torch.quint8) >>> output = m(q_input) >>> # 精确的输出大小也可以作为参数指定 >>> input = torch.randn(1, 16, 12, 12, 12) >>> q_input = torch.quantize_per_tensor(input, scale=1.0, zero_point=0, dtype=torch.quint8) >>> downsample = nnq.Conv3d(16, 16, 3, stride=2, padding=1) >>> upsample = nnq.ConvTranspose3d(16, 16, 3, stride=2, padding=1) >>> h = downsample(q_input) >>> h.size() torch.Size([1, 16, 6, 6, 6]) >>> output = upsample(h, output_size=input.size()) >>> output.size() torch.Size([1, 16, 12, 12, 12])