1. Pooling Layers下的常用类
- nn.MaxPool2d
Applies a 2D max pooling over an input signal composed of several input planes.
- nn.MaxPool3d
Applies a 3D max pooling over an input signal composed of several input planes.
- nn.AvgPool2d
Applies a 2D average pooling over an input signal composed of several input planes.
- nn.AvgPool3d
Applies a 3D average pooling over an input signal composed of several input planes.
2.最大池化
2.1 MaxPool2D类介绍
2.2 参数相关介绍
2.3 最大池化原理
- stride = 3
2.4 MaxPool2D代码实战
from torch.utils.data import DataLoader
from torchvision import transforms, datasets
from torch.utils.tensorboard import SummaryWriter
from torch import nn
class My_module(nn.Module):
def __init__(self, *args, **kwargs) -> None:
super().__init__(*args, **kwargs)
self.maxpool = nn.MaxPool2d(kernel_size=3, ceil_mode=True)
def forward(self, x):
output = self.maxpool(x)
return output
my_module = My_module()
writer = SummaryWriter(log_dir="MaxPool")
test_dataset = datasets.CIFAR10(root="datasets", transform=transforms.ToTensor(), download=True)
test_dataloader = DataLoader(dataset=test_dataset, batch_size=64, shuffle=True, drop_last=False)
step = 0
for data in test_dataloader:
imgs, labels = data
imgs_maxpool = my_module(imgs)
writer.add_images(tag="Before_MaxPool", img_tensor=imgs, global_step=step)
writer.add_images(tag="After_MaxPool", img_tensor=imgs_maxpool, global_step=step)
writer.close()