pytorch学习5-最大池化层的使用

2023-12-13 16:35:14

系列文章目录

  1. pytorch学习1-数据加载以及Tensorboard可视化工具
  2. pytorch学习2-Transforms主要方法使用
  3. pytorch学习3-torchvisin和Dataloader的使用
  4. pytorch学习4-简易卷积实现
  5. pytorch学习5-最大池化层的使用
  6. pytorch学习6-非线性变换(ReLU和sigmoid)
  7. pytorch学习7-序列模型搭建
  8. pytorch学习8-损失函数与反向传播
  9. pytorch学习9-优化器学习
  10. pytorch学习10-网络模型的保存和加载
  11. pytorch学习11-完整的模型训练过程


一、最大池化层的使用

#最大池化层,池化层一般在卷积层之后,作用是对卷积层中提取的特征进行挑选,也就是降维压缩,加快nn的运算速度
#最大池化层,就是用池化核去做和卷积核一样的覆盖操作,然后从所覆盖区域内选择最大值留下,然后根据步长在进行移动和选择操作
#池化层并没有任何参数,它就是一个选择数据的规则
import torch
import torchvision.datasets
from torch import nn
from torch.nn import MaxPool2d
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter

dataset=torchvision.datasets.CIFAR10("../data",train=False,download=True,transform=torchvision.transforms.ToTensor())
dataloader=DataLoader(dataset,batch_size=64)

class Mynn3(nn.Module):
    def __init__(self):
        super(Mynn3,self).__init__()
        self.maxpool1=MaxPool2d(kernel_size=3,ceil_mode=False)#注意,这个池化层函数不接受long数据,一般要的是浮点数。ceil_model=true代表即使数据不够池化核那么大,也不舍弃而是根据规则计算,如果为false,那就直接舍弃这部分数据了
    def forward(self,input):
        output=self.maxpool1(input)
        return output
mynn3=Mynn3()

write=SummaryWriter("logs_maxpool")
step=0
for data in dataloader:
    imgs,target=data
    write.add_images("我是输入",imgs,step)
    output=mynn3(imgs)
    write.add_images("我是输出",output,step)
    step=step+1
write.close()

总结

以上就是今天要讲的内容,最大池化层的使用

文章来源:https://blog.csdn.net/magic171/article/details/134802298
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。