说明
AvgPool2d函数 平均池化
示例
导入三方库
import torch
import torch.nn as nn
import numpy as np
设置测试数
a = torch.tensor([[[1., 2., 3.],[4., 5., 6.],[4., 5., 6.]],[[3., 4., 5.],[6., 5., 4.],[3., 2., 1.]]])
print(a.shape)
a
结果
torch.Size([2, 3, 3])
tensor([[[1., 2., 3.],
[4., 5., 6.],
[4., 5., 6.]],
[[3., 4., 5.],
[6., 5., 4.],
[3., 2., 1.]]])
import torch.nn.functional as F
F.avg_pool2d(a,kernel_size=(1,2))
结果
tensor([[[1.5000], =(1.+2.)/2
[4.5000], = (4.+5.)/2
[4.5000]], = (4.+5.)/2
[[3.5000],
[5.5000],
[2.5000]]])
计算过程:kernel_size=(1,2)是取1x2矩阵,矩阵之外的舍弃
F.avg_pool2d(a,kernel_size=2)
结果:
3.0=(1.+2.+4.+5.)/4
4.5= (3.+4.+6.+5.)/4
F.avg_pool2d(a,kernel_size=2,stride=1)
结果:
计算过程: