1.nn.functional.adaptive_avg_pool2d
参考:pytorch中文文档之nn.functional.adaptive_avg_pool2d
torch.nn.functional.adaptive_avg_pool2d(input, output_size)
>>> import torch
>>> import torch.nn as nn
>>> a = torch.randn(1, 3, 8, 8)
>>> b = nn.functional.adaptive_avg_pool2d(a, 1)
>>> print(b.size())
torch.Size([1, 3, 1, 1])
>>> c = nn.functional.adaptive_avg_pool2d(a, 2)
>>> print(c.shape)
torch.Size([1, 3, 2, 2])
>>> c = nn.functional.adaptive_avg_pool2d(a, (2, 3))
>>> print(c.shape)
torch.Size([1, 3, 2, 3])
>>>
2. nn.AdaptiveAvgPool2d
参考:pytorch中文文档之nn.AdaptiveAvgPool2d
class torch.nn.AdaptiveMaxPool1d(output_size, return_indices=False)
>>> a = torch.randn(1, 3, 8, 8)
>>> f = nn.AdaptiveAvgPool2d(a, 3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __init__() takes 2 positional arguments but 3 were given
>>> f = nn.AdaptiveAvgPool2d((3,3))
>>> b = f(a)
>>> print(b.shape)
torch.Size([1, 3, 3, 3])
>>>