PyTorch中AdaptiveAvgPool函数总结

1维情况:

import torch
import torch.nn as nn

# out_size
m = nn.AdaptiveAvgPool1d(5)
input = torch.randn(1, 64, 3)
output = m(input)

print(output.size())

#torch.Size([1, 64, 5])

说明:1是n,样本个数,64是c,通道数。3是特征大小。

不管你输入是多少,平均池化到5维。

2维(2d情况)

import torch
import torch.nn as nn

# out_size
m = nn.AdaptiveAvgPool2d((1,2))
input = torch.randn(1, 64, 8,3)
output = m(input)

print(output.size())

#torch.Size([1, 64, 1, 2])

说明:1是n,样本个数,64是c,通道数。(8,3)是特征大小。

不管你输入宽高是多少,平均池化到(1,2)

3d也支持:

if __name__ == '__main__':
    import torch
    import torch.nn as nn

    # out_size
    m = nn.AdaptiveAvgPool2d((1, 2))
    input = torch.randn(64, 8, 3)
    output = m(input)

 

你可能感兴趣的:(pytorch知识宝典)