深度学习基础——填充(padding)与步幅(stride)

news2024/12/23 9:11:40

填充(padding)

在这里插入图片描述
在上图中,输入图片尺寸为 3 × 3 3\times3 3×3,输出图片尺寸为 2 × 2 2\times2 2×2,经过一次卷积之后,图片尺寸为 2 × 2 2\times2 2×2,经过一次卷积之后,图片尺寸变小。卷积输出特征图的尺寸计算方法如下(卷积核的高和宽分别为 k h 和 k w k_h和k_w khkw):
H o u t = H − k h + 1 W o u t = W − k w + 1 H_{out}=H-k_h+1\\ W_{out}=W-k_w+1 Hout=Hkh+1Wout=Wkw+1
如果输入尺寸为4,卷积核大小为3时,输出尺寸为 4 − 3 + 1 = 2 4-3+1=2 43+1=2。读者可以自行检查当输入图片和卷积核为其他尺寸时,上述计算式是否成立。当卷积核尺寸大于1时,输出特征图的尺寸会小于输入图片尺寸。如果经过多次卷积,输出图片尺寸会不断减小。为了避免卷积之后图片尺寸变小,通常会在图片的外围进行填充(padding),如下图所示
在这里插入图片描述

  • 如图(a)所示:填充的大小为1,填充值为0。填充之后,输入图片尺寸从 4 × 4 4\times4 4×4变成了 6 × 6 6\times6 6×6,使用 3 × 3 3\times3 3×3的卷积核,输出图片尺寸为 4 × 4 4\times4 4×4
  • 如图(b)所示:填充的大小为2,填充值为0。填充之后,输入图片尺寸从 4 × 4 4\times4 4×4变成了 8 × 8 8\times8 8×8,使用 3 × 3 3\times3 3×3的卷积核,输出图片尺寸为 6 × 6 6\times6 6×6

如果在图片高度方向,在第一行之前填充 p h 1 p_{h1} ph1行,在最后一行之后填充 p h 2 p_{h2} ph2行;在图片的宽度方向,在第1列之前填充 p w 1 p_{w1} pw1列,在最后1列之后填充 p w 2 p_{w2} pw2列;则填充之后的图片尺寸为 ( H + p h 1 + p h 2 ) × ( W + p w 1 + p w 2 ) (H+p_{h1}+p_{h2})\times (W+p_{w1}+p_{w2}) (H+ph1+ph2)×(W+pw1+pw2)。经过大小为 k h × k w k_h\times k_w kh×kw的卷积核操作之后,输出图片的尺寸为:
H o u t = H + p h 1 + p h 2 − k h + 1 W o u t = W + p w 1 + p w 2 − k w + 1 H_{out}=H+p_{h1}+p_{h2}-k_h+1\\ W_{out}=W+p_{w1}+p_{w2}-k_w+1 Hout=H+ph1+ph2kh+1Wout=W+pw1+pw2kw+1
在卷积计算过程中,通常会在高度或宽度的两侧采取等量填充,即 p h 1 = p h 2 = p h , p w 1 = p w 2 = p w p_{h1}=p_{h2}=p_h,p_{w1}=p_{w2}=p_w ph1=ph2=ph,pw1=pw2=pw,所以上面的公式就变为了:
H o u t = H + 2 p h − k h + 1 W o u t = W + 2 p w − k w + 1 H_{out}=H+2p_h-k_h+1\\ W_{out}=W+2p_w-k_w+1 Hout=H+2phkh+1Wout=W+2pwkw+1
卷积核大小通常使用1,3,5,7这样的奇数,如果使用的填充大小为 p h = ( k h − 1 ) / 2 , p w = ( k w − 1 ) / 2 p_h=(k_h-1)/2,p_w=(k_w-1)/2 ph=(kh1)/2,pw=(kw1)/2,则卷积之后图像尺寸不变。
例如当卷积核大小为3时,padding大小为1,卷积之后图像尺寸不变,与图(a)一样;同理,如果卷积核大小为5,padding大小为2,也能保持图像尺寸不变。

步幅(stride)

Alt
上图中卷积核每次滑动一个像素点,这是步幅为1的特殊情况,下面两张图是步幅为2的卷积过程,卷积核在图片上移动时,每次移动大小为2个像素点。
Alt
在这里插入图片描述
以第二张静态图为例子:
当宽和高的步幅分别为 s h 和 s w s_h和s_w shsw时,输出特征图尺寸的计算公式是:
H o u t = H + 2 p h − k h s h + 1 W o u t = W + 2 p w − k w s w + 1 H_{out}=\frac{H+2p_{h}-k_h}{s_h}+1\\ W_{out}=\frac{W+2p_w-k_w}{s_w}+1 Hout=shH+2phkh+1Wout=swW+2pwkw+1
假设输入图片尺寸时 H × W = 100 × 100 H\times W=100\times100 H×W=100×100,卷积核大小为 k h × k w = 3 × 3 k_h\times k_w=3\times3 kh×kw=3×3,填充 p h = p w = 1 p_h=p_w=1 ph=pw=1,步幅为 s h = s w = 2 s_h=s_w=2 sh=sw=2,则输出特征图的尺寸为:
H o u t = 100 + 2 − 3 2 + 1 = 50 W o u t = 100 + 2 − 3 2 + 1 = 50 H_{out}=\frac{100+2-3}{2}+1=50\\ W_{out}=\frac{100+2-3}{2}+1=50 Hout=2100+23+1=50Wout=2100+23+1=50

总结:

1。卷积输出特征图的尺寸计算方法如下(卷积核的高和宽分别为 k h 和 k w k_h和k_w khkw): H o u t = H − k h + 1 W o u t = W − k w + 1 H_{out}=H-k_h+1\\ W_{out}=W-k_w+1 Hout=Hkh+1Wout=Wkw+1
2。当宽和高的步幅分别为 s h 和 s w s_h和s_w shsw时,输出特征图尺寸的计算公式是:
H o u t = H + 2 p h − k h s h + 1 W o u t = W + 2 p w − k w s w + 1 H_{out}=\frac{H+2p_{h}-k_h}{s_h}+1\\ W_{out}=\frac{W+2p_w-k_w}{s_w}+1 Hout=shH+2phkh+1Wout=swW+2pwkw+1

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

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

相关文章

SQLServer 2016 备份

1、下载并安装SQLServer2016服务器端, 下载地址:https://www.microsoft.com/zh-cn/evalcenter/download-sql-server-2016 2、下载并安装SSMS管理工具, 下载地址:https://download.microsoft.com/download/8/a/8/8a8073d2-2e00-…

渗透学习-CTF篇-web-BUUCTF

文章目录前言一、[WesternCTF2018]shrine前言 随着学习的不断深入,为了防止自己忘记之前所学的内容,于是我决定再不断的向下学习的同时做一些ctf的题来唤醒自己的记忆!! 一、[WesternCTF2018]shrine 这一关主要是SSTI的内容&…

Docker安装部署sql审计平台Archery1.9.1版本

安装dockercurl -fsSL https://get.docker.com -o get-docker.sh | sudo sh安装docker composesudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod x…

chrono_Time_point (三)

chrono_time_point (三) 文章目录chrono_time_point (三)模板参数源码解析构造函数:成员函数time_since_epoch()例子timepoint提供的操作timepoint的溢出C和POSIX提供的Date/Time函数演示案例(timepoint和日历时间的转换&#xff…

SpringMVC | 使用Xml或注解进行开发

一、Spring MVC简介Spring MVC(全称 Spring Web MVC)是 Spring 框架提供的一款基于 MVC 模式的轻量级 Web 开发框架。MVC架构(1)示意图(2)各层职责Model:负责对请求进行处理,并将结果…

计算机SCI论文怎么发表?有哪些建议? - 易智编译EaseEditing

一般论文的水平是这样:普刊<核心<SCI。 不同的专业都可以发SCI,只是影响因子高低不用而已,有的领域分值高,有的偏低。 就是说不同领域SCI期刊,影响因子一样,但水平是一样的。 怎样…

三、元素操作

1、切片和索引 ndarray对象的内容可以通过索引或切片来访问和修改,与Python中list的切片操作一样 ndarray数组可以基于0-n的下标进行索引,切片对象可以通过内置的slice函数,并设置start,stop及step参数进行,从原数组…

【Java寒假打卡】Java基础-反射

【Java寒假打卡】Java基础-反射概述获取Class对象的三种方式反射-获取Constructor对象利用Constructor数组创建对象获取Field对象反射获取成员变量并且使用反射获取成员对象反射获取成员对象并运行概述 Java反射机制:是在运行状态中,对于任意一个类&…

使用VS code快速搭建一个Golang项目

文章目录前言安装go语言环境了解Go开发相关的环境变量熟悉Go Module创建一个go项目项目迁移前言 VC code是一款巨好用的编辑器,使用vs code开发项目需要进行一些配置。项目中需要用到很多的包,无论是自己建的还是第三方的。由于go语言的生态环境没有jav…

【路由器连接天翼网关2.0问题解决思路】

文章目录一. 天翼网关如何切换新账号?背景操作流程1. 拔掉光纤2. 重置光猫3. 管理员页面进行认证4. 重新插上光纤,管理员页面会显示认证成功二、路由器连接光猫无网如何解决?背景操作流程1. 登陆普通管理员2. 获取超级管理员3. 登陆超级管理页…

SOLIDWORKS Electrical 2023新功能

电气工程师在完成电气原理图设计的同时,还需要频繁地修改、导出各报表,使得大量时间浪费在重复性的手动工作上。即便如此,也无法保证百分百准确无误;电气设计部门和机械设计部门虽然在设计同一产品,但不同部门之间互相…

云原生|kubernetes|2022年底cks真题解析(11-16)

前言: 接上一篇文章:云原生|kubernetes|2022年底cks真题解析(1-10)_晚风_END的博客-CSDN博客 2022年底的csk真题第二部分 11题到16题 十一, Trivy 扫描镜像安全漏洞 题目: Task 使用 Trivy 开源容器扫…

神奇的HTML系列专栏总目录

📋 前言 🖱 博客主页:在下马农的碎碎念✍ 本文由在下马农原创,首发于CSDN📆 首发时间:2023/01/16📅 最近更新时间:2023/01/16🤵 此马非凡马,房星本是星。向前…

《Linux性能优化实战》学习笔记 Day02

02 | 内存池:如何提升内存分配的效率? 原文摘抄 在 Linux 系统中,用 Xmx 设置 JVM 的最大堆内存为 8GB,但在近百个并发线程下,观察到 Java 进程占用了 14GB 的内存。为什么会这样呢? 绝大部分高级语言都…

【图论】「极简复习版」最短路径 Java/C++ 实现

文章目录Dijkstra —— 单源最短路讲解图解Java朴素使用堆优化C朴素使用堆优化Floyd —— 多源最短路讲解JavaCDijkstra —— 单源最短路 讲解 时间复杂度 朴素 Dijkstra:O(n2)O(n^2)O(n2) ,nnn 是顶点数。堆优化 Dijkstra:O(mlogn)O(m\ l…

第五届字节跳动青训营 前端进阶学习笔记(三)CSS基本概念

文章目录前言CSS是什么1.CSS基本结构2.在面中使用CSS的方式3.CSS是如何工作的选择器1.通配选择器2.标签选择器3.id选择器4.类选择器5.属性选择器6.伪类选择器7.选择符颜色1.RGB颜色2.HSL颜色3.alpha透明度字体1.font-family2.font-size3.line-height4.text-align5.space6.text-…

从头搭建pytorch Docker镜像

目录前言正文从docker hub下载镜像创建容器并运行更新容器*安装python*安装anaconda安装pytorch参考文献:前言 此文不需要前言,请从正文开始 开始搭建 正文 默认大家都是有一定docker基础的,没有的话建议去花个20分钟学一下基础知识。相对…

如何利用极狐GitLab 轻松管理NPM依赖发布与更新?

本文来自: 任治桐 极狐(GitLab) 前端工程师 NPM 是 Node.js 的包管理工具,用来安装各种 Node.js 的扩展。本文将分享如何通过极狐GitLab,让 NPM 依赖发布更新更加快速和自动化,让你轻松管理依赖,拥有更多时间专注于核…

【Java|golang】1814. 统计一个数组中好对子的数目

给你一个数组 nums &#xff0c;数组中只包含非负整数。定义 rev(x) 的值为将整数 x 各个数字位反转得到的结果。比方说 rev(123) 321 &#xff0c; rev(120) 21 。我们称满足下面条件的下标对 (i, j) 是 好的 &#xff1a; 0 < i < j < nums.length nums[i] rev(…

算法之美~时间复杂度

时间复杂度 时间复杂度的全称是渐进时间复杂度&#xff0c;表示算法的执行时间与数据规模之间的增长关系1、只关注循环执行次数最多的一段代码2、加法法则&#xff1a;总复杂度等于量级最大的那段代码的复杂度3、乘法法则&#xff1a;嵌套代码的复杂度等于嵌套内外代码复杂度的…