【发布时间】:2020-12-15 04:25:10
【问题描述】:
在制作网络时,我使用了反卷积层:
def deconv3d(cin,cout,k=4,s=2,pad=-1):
pad = (k - 1) // 2 if pad < 0 else pad
return nn.Sequential(
nn.ConvTranspose3d(cin,cout,kernel_size=k,stride=s,padding = pad,bias=False),
nn.ReLU(inplace=True)
)
我将其调整为网络,它不断减小层的大小。
self.conv_f5 = conv3d(128, 128, k=3, s=1, pad=1)
self.conv_f6 = deconv3d(128,64,k=3,s=2,pad=1)
self.conv_f7 = conv3d(64,64,k=3,s=1,pad=1)
self.conv_f8 = deconv3d(64,32,k=3,s=2,pad=1)
self.conv_f9 = conv3d(32,32,k=3,s=1,pad=1)
这是我制作的图层,结果是:
Cost Volume: torch.Size([2, 128, 100, 120, 160])
fc5 torch.Size([2, 128, 50, 60, 80])
fc6 torch.Size([2, 64, 99, 119, 159])
fc8 torch.Size([2, 32, 197, 237, 317])
我不明白为什么 f3 的尺寸比预期的要小,并且正在寻找解决方法。
请告诉我怎么做,非常感谢。
【问题讨论】:
-
我不明白 f5 到 f9 层与您显示的尺寸有何关系。什么是 fc2/3/4 ?你预期的尺寸是多少?理想情况下,您应该提供一个可以复制粘贴并且开箱即用的最小可重现示例
-
我进行了编辑以避免您的混淆。看看 fc6,它是 fc5 的反卷积层,所以我希望它的大小为 [2, 64, 100, 120, 160]。但正如您所见,它不断减小层的大小。
标签: deep-learning pytorch torchvision