参考:nn.AdaptiveAvgPool2d理解
如果是nn.AdaptiveAvgPool2d((1,1)), 可以从原来的[2, 2048, 10, 10] 转变为[2, 2048, 1, 1]
如果是nn.AdaptiveAvgPool2d(7), 则可以从[2, 2048, 10, 10] 转变为[2, 2048, 7, 7]
自适应的全局平均池化~只需要给出初始大小和输出大小,中间的步骤就由函数自己运算得到。
import torch from torch import nn m = nn.AdaptiveAvgPool2d((5,1)) input = torch.randn(1, 3, 8, 9) output = m(input) print(output) print(output.shape)
输出
tensor([[[[ 0.4760], [ 0.2480], [-0.0799], [ 0.1729], [ 0.0449]], [[-0.2617], [-0.1543], [ 0.1659], [ 0.0289], [-0.0876]], [[ 0.3151], [-0.0340], [-0.5504], [-0.0855], [ 0.1978]]]]) torch.Size([1, 3, 5, 1])
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)