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

机器学习深度学习——池化层

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er
🌌上期文章:机器学习&&深度学习——卷积的多输入多输出通道
📚订阅专栏:机器学习&&深度学习
希望文章对你们有所帮助

这其实也是torch.nn模块的知识,在之前的内容中有提到过,这边就是简单总结和回顾一下了,大家可以看看之前的内容:
机器学习&&深度学习——torch.nn模块

池化层

  • 池化层
  • 最大池化层和平均池化层
  • 填充、步幅和多个通道
  • 总结

池化层

处理图像时,要逐渐降低隐藏表示的空间分辨率、聚集信息,这样随着神经网络中层叠的上升,每个神经元对其敏感的感受野(输入)就越大。
而最终的机器学习任务通常会和全局图像的问题有关(如”判断图像中的是否是一只猫“),最后一层的神经元应该对整个输入的全局敏感。
此外,当检测底层的特征时(比如判断猫的边缘),我们希望这些特征具有平移不变性。
池化层就具有两个重要的作用:降低卷积层对位置的敏感性,同时降低对空间降采样表示的敏感性。

最大池化层和平均池化层

下面给出一个输入:
在这里插入图片描述
用窗口大小2×2的最大池化层进行池化操作,最后得到:
在这里插入图片描述
以垂直边缘检测为例:
在这里插入图片描述
如上图所示,可以看出2×2的最大池化层可以容忍1个像素的移位,卷积层仍然可以识别到模式。
下面实现pool2d函数,实现池化层的前向传播,同时构建输入张量X并验证二维最大池化层、平均池化层的输出:

import torch
from torch import nn
from d2l import torch as d2ldef pool2d(X, pool_size, mode='max'):p_h, p_w = pool_sizeY = torch.zeros((X.shape[0] - p_h + 1, X.shape[1] - p_w + 1))for i in range(Y.shape[0]):for j in range(Y.shape[1]):if mode == 'max':Y[i, j] = X[i: i + p_h, j: j + p_w].max()elif mode == 'avg':Y[i, j] = X[i: i + p_h, j: j + p_w].mean()return YX = torch.tensor([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0]])
print(pool2d(X, (2, 2)))
print(pool2d(X, (2, 2), 'avg'))

填充、步幅和多个通道

1、池化层与卷积层类似,都有填充和步幅
2、没有可学习的参数
3、在每个输入通道应用池化层以获得相应的输出通道
4、输出通道数=输入通道数

总结

1、对于给定输入元素,最大池化层会输出该窗口内的最大值,平均池化层会输出该窗口内的平均值。
2、主要优点之一是减轻卷积层对位置的过度敏感。
3、我们可以指定池化层的填充和步幅。
4、使用最大池化层以及大于1的步幅,可减少空间维度(如高度和宽度)。
5、池化层的输出通道数与输入通道数相同。

相关文章:

机器学习深度学习——池化层

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——卷积的多输入多输出通道 📚订阅专栏:机器学习&&深度学习 希望文章对你们…...

siMLPe:Human Motion Prediction

Back to MLP: A Simple Baseline for Human Motion Prediction解析 摘要1. 简介2. Related Work2.1 基于RNN的人体运动预测2.2 基于GCN的人体运动预测2.3 基于 Attention 的人类运动预测2.4 总结 3. siMLPe3.1 离散余弦变换(Discrete Cosine Transform (DCT)&#x…...

详解——JS map()方法

JavaScript是一种广泛使用的编程语言,用于开发Web应用程序。它具有许多内置函数和方法,其中之一是map()方法。map()方法是一个非常有用的函数,它允许我们在数组中的每个元素上执行相同的操作,并返回一个新的数组。 map()方法的语…...

leetcode做题笔记57

给你一个 无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 思路一:模拟题意 int pushbackInterval(int…...

SAP Fiori 将GUI中的自开发报表添加到Fiori 工作台

1. 首先我们在workbench 中开发一个GUI report 这里我们开发的是一个简单的物料清单报表 2. 分配一个事务代码。 注意这里的SAP GUI for HTML 要打上勾 3. 创建语义对象( Create Semantic Object) 事物代码: path: SAP NetWeaver ->…...

【Docker】配置指定大小的磁盘空间

背景 测试磁盘满时程序的运行情况 问题 如何使用 docker 来模拟磁盘满的情况 解决方法 创建指定大小的数据卷 volumedocker volume create --driver local --opt typetmpfs --opt devicetmpfs --opt osize50M my_volumn创建 docker 时,使用该数据卷docker run …...

使用Spring五大注解来更加简单的存储Bean对象

在使用Spring框架的时候我们如果使用这种方式来存储bean对象的话未免有点太麻烦了 <bean id"xxx" class"xxx"> </bean> 为了简化存储Bean对象的操作&#xff0c;我们可以使用五大类注解来进行存储Bean对象 我们首先要在配置文件配置扫描路径…...

Netty面试题1

计算机网络模型 OSI采用了分层的结构化技术&#xff0c;共分七层&#xff0c; 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 。 Open System Interconnect 简称OSI&#xff0c;是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参…...

水质分析积分球定义和原理

随着社会经济的快速发展&#xff0c;人们对水质的要求不断提升&#xff0c;特别是生活饮用水&#xff0c;检测项目渐趋完善。在工业化大发展的前提下&#xff0c;水资源正遭受着严重的污染&#xff0c;因此确保水质安全&#xff0c;定期开展对饮用水的检测工作已迫在眉睫。环境…...

自然语言处理从入门到应用——LangChain:记忆(Memory)-[基础知识]

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 默认情况下&#xff0c;链&#xff08;Chains&#xff09;和代理&#xff08;Agents&#xff09;是无状态的&#xff0c;这意味着它们将每个传入的查询视为独立的&#xff08;底层的LLM和聊天模型也是如此&#xff09;…...

phpstorm添加vue 标签属性绑定提示和提示vue的方法提示

v-text v-html v-once v-if v-show v-else v-for v-on v-bind v-model v-ref v-el v-pre v-cloak v-on:click v-on:keyup.enter v-on:keyup click change input number debounce transition :is :class把上面这些文字粘贴到点击右下角放大按钮 后的文本框里&#xff0c;然后保存…...

从计算到人类知识:ChatGPT与智能演化

引 言 智能是自然界演化出来的结果&#xff0c;而人工智能则是人类创造的产物。随着人工智能的不断进步&#xff0c;尤其是近期ChatGPT的开放&#xff0c;我们发现人工智能的智能水平似乎已经达到了非常高的水平。然而&#xff0c;对于自然界中生物来说很简单的行为&#xff0…...

Leetcode每日一题:2681. 英雄的力量(2023.8.1 C++)

目录 2681. 英雄的力量 题目描述&#xff1a; 实现代码与解析&#xff1a; 数学规律 原理思路&#xff1a; 2681. 英雄的力量 题目描述&#xff1a; 给你一个下标从 0 开始的整数数组 nums &#xff0c;它表示英雄的能力值。如果我们选出一部分英雄&#xff0c;这组英雄的…...

【学习】若依源码(前后端分离版)之 “ 异常处理”

大型纪录片&#xff1a;学习若依源码&#xff08;前后端分离版&#xff09;之 “ 异常处理” 前言1、统一返回实体定义2、定义登录异常定义3、基于ControllerAdvice注解的Controller层的全局异常统一处理4、测试访问请求结语 前言 通常一个web框架中&#xff0c;有大量需要处理…...

天花板级,Python接口自动化测试-接口关联封装调用(实例)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 流程相关的接口&a…...

yolov5代码解读之yolo.py【网络结构】

​这个文件阿对于做模型修改、模型创新有很好大好处。 首先加载一些python库和模块&#xff1a; 如果要执行这段代码&#xff0c;直接在终端输入python yolo.py. yolov5的模型定义和网络搭建都用到了model这个类(也就是以下图片展示的东西)&#xff1a;&#xff08;以前代码没…...

Docker之jenkins部署harbor在harbor中完成部署

Docker之jenkins部署harbor在harbor中完成部署 1、harbor作用 Harbor允许用户用命令行工具对容器镜像及其他Artifact进行推送和拉取&#xff0c;并提供了图形管理界面帮助用户查阅和删除这些Artifact。在Harbor 2.0版本中&#xff0c;除容器镜像外&#xff0c;Harbor对符合OCI…...

安装Jenkins

一、什么是Jenkins Jenkins是一个开源软件项目&#xff0c;是基于Java开发的。我们可以利用Jenkins来实现持续集成的功能。 因为Jenkins是基于Java开发的&#xff0c;所以在安装Jenkins之前首先需要安装Java的JDK。 二、安装Jenkins 在Windows平台上面安装Jenkins共有两种方式…...

大运空瓶行动,绘就生态文明画卷

随着成都第31届世界大学生夏季运动会赛事的成功举办&#xff0c;为了倡导节约水资源、绿色大运&#xff0c;在此之前成都电视2台《城视民生》栏目面向全市发起“大运空瓶行动”的倡议&#xff0c;呼吁市民杜绝水资源浪费&#xff0c;喝完瓶中水&#xff0c;并鼓励市民积极参与到…...

tomcat7.exe 启动闪退解决

标题tomcat7.exe 启动闪退解决 双击tomcat7.exe启动&#xff0c;但是出现闪退问题&#xff0c;无法启动tomcat 解决&#xff1a; 1.解决 tomcat7.exe 启动闪退解决 第一步&#xff1a;双击打开tomcat7w.exe 文件 如果出现 “指定的服务未安装。 Unable to open the service ‘…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

Python Einops库:深度学习中的张量操作革命

Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...