如何计算卷积层输出图像的大小以及池化大小输出

如何计算卷积层输出图像的大小&以及池化大小输出

卷积

在卷积神经网络(CNN)中,计算卷积层输出图像的大小是一个常见的操作。以下是卷积计算的基本公式和步骤:

  1. 卷积层输出尺寸计算公式
    Output_size = ⌊ Input_size − Filter_size + 2 × Padding Stride ⌋ + 1 \text{Output\_size} = \left\lfloor \frac{\text{Input\_size} - \text{Filter\_size} + 2 \times \text{Padding}}{\text{Stride}} \right\rfloor + 1 Output_size=StrideInput_sizeFilter_size+2×Padding+1

    其中:

    • Input_size \text{Input\_size} Input_size 是输入图像的尺寸(高度或宽度)。
    • Filter_size \text{Filter\_size} Filter_size 是卷积核的尺寸(通常是正方形,如 3 × 3 3 \times 3 3×3)。
    • Padding \text{Padding} Padding 是填充的像素数。
    • Stride \text{Stride} Stride 是卷积核移动的步长。
    • ⌊ ⋅ ⌋ \left\lfloor \cdot \right\rfloor 表示向下取整。
  2. 实例
    假设输入图像尺寸为 32 × 32 32 \times 32 32×32,卷积核尺寸为 5 × 5 5 \times 5 5×5,填充为 0 0 0(即没有填充),步长为 1 1 1
    Output_size = ⌊ 32 − 5 + 2 × 0 1 ⌋ + 1 = ⌊ 27 ⌋ + 1 = 28 \text{Output\_size} = \left\lfloor \frac{32 - 5 + 2 \times 0}{1} \right\rfloor + 1 = \left\lfloor 27 \right\rfloor + 1 = 28 Output_size=1325+2×0+1=27+1=28
    因此,输出图像的尺寸为 28 × 28 28 \times 28 28×28

  3. 带填充和步长的实例
    如果输入图像尺寸为 32 × 32 32 \times 32 32×32,卷积核尺寸为 3 × 3 3 \times 3 3×3,填充为 1 1 1(即每边填充一圈像素),步长为 2 2 2
    Output_size = ⌊ 32 − 3 + 2 × 1 2 ⌋ + 1 = ⌊ 32 2 ⌋ + 1 = 16 + 1 = 17 \text{Output\_size} = \left\lfloor \frac{32 - 3 + 2 \times 1}{2} \right\rfloor + 1 = \left\lfloor \frac{32}{2} \right\rfloor + 1 = 16 + 1 = 17 Output_size=2323+2×1+1=232+1=16+1=17
    因此,输出图像的尺寸为 17 × 17 17 \times 17 17×17

  4. 卷积层的参数个数
    计算卷积层的参数个数的公式为:
    Params = ( Filter_height × Filter_width × Input_channels + 1 ) × Number_of_filters \text{Params} = (\text{Filter\_height} \times \text{Filter\_width} \times \text{Input\_channels} + 1) \times \text{Number\_of\_filters} Params=(Filter_height×Filter_width×Input_channels+1)×Number_of_filters

    例如,对于一个具有 3 个输入通道、32 个过滤器和 5 × 5 5 \times 5 5×5 卷积核的卷积层:
    Params = ( 5 × 5 × 3 + 1 ) × 32 = ( 75 + 1 ) × 32 = 2432 \text{Params} = (5 \times 5 \times 3 + 1) \times 32 = (75 + 1) \times 32 = 2432 Params=(5×5×3+1)×32=(75+1)×32=2432

通过这些公式和实例,你可以计算任何卷积层的输出尺寸和参数个数。

池化

池化(Pooling)操作通常用于减小特征图的尺寸,同时保留重要的特征。计算池化层输出图像的大小的方法类似于卷积层,但公式略有不同。

池化层输出尺寸计算公式

Output_size = ⌊ Input_size − Pool_size Stride ⌋ + 1 \text{Output\_size} = \left\lfloor \frac{\text{Input\_size} - \text{Pool\_size}}{\text{Stride}} \right\rfloor + 1 Output_size=StrideInput_sizePool_size+1

其中:

  • Input_size \text{Input\_size} Input_size 是输入图像的尺寸(高度或宽度)。
  • Pool_size \text{Pool\_size} Pool_size 是池化窗口的尺寸(通常是正方形,如 2 × 2 2 \times 2 2×2)。
  • Stride \text{Stride} Stride 是池化窗口移动的步长。
  • ⌊ ⋅ ⌋ \left\lfloor \cdot \right\rfloor 表示向下取整。

实例计算

假设我们有一个池化层,输入图像的尺寸为 54 × 54 × 96 54 \times 54 \times 96 54×54×96,池化窗口的尺寸为 2 × 2 2 \times 2 2×2,步长为 2(即常见的最大池化操作)。

  1. 计算高度和宽度
    Output_height = ⌊ 54 − 2 2 ⌋ + 1 = ⌊ 26 ⌋ + 1 = 27 \text{Output\_height} = \left\lfloor \frac{54 - 2}{2} \right\rfloor + 1 = \left\lfloor 26 \right\rfloor + 1 = 27 Output_height=2542+1=26+1=27

    Output_width = ⌊ 54 − 2 2 ⌋ + 1 = ⌊ 26 ⌋ + 1 = 27 \text{Output\_width} = \left\lfloor \frac{54 - 2}{2} \right\rfloor + 1 = \left\lfloor 26 \right\rfloor + 1 = 27 Output_width=2542+1=26+1=27

因此,输出图像的高度和宽度均为 27。

  1. 输出通道数
    池化操作不改变通道数。因此,输出图像的通道数仍然是 96。

最终输出尺寸

结合上面的计算,池化后的输出图像的尺寸为 27 × 27 × 96 27 \times 27 \times 96 27×27×96

解释

  • 输入图像尺寸 54 × 54 × 96 54 \times 54 \times 96 54×54×96
  • 池化窗口尺寸 2 × 2 2 \times 2 2×2
  • 步长: 2

池化操作通过应用 2 × 2 2 \times 2 2×2 的池化窗口,以步长 2 在 54 × 54 54 \times 54 54×54 的输入图像上滑动,从而得到一个高度和宽度均为 27,通道数为 96 的输出特征图。

总结

通过上述步骤,我们解释了如何计算池化层输出图像的尺寸。池化后的输出尺寸为 27 × 27 × 96 27 \times 27 \times 96 27×27×96

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/45028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

区块链项目全球成功指南:全面覆盖的媒体宣发策略与实践

随着区块链技术的迅速普及和发展,全球范围内对区块链项目的关注度不断提升。为了在国际市场上取得成功,区块链项目需要通过有效的媒体宣传策略来提高知名度,吸引投资,并建立强大的社区支持。本文将详细介绍区块链项目在海外媒体宣…

为企业提升销售工作效率的工作手机管理系统

在竞争日益激烈的市场环境中,企业的销售团队如同前线战士,其作战效率直接关乎企业的生存与发展。然而,传统销售管理模式下的信息孤岛、沟通不畅、数据混乱等问题,正悄然成为制约销售效率提升的瓶颈。今天,我们为您揭秘…

在 Windows 平台搭建 MQTT 服务

引言 MQTT 是一种轻量级、基于发布/订阅模式的消息传输协议,旨在用极小的代码空间和网络带宽为物联网设备提供简单、可靠的消息传递服务。MQTT 经过多年的发展,如今已被广泛应用于资源开采、工业制造、移动通信、智能汽车等各行各业,使得 MQ…

汇聚荣做拼多多电商怎么样?

汇聚荣做拼多多电商怎么样?在当前电商平台竞争激烈的背景下,拼多多凭借其独特的商业模式和市场定位迅速崛起。对于想要加入拼多多的商家而言,了解平台的特点、优势及挑战是至关重要的。本文将深入分析加入拼多多电商的多个方面,帮助读者全面…

ubuntu计划任务反弹

目录 实验环境 实验步骤 目标主机构造任务计划 构造语句 语句解释 kali开启监听 监听成功 问题 原因 实验环境 攻击者 操作系统:kali IP:192.168.244.141 目标主机 操作系统:ubuntu IP:192.168.244.151 实验步骤 目…

论文学习_An Empirical Study of Deep Learning Models for Vulnerability Detection

1. 引言 研究背景:近年来,深度学习漏洞检测工具取得了可喜的成果。最先进的模型报告了 0.9 的 F1 分数,并且优于静态分析器。结果令人兴奋,因为深度学习可能会给软件保障带来革命性的变化。因此,IBM、谷歌和亚马逊等行业公司非常感兴趣,并投入巨资开发此类工具和数据集。…

(8)揭示Python编程精髓:深潜继承与多态的奇幻之旅

目录 1. 命名空间与作用域1.1 命名空间概述1.2 作用域1.2.1 局部作用域1.2.2 全局作用域1.2.3 修改全局变量1.2.4 嵌套作用域 2. 继承3. 多态(Polymorphism) 1. 命名空间与作用域 1.1 命名空间概述 命名空间是一个从名字到对象的映射,它在P…

Qt:19.浮动窗口/子窗口(子窗口介绍、代码方式创建子窗口、设置子窗口标题、为子窗口添加控件、设置子窗口停靠位置)

目录 1.子窗口介绍: 2.代码方式创建子窗口: 3.设置子窗口标题: 4.为子窗口添加控件: 5.设置子窗口停靠位置。 1.子窗口介绍: 在 Qt 中,可以创建和管理子窗口(子窗口体)以实现多窗…

图片怎么制作成长期可用的活码?扫码提供图片预览的制作技巧

现在图片的尺寸和清晰度的质量越来越高,相对应的会占用更多的存储空间,现在很多人会将图片存入云端后,通过生成二维码的方式,扫码来查看图片内容。图片转换二维码有利于将图片分享给其他人查看,还能够节省更多的空间&a…

SpringBoot自己开发一个starter

提示:本文主要讲述如何自行开发一个SpringBoot的starter 文章目录 目录 文章目录 前言 一、Starter是什么 二、创建一个SpringBoot项目 1.创建一个基本的SpringBoot项目 2.选择要下载的库 三、设置项目 1.提示 2.配置pom.xml 3.重点代码 1.创建一个User类…

16.x86游戏实战-汇编指令push pop pushad popad

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 工具下载: 链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

【第29章】MyBatis-Plus之分页插件

文章目录 前言一、支持的数据库二、配置方法三、属性介绍四、自定义 Mapper 方法中使用分页五、其他注意事项六、Page 类七、实战1. 配置类2. 分页类3. 测试 总结 前言 MyBatis-Plus 的分页插件 PaginationInnerInterceptor 提供了强大的分页功能,支持多种数据库&a…

Windows电脑安装Python结合内网穿透轻松搭建可公网访问私有网盘

文章目录 前言1.本地文件服务器搭建1.1.Python的安装和设置1.2.cpolar的安装和注册 2.本地文件服务器的发布2.1.Cpolar云端设置2.2.Cpolar本地设置 3.公网访问测试4.结语 前言 本文主要介绍如何在Windows系统电脑上使用python这样的简单程序语言,在自己的电脑上搭建…

kubernetes授予用户指定命名空间的使用权限

kubernetes授予用户指定命名空间的使用权限 问题描述具体实现签发客户端证书创建RBAC策略生成kubeconfig文件 问题描述 假如我们部门来了个新同事,他需要使用kubernetes集群,但是因为他刚来,还不熟悉,所以不能直接将kubernetes集…

Spring如何控制Bean加载+执行顺序

1. Order 注解和 Ordered 接口 用途:控制组件执行顺序或排序,但不控制Bean初始化顺序。定义执行顺序:通过整数值指定组件优先级,数值越小优先级越高。集合排序:影响自动装配到集合中的组件排列顺序。使用场景&#xf…

77.MySQL的分页查询

一、LIMIT关键字 LIMIT关键字用于限制返回结果集中的行数。其基本语法如下: SELECT * FROM 表名 LIMIT 行数; 例如,要从名为mark_info的表中选择最新创建的10个工单的信息,可以执行以下查询: SELECT * FROM mark_info ORDER B…

电力需求预测挑战赛笔记 Taks1 跑通baseline

#AI夏令营 #Datawhale #夏令营 赛题 一句话介绍赛题任务可以这样理解赛题: 【训练时序预测模型助力电力需求预测】 电力需求的准确预测对于电网的稳定运行、能源的有效管理以及可再生能源的整合至关重要。 赛题任务 给定多个房屋对应电力消耗历史 N 天的相关序列数…

拓扑排序(算法篇)

算法之拓扑排序 拓扑排序 概念: 拓扑排序是对有向无圈图的顶点的一种排序。排序不必是唯一的,任何合理的排序都是可以的。具体做法是:先找出任意一个没有入边的顶点v(就是没有其他顶点指向的顶点),将顶点v放入队列,…

element-plus el-table点击当前行和划过展示鼠标

在 Element Plus 的 el-table 组件中,设置滑过行时鼠标的样式可以通过 CSS 来实现。你可以使用 CSS 的 cursor 属性来定义鼠标悬停时的样式。以下是一个简单的例子: 首先,在你的 Vue 组件的 .el-table .el-table__row:hover {cursor: poin…

09.AOP-尚硅谷Spring零基础入门到进阶,一套搞定spring6全套视频教程(源码级讲解)

现有代码缺陷 针对带日志功能的实现类,我们发现有如下缺陷: 对核心业务功能有干扰,导致程序员在开发核心业务功能时分散了精力附加功能分散在各个业务功能方法中,不利于统一维护 解决思路 解决核心:解耦。把附加功能从…