PyTorch中groups>1的ConvTranspose1d计算过程解析请求
PyTorch中groups>1的ConvTranspose1d计算过程解析请求
我现在正试着理解PyTorch里groups>1的转置卷积(ConvTranspose1d)的工作流程,重点关注分组转置卷积的权重和填充后的输入之间的计算过程。我自己写了代码做实验,但实在搞不懂最终的结果是怎么计算出来的。
我的实验代码如下:
import torch import torch.nn as nn weight = torch.tensor([1,1,2] * 8).reshape(4,2,3) transpose_conv = nn.ConvTranspose1d(4, 4, 3, stride=1, padding=2, groups=2,bias=False) x = torch.tensor([1,1,1,1,1,1, 1,1,2, 1,1,2]).reshape(1,4,3).type(torch.float32) with torch.no_grad(): transpose_conv.weight.copy_(weight.reshape(4, 2, 3)) print(transpose_conv(x))
运行后得到的结果是tensor([[[ 8.],[ 8.],[10.],[10.]]]),我完全搞不懂这个结果是怎么算出来的,能不能麻烦大佬帮我拆解一下计算过程呀?
备注:内容来源于stack exchange,提问作者YunFu Cui
相关产品推荐
相关产品推荐

