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)