一、 最大池化的使用
导包
import torchimport torchvisionfrom torch import nnfrom torch.nn import Conv2d,MaxPool2dfrom torch.utils.data import DataLoaderfrom tensorboardX import SummaryWriter
加载数据
dataset = torchvision.datasets.CIFAR10("./dataset",train=False,transform = torchvision.transforms.ToTensor(),download = False)dataloader = DataLoader(dataset, batch_size =64)
定义模型
class Test2(nn.Module):def __init__(self):super().__init__()"""kernel_size (int or tuple) - max pooling核的大小。stride (int or tuple, optional) - max pooling窗口的移动步长。默认值是kernel_size,这样就能够起到成倍数的降采用的目的。padding(int or tuple, optional) - 输入的每一条边补充0的层数,主要用于边缘处填充。dilation(int or tuple, optional) – max pool核中元素间的间隔。return_indices - 如果等于True,会返回输出最大值对应的序号序列。ceil_mode - 如果等于True,剩余边缘不足的会计算,为False则会舍去"""self.maxpool1 = MaxPool2d(kernel_size=3, ceil_mode=True)def forward(self, input):output = self.maxpool1(input)return output
运行
writer = SummaryWriter("logs")test2 = Test2()for idx,data in enumerate(dataloader):imgs, tragets = dataoutput = test2(imgs)writer.add_images("maxpool", imgs, idx)writer.add_images("maxpool_output", output, idx)writer.close()


