当前位置: 首页 > news >正文

Pytorch深度学习-----神经网络之池化层用法详解及其最大池化的使用

系列文章目录

PyTorch深度学习——Anaconda和PyTorch安装
Pytorch深度学习-----数据模块Dataset类
Pytorch深度学习------TensorBoard的使用
Pytorch深度学习------Torchvision中Transforms的使用(ToTensor,Normalize,Resize ,Compose,RandomCrop)
Pytorch深度学习------torchvision中dataset数据集的使用(CIFAR10)
Pytorch深度学习-----DataLoader的用法
Pytorch深度学习-----神经网络的基本骨架-nn.Module的使用
Pytorch深度学习-----神经网络的卷积操作
Pytorch深度学习-----神经网络之卷积层用法详解


文章目录

  • 系列文章目录
  • 一、池化操作是什么?
  • 二、torch.nn.MaxPool2d介绍
    • 1.相关参数
    • 2.最大池化处理上述矩阵并验算结果
    • 3.最大池化处理CIFAR10数据集图片


一、池化操作是什么?

池化操作是卷积神经网络(CNN)中的一种常用操作,用于减小特征图的尺寸,并提取出最重要的特征。它通过在特定区域内进行汇总或聚合来实现这一目标。

常见的池化操作有最大池化(Max Pooling)和平均池化(Average Pooling)。最大池化在每个区域内选择最大值作为池化结果,而平均池化则取区域内数值的平均值。这两种池化操作都通过滑动窗口在特征图上移动,并在每个窗口内进行池化操作。

池化操作的主要作用有两个方面:

特征降维:通过减小特征图的尺寸,减少了后续层的计算量和参数数量,有助于降低过拟合风险。
提取主要特征:通过选择最大值或求平均值,池化操作可以提取出最显著的特征,有助于保留重要信息并抑制噪声。

以最大池化操作作为示例如下:
在这里插入图片描述

二、torch.nn.MaxPool2d介绍

1.相关参数

torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)

kernel_size:表示池化核的大小,类型为int 或者元组。
stride=None:表示步长的大小,与卷积层不同,池化层步长大小默认为kernel_size的大小
padding=0:表示在输入图像外围增加一圈0,和前面卷积核一样。
dilation=1:表示设置核的膨胀率,默认 dilation=1,即如果kernel_size =3,那么核的大小就是3×3。如果dilation = 2,kernel_size =3×3,那么每列数据与每列数据,每行数据与每行数据中间都再加一行或列数据,数据都用0填充,那么核的大小就变成5×5。
return_indices=False:表示用来控制要不要返回最大值的索引位置,如果为true,那么要记住最大池化后最大值的所在索引位置,后面上采样可能要用上,为false则不用记住位置。
ceil_mode=False:表示计算输出结果形状的时候,是使用向上取整还是向下取整。即要不要舍弃无法覆盖核的大小的数值。
注意 输入和输出的input需要为NCHW或者CHW
如下官网图所示
在这里插入图片描述

2.最大池化处理上述矩阵并验算结果

当设置ceil_mode=True时
示例代码如下:

import torch
from torch import nninput = 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=float)  # 使用dtype将此矩阵的数字变为浮点型
# 准备的参数情况
print(input.shape)  # torch.Size([5, 5])
# 进行reshape
input = torch.reshape(input,(1,5,5))  # 修改shape为chw
print(input.shape)  # torch.Size([1, 5, 5])# 搭建神经网络并进行池化操作
class Lgl(nn.Module):def __init__(self):super(Lgl,self).__init__()self.maxpool2 = nn.MaxPool2d(kernel_size=3,ceil_mode=True)def forward(self,input):return self.maxpool2(input)# 实例化
l = Lgl()
output = l(input)
print(output)
torch.Size([5, 5])
torch.Size([1, 5, 5])
tensor([[[2., 3.],[5., 1.]]], dtype=torch.float64)

2,3,5,1 刚好符合ceil_mode=True时的情况

当设置ceil_mode=False时
示例代码如下:

import torch
from torch import nninput = 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=float)  # 使用dtype将此矩阵的数字变为浮点型
# 准备的参数情况
print(input.shape)  # torch.Size([5, 5])
# 进行reshape
input = torch.reshape(input,(1,5,5))  # 修改shape为chw
print(input.shape)  # torch.Size([1, 5, 5])# 搭建神经网络并进行池化操作
class Lgl(nn.Module):def __init__(self):super(Lgl,self).__init__()self.maxpool2 = nn.MaxPool2d(kernel_size=3,ceil_mode=False)def forward(self,input):return self.maxpool2(input)# 实例化
l = Lgl()
output = l(input)
print(output)
torch.Size([5, 5])
torch.Size([1, 5, 5])
tensor([[[2.]]], dtype=torch.float64)

此时输出2,符合上述手算推导。

3.最大池化处理CIFAR10数据集图片

示例代码如下:

在这里插入代码片

进行最大池化前
在这里插入图片描述
进行最大池化后
在这里插入图片描述

相关文章:

Pytorch深度学习-----神经网络之池化层用法详解及其最大池化的使用

系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用(ToTensor,Normalize,Resize ,Co…...

Docker啥是数据持久化?

文章目录 数据持久化数据卷相关命令创建读写数据卷创建只读数据卷数据卷共享数据卷容器实现数据卷共享nginx实现数据卷共享nfs总结 Dockerfile持久化Dockerfile方式docker run总结 数据持久化 ​ 在容器层的 UnionFS(联合文件系统)中对文件/目录的任何修…...

CGAL 线段简化算法(2D)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 线段简化是指:在减少一组折线中顶点数量的同时,尽可能保持整体形状的过程。CGAL中提供了一种迭代算法:通过从一条折线上移除顶点 q q q,迭代地将边 ( p , q...

在CentOS 7上挂载硬盘到系统的步骤及操作

目录 1:查询未挂载硬盘2:创建挂载目录3:检查磁盘是否被分区4:格式化硬盘5:挂载目录6:检查挂载状态7:设置开机自动挂载总结: 本文介绍了在CentOS 7上挂载硬盘到系统的详细步骤。通过确…...

螺旋矩阵(JS)

螺旋矩阵 题目 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n 3 输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2: 输入&#xff…...

C#常用数学插值法

目录 1、分段线性插值 2、三次样条插值 3、拉格朗日插值 (1)一元全区间不等距插值 (2)一元全区间等距插值 4、埃尔米特插值 (1)埃尔米特不等距插值 (2)埃尔米特等距插值 1、…...

ELK日志管理平台架构和使用说明

一、部署架构 二、服务注册 2.1 日志解析服务 服务名:日志解析服务(Logstash) 服务默认端口:9600 2.2 日志查询服务 服务名:日志查询服务(Kibana) 服务默认端口:5601 三、对接…...

抖音短视频seo矩阵系统源码开发部署技术分享

抖音短视频的SEO矩阵系统是一个非常重要的部分,它可以帮助视频更好地被搜索引擎识别和推荐。以下是一些关于开发和部署抖音短视频SEO矩阵系统的技术分享: 一、 抖音短视频SEO矩阵系统的技术分享: 关键词研究:在开发抖音短视频SEO矩…...

docker 部署一个单节点的rocketmq

拉取镜像 sudo docker pull rocketmqinc/rocketmq创建数据挂载目录 mkdir -p /docker/rocketmq/data/namesrv/logs mkdir -p /docker/rocketmq/data/namesrv/store mkdir -p /docker/rocketmq/data/broker/logs mkdir -p /docker/rocketmq/data/broker/store /docker/…...

MySQL优化

目录 一. 优化 SQL 查询语句 1.1. 分析慢查询日志 1.2. 优化 SQL 查询语句的性能 1.2.1 优化查询中的索引 1.2.2 减少表的连接(join) 1.2.3 优化查询语句中的过滤条件 1.2.4 避免使用SELECT * 1.2.5 优化存储过程和函数 1.2.6 使用缓存 二. 优化表结构…...

【C++】总结9

文章目录 C从源代码到可执行程序经过什么步骤静态链接和动态链接类的对象存储空间C的内存分区内存池在成员函数中调用delete this会出现什么问题?如果在类的析构函数中调用delete this,会发生什么? C从源代码到可执行程序经过什么步骤 预处理…...

C++报错 XX does not name a type;field `XX’ has incomplete type解决方案

C报错 XX does not name a type;field XX’ has incomplete type解决方案 两个C编译错误及解决办法–does not name a type和field XX’ has incomplete type 编译错误一:XX does not name a type 编译错误二:field XX’ has incomplete t…...

28.利用fminsearch、fminunc 求解最大利润问题(matlab程序)

1.简述 1.无约束(无条件)的最优化 fminunc函数 : - 可用于任意函数求最小值 - 统一求最小值问题 - 如求最大值问题: >对函数取相反数而变成求最小值问题,最后把函数值取反即为函数的最大值。 使用格式如下 1.必须预先把函数存…...

图像 检测 - FCOS: Fully Convolutional One-Stage Object Detection (ICCV 2019)

FCOS: Fully Convolutional One-Stage Object Detection - 全卷积一阶段目标检测(ICCV 2019) 摘要1. 引言2. 相关工作3. 我们的方法3.1 全卷积一阶目标检测器3.2 FCOS的FPN多级预测3.3 FCOS中心度 4. 实验4.1 消融研究4.1.1 FPN多级预测4.1.2 有无中心度…...

C# NDArray System.IO.FileLoadException报错原因分析

C# NDArray System.IO.FileLoadException 报错原因分析: 1.NuGet程序包版本有冲突 2.统一项目版本 1.打开解决方案NuGet程序包设置 2.查看是否有版本冲突 3.统一版本冲突...

快速响应,上门维修小程序让您享受无忧生活

随着科技的不断发展和智能手机的普及,上门维修小程序成为了现代人生活中越来越重要的一部分。上门维修小程序通过将维修服务与互联网相结合,为用户提供了更加便捷、高效的维修服务体验。下面将介绍上门维修小程序开发的优势。   提供便捷的预约方式&am…...

05、性能分析思路?

工具操作:包括压力工具、监控工具、剖析工具、调试工具。数值理解:包括上面工具中所有输出的数据。趋势分析、相关性分析、证据链分析:就是理解了工具产生的数值之后,还要把它们的逻辑关系想明白。这才是性能测试分析中最重要的一…...

【编程语言 · C语言 · calloc和realloc】

【编程语言 C语言 calloc和realloc】https://mp.weixin.qq.com/s?__bizMzg4NTE5MDAzOA&mid2247491544&idx1&sn72d8f9931cfa7ce7441a3248475ab619&chksmcfade321f8da6a374a5935bb46441a03a007c0589db6b8afa8c1991854d632a3201553e37b0b&payreadticketHGy…...

机器学习分布式框架ray运行pytorch实例

Ray是一个用于分布式计算的开源框架,它可以有效地实现并行化和分布式训练。下面是使用Ray来实现PyTorch的训练的概括性描述: 安装Ray:首先,需要在计算机上安装Ray。你可以通过pip或conda来安装Ray库。 准备数据:在使用…...

TypeScript 【type】关键字的进阶使用方式

导语: 在前面章节中,我们了解到 TS 中 type 这个关键字,常常被用作于,定义 类型别名,用来简化或复用复杂联合类型的时候使用。同时也了解到 为对象定义约束接口类型 的时候所使用的是 Interfaces。 其实对于前面&#…...

如何用PPTist快速创建专业演示文稿:免费在线PPT制作完全指南

如何用PPTist快速创建专业演示文稿:免费在线PPT制作完全指南 【免费下载链接】PPTist 基于 Vue3.x TypeScript 的在线演示文稿(幻灯片)应用,还原了大部分 Office PowerPoint 常用功能,实现在线PPT的编辑、演示。支持导…...

别再只会用PS修图了!用Python的Richardson-Lucy算法,5分钟搞定模糊老照片修复

用Python拯救模糊老照片:零基础也能上手的Richardson-Lucy算法实战 翻箱倒柜找到一张泛黄的老照片,却发现画面模糊得连人脸都看不清?别急着叹气,更不用花大价钱找专业修图师。今天我要分享一个连Python新手都能轻松上手的黑科技—…...

ai辅助开发:让快马生成智能助手,链接notepad下载与个性化代码推荐

今天想和大家分享一个有趣的实践:如何用AI辅助开发的方式,让Notepad这个老牌文本编辑器焕发新生。我们平时下载Notepad可能只是简单获取软件,但如果结合AI能力,就能把"下载-使用"的流程升级成"智能助手"体验。…...

别再只懂概念了!用JSEncrypt库5分钟搞定前端RSA密码加密实战

前端RSA加密实战:用JSEncrypt保护用户密码传输安全 1. 为什么前端需要加密? 在Web应用开发中,用户登录是最基础也最敏感的操作之一。传统表单提交直接将密码以明文形式发送到服务器,这在网络传输过程中存在被截获的风险。即使使…...

资源监控告警:OpenClaw+Qwen3-32B镜像守护个人服务器

资源监控告警:OpenClawQwen3-32B镜像守护个人服务器 1. 为什么需要智能化的个人服务器监控? 去年我的个人服务器连续宕机三次——第一次因为内存泄漏导致OOM崩溃,第二次被挖矿程序占用全部CPU资源,第三次则是磁盘写满后无人察觉…...

全网资源嗅探下载神器:轻松获取视频音频资源的终极指南

全网资源嗅探下载神器:轻松获取视频音频资源的终极指南 【免费下载链接】res-downloader 资源下载器、网络资源嗅探,支持微信视频号下载、网页抖音无水印下载、网页快手无水印视频下载、酷狗音乐下载等网络资源拦截下载! 项目地址: https://gitcode.co…...

Python环境变量冲突避坑指南:解决Fatal Python error: init_sys_streams错误(conda+Pycharm版)

Python环境变量冲突避坑指南:解决Fatal Python error: init_sys_streams错误(condaPycharm版) 当你在PyCharm中运行一个conda虚拟环境下的Python项目时,突然弹出一条令人窒息的错误信息:Fatal Python error: init_sys_…...

FlowState Lab模型微调教程:使用自定义数据集训练专属波动模型

FlowState Lab模型微调教程:使用自定义数据集训练专属波动模型 1. 学习目标与前置准备 想为特定领域打造专属的波动预测模型吗?本文将带你完成从数据准备到模型评估的全流程。学完本教程,你将能够: 准备符合要求的时序/空间序列…...

feishu2md:飞书文档转Markdown的技术实现与架构解析

feishu2md:飞书文档转Markdown的技术实现与架构解析 【免费下载链接】feishu2md 一键命令下载飞书文档为 Markdown 项目地址: https://gitcode.com/gh_mirrors/fe/feishu2md 飞书文档转Markdown工具feishu2md为技术团队提供了文档格式转换的标准化解决方案。…...

Save Image as Type:终极Chrome图片格式转换指南,三步快速解决网页图片格式不兼容难题

Save Image as Type:终极Chrome图片格式转换指南,三步快速解决网页图片格式不兼容难题 【免费下载链接】Save-Image-as-Type Save Image as Type is an chrome extension which add Save as PNG / JPG / WebP to the context menu of image. 项目地址:…...