Jud*_*Raj 5 conv-neural-network max-pooling pytorch
在张量流中,我可以在深度维度上进行池化,这将减少通道并保持空间维度不变。我试图在 pytorch 中做同样的事情,但文档似乎说池只能在高度和宽度尺寸上完成。有没有办法可以在 pytorch 中汇集通道?我有一个形状张量,[1,512,50,50]我正在尝试使用池化将通道数量减少到 3。我看到了这个问题,但没有发现答案有帮助。
减少通道数量的最简单方法是使用 1x1 内核:
import torch
x = torch.rand(1, 512, 50, 50)
conv = torch.nn.Conv2d(512, 3, 1)
y = conv(x)
print(y.size())
# torch.Size([1, 3, 50, 50])
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因您确实需要沿着通道维度执行池化,您可能需要排列维度,以便通道维度与其他维度(例如宽度)交换。这里引用了这个想法。