pytorch 平均池化算子
时间: 2023-11-06 07:01:24 浏览: 121
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
PyTorch中的平均池化操作可以使用`torch.nn.AvgPool2d`类来实现。该类可以用于对二维输入数据进行平均池化操作。
下面是一个示例代码,演示如何使用`torch.nn.AvgPool2d`类进行二维平均池化操作:
```python
import torch
import torch.nn as nn
# 创建输入张量
input_tensor = torch.randn(1, 1, 4, 4) # 输入张量大小为 (batch_size, channels, height, width)
# 创建 AvgPool2d 实例,指定池化窗口大小和步幅
avg_pool = nn.AvgPool2d(kernel_size=2, stride=2)
# 进行平均池化操作
output_tensor = avg_pool(input_tensor)
print("输入张量大小:", input_tensor.size())
print("输出张量大小:", output_tensor.size())
print("输出张量:")
print(output_tensor)
```
输出示例:
```
输入张量大小: torch.Size([1, 1, 4, 4])
输出张量大小: torch.Size([1, 1, 2, 2])
输出张量:
tensor([[[[ 0.0996, 0.8203],
[-0.1018, -0.3022]]]])
```
解释:
上述代码首先创建了一个大小为(1, 1, 4, 4)的输入张量`input_tensor`,表示一个批次大小为1,通道数为1,高度和宽度均为4的二维图像。然后,创建了一个`nn.AvgPool2d`实例`avg_pool`,该实例指定了池化窗口大小为2x2,并且采用步幅为2。最后,我们将输入张量输入到`avg_pool`中进行平均池化操作,并打印输出张量的大小和数值。
阅读全文