Pytorch:为什么ConvTranspose2d和Conv2d中的权重顺序不同?

Pytorch:为什么ConvTranspose2d和Conv2d中的权重顺序不同?,pytorch,Pytorch,Pytorch代码: up=nn.ConvTranspose2d(3、128、2、步幅=2) conv=nn.Conv2d(31282) 输入=变量(torch.rand(1,3,64,64)) 打印('up conv输出大小:',up(输入).size()) 输入=变量(torch.rand(1,3,64,64)) 打印('conv输出大小:',conv(输入).size()) 打印('up conv weight size:',up.weight.data.shape) 打印('conv-w

Pytorch代码:

up=nn.ConvTranspose2d(3、128、2、步幅=2)
conv=nn.Conv2d(31282)
输入=变量(torch.rand(1,3,64,64))
打印('up conv输出大小:',up(输入).size())
输入=变量(torch.rand(1,3,64,64))
打印('conv输出大小:',conv(输入).size())
打印('up conv weight size:',up.weight.data.shape)
打印('conv-weight-size:',conv.weight.data.shape)
结果:

up conv输出大小:torch.size([1,128,128,128])
conv输出大小:torch.size([1,128,63,63])
up conv重量尺寸:火炬尺寸([3,128,2,2])
conv重量尺寸:火炬尺寸([128,3,2,2])
为什么
ConvTranspose2d(3128)
Conv2d(128,3)
之间的顺序不同

它应该这样做吗