首页 > 其他 > 详细

Pool2D

时间:2021-09-09 07:00:02      阅读:14      评论:0      收藏:0      [点我收藏+]

1、torch.nn.AdaptiveMaxPool2d/ADAPTIVEAVGPOOL2D

官方给出的例子:

  • target output size of 5x7
    m = nn.AdaptiveMaxPool2d((5,7))
    input = torch.randn(1, 64, 8, 9)
    output = m(input)
    output.size()
    torch.Size([1, 64, 5, 7])

  • target output size of 7x7 (square)
    m = nn.AdaptiveMaxPool2d(7)
    input = torch.randn(1, 64, 10, 9)
    output = m(input)
    output.size()
    torch.Size([1, 64, 7, 7])

  • target output size of 10x7
    m = nn.AdaptiveMaxPool2d((None, 7))
    input = torch.randn(1, 64, 10, 9)
    output = m(input)
    output.size()
    torch.Size([1, 64, 10, 7])

  • Adaptive Pooling特殊性在于,输出张量的大小都是给定的output_size。例如输入张量大小为(1, 64, 8, 9),设定输出大小为(5,7),通过Adaptive Pooling层,可以得到大小为(1, 64, 5, 7)的张量。

inputsize = 9
outputsize = 4

input = torch.randn(1, 1, inputsize)
input
tensor([[[ 1.5695, -0.4357, 1.5179, 0.9639, -0.4226, 0.5312, -0.5689, 0.4945, 0.1421]]])

m1 = nn.AdaptiveMaxPool1d(outputsize)
m2 = nn.MaxPool1d(kernel_size=math.ceil(inputsize / outputsize), stride=math.floor(inputsize / outputsize), padding=0)
output1 = m1(input)
output2 = m2(input)

output1
tensor([[[1.5695, 1.5179, 0.5312, 0.4945]]]) torch.Size([1, 1, 4])

output2
tensor([[[1.5695, 1.5179, 0.5312, 0.4945]]]) torch.Size([1, 1, 4])

通过实验发现:
技术分享图片

2、

Pool2D

原文:https://www.cnblogs.com/pyclq/p/15241870.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!