【问题标题】:Pytorch - Apply pooling on specific dimensionPytorch - 在特定维度上应用池化
【发布时间】:2020-01-18 16:34:08
【问题描述】:

我有一个 3 维向量。我想在第二维上执行一维最大池。

根据 pytorch 的文档,池总是在最后一个维度上执行。

https://pytorch.org/docs/stable/nn.html#maxpool1d

例如:

>>> x = torch.rand(5, 64, 32)
>>> pool = nn.MaxPool1d(2, 2)
>>> pool(x).shape
torch.Size([5, 64, 16])

我想要的输出:

torch.Size([5, 32, 32])

我该怎么做?

【问题讨论】:

标签: python pytorch


【解决方案1】:

您可以简单地置换尺寸:

x = torch.rand(5, 128, 32)
pool = nn.MaxPool1d(2, 2)
pool(x.permute(0,2,1)).permute(0,2,1)  # shape (5, 128, 32) -> (5, 64, 32)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-25
    • 2020-07-24
    • 2021-07-26
    • 2019-06-23
    • 2020-01-13
    • 2021-06-10
    • 2019-09-10
    • 2019-05-19
    相关资源
    最近更新 更多