在张量流中,我可以在深度维度上进行池化,这将减少通道并保持空间维度不变。我试图在 pytorch 中做同样的事情,但文档似乎说池只能在高度和宽度尺寸上完成。有没有办法可以在 pytorch 中汇集频道?我有一个形状张量,[1,512,50,50]
我正在尝试使用池化将通道数减少到 3。我看到了这个问题,但没有找到有用的答案。
问问题
2896 次
1 回答
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])
如果由于某种原因确实需要沿通道维度执行池化,则可能需要置换维度,以便将通道维度与其他维度(例如宽度)交换。这里引用了这个想法。
于 2019-03-26T12:57:00.923 回答