news 2026/6/19 16:29:32

pytorch->maxpool2d的简单应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
pytorch->maxpool2d的简单应用
import torch from torch import nn from torch.nn import MaxPool2d input= torch.tensor([ [1,2,0,3,1], [0,1,2,3,1], [1,2,1,0,0], [5,2,3,1,1], [2,1,0,1,1]],dtype=torch.float32) input =torch.reshape(input,(-1,1,5,5)) print(f'输入形状:{input.shape}') class Tudui(nn.Module): def __init__(self): super(Tudui,self).__init__() self.maxpool1=MaxPool2d(kernel_size=3,ceil_mode=True) self.maxpool2=MaxPool2d(kernel_size=3,ceil_mode=False) def forward(self,x): out1=self.maxpool1(x) out2=self.maxpool2(x) return out1,out2 tudui =Tudui() output_ceil_true,output_ceil_false=tudui(input) print('True') print(output_ceil_true) print('False') print(output_ceil_false)

此段代码输出为:

输入形状:torch.Size([1, 1, 5, 5])
True
tensor([[[[2., 3.],
[5., 1.]]]])
False
tensor([[[[2.]]]])

1.maxpool2d:最大池化,目的是保留最强的特征,丢掉不重要的细节",让图片变小,让模型跑得更快,同时保证关键信息不丢失。

2.input = torch.reshape(input, (-1, 1, 5, 5))

参数含义
第1维-1自动计算 batch_size,即图片数
第2维1通道数=1(灰度图)
第3维5高度=5
第4维5宽度=5

关于灰度图,他只有一维,从0到255,只有黑白灰,所以叫灰度图,如果是RGB的三通道那你可以得到人眼一样的色彩,鸟是4通道,他们甚至能看到紫外线。同学,你眼里还有光吗

reshape最常见的作用是:改变张量的形状(维度),但不会改变数据的总数量。

可以用来改变通道数,但更常见的用途是增删“维度”

3.self.maxpool1=MaxPool2d(kernel_size=3,ceil_mode=True)

这句话很有意思,self是Tudui类的对象,maxpool1是self的属性,self.maxpool1是Maxpool2类的对象,

在下一句out1=self.maxpool1(x)中,self.maxpool1对象又做了函数用,因为在nn神经网络中,又__call__函数,实现了对象可以做函数用

kernel_size=3,ceil_mode=True,kernel_size在卷积层代表卷积核,在池化层在这里表示池化窗口为3*3,

如果没定义stride,stride默认和池化窗口一边大,这里是3.

ceil_mode=True表示不完全的池化窗口也要取数,False的话就舍弃了,举例如下:

原来:

列索引: 0 1 2 3 4 行索引: ┌────┬────┬────┬────┬────┐ 0 │ 1 │ 2 │ 0 │ 3 │ 1 │ ├────┼────┼────┼────┼────┤ 1 │ 0 │ 1 │ 2 │ 3 │ 1 │ ├────┼────┼────┼────┼────┤ 2 │ 1 │ 2 │ 1 │ 0 │ 0 │ ├────┼────┼────┼────┼────┤ 3 │ 5 │ 2 │ 3 │ 1 │ 1 │ ├────┼────┼────┼────┼────┤ 4 │ 2 │ 1 │ 0 │ 1 │ 1 │ └────┴────┴────┴────┴────┘

第一次取

覆盖 行0-2,列0-2: ┌────┬────┬────┐ │ 1 │ 2 │ 0 │ ├────┼────┼────┤ │ 0 │ 1 │ 2 │ ├────┼────┼────┤ │ 1 │ 2 │ 1 │ └────┴────┴────┘ 最大值 = 2

第二次取,向右三格

┌────┬────┬────┐ │ 3 │ 1 │ ❌ │ ├────┼────┼────┤ │ 3 │ 1 │ ❌ │ ├────┼────┼────┤ │ 0 │ 0 │ ❌ │ └────┴────┴────┘ 有效数字:3,1,3,1,0,0 → 最大值 = 3

第三次取,前三行取完了,从第四行继续

┌────┬────┬────┐ │ 5 │ 2 │ 3 │ ├────┼────┼────┤ │ 2 │ 1 │ 0 │ ├────┼────┼────┤ │ ❌ │ ❌ │ ❌ │ └────┴────┴────┘ 有效数字:5,2,3,2,1,0 → 最大值 = 5

第四次取

┌────┬────┬────┐ │ 1 │ 1 │ ❌ │ ├────┼────┼────┤ │ 1 │ 1 │ ❌ │ ├────┼────┼────┤ │ ❌ │ ❌ │ ❌ │ └────┴────┴────┘ 有效数字:1,1,1,1 → 最大值 = 1

那么不难看出,只有第一次取到完整9个数,如果你是ceil_mode=True,你能得到2,3,5,1

如果你是ceil_mode=False,即取不全的,就破罐子破摔,不要了,那你能得到的只有一个2

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/19 16:10:12

【STM32实战指南】基于L298N与STM32F103的电机正反转驱动方案详解

1. 项目背景与硬件选型 第一次接触电机控制时,我被L298N模块上密密麻麻的接线端子吓到了。直到用STM32F103成功让电动推杆伸缩自如,才发现这简直是电子爱好者的"乐高积木"。这个方案特别适合需要精确控制机械臂、智能窗帘、自动喂食器等场景的…

作者头像 李华
网站建设 2026/6/18 17:05:19

告别CAJ格式烦恼:3分钟学会用caj2pdf实现学术文献自由

告别CAJ格式烦恼:3分钟学会用caj2pdf实现学术文献自由 【免费下载链接】caj2pdf Convert CAJ (China Academic Journals) files to PDF. 转换中国知网 CAJ 格式文献为 PDF。佛系转换,成功与否,皆是玄学。 项目地址: https://gitcode.com/gh…

作者头像 李华
网站建设 2026/6/18 17:05:12

终极中文文献管理指南:Jasminum插件3分钟快速上手教程

终极中文文献管理指南:Jasminum插件3分钟快速上手教程 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 还在为Zotero中…

作者头像 李华
网站建设 2026/6/18 17:05:23

普通人可用的9个国产AI办公工具实测指南

1. 这9个AI工具,我替普通人试了半年:不烧钱、不折腾、真能每天省下2小时你是不是也这样?早上打开手机,看到朋友圈里有人晒“用AI一天搞定周报海报PPT”,再低头看看自己卡在Word文档第三段、PPT还停留在“标题页目录页”…

作者头像 李华
网站建设 2026/6/18 18:19:22

告别混乱!用ReplayBook轻松管理你的英雄联盟回放文件

告别混乱!用ReplayBook轻松管理你的英雄联盟回放文件 【免费下载链接】ReplayBook Play, manage, and inspect League of Legends replays 项目地址: https://gitcode.com/gh_mirrors/re/ReplayBook 还在为满屏幕的ROFL回放文件头疼吗?每次想复盘…

作者头像 李华
网站建设 2026/6/19 1:10:20

本地大模型部署实战:Qwen3.5 122B金融场景端到端压测复盘

1. 项目概述:一场被低估的本地大模型实战压力测试“Qwen3.5 122B 性能对标Claude Sonnet4.5,本地部署真的值得吗?”——这个标题不是营销话术,而是我上个月在客户现场连续熬了17个通宵后,写在笔记本第一页的真实疑问。…

作者头像 李华