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

神经网络:CNN中的filter,kernel_size,strides,padding对输出形状的影响

输入数据在经过卷积层后,形状一般会发生改变,而形状的变化往往与以下四个超参数有关。

1,filter(out_channel)

该超参数控制着输入数据经过卷积层中需要与几个卷积核进行运算,而输入数据与每个卷积核进行卷积运算后会产生一个二维矩阵,因此最后会产生 filter 个矩阵,分别分布在输出的各个通道中。故该超参数决定输出的通道数。

2,kernel_size(k)

卷积核的宽高一般来说是相等的,且都等于kernel_size,对应一个n x n x 3 (忽略样本轴)的输入数据,在经过卷积层后,输出的宽高 = 1 + (n - k) // s,双斜杠表示整除,s表示步幅strides。当n,k,s中的某个宽高不相等时,则输出的宽高需分别代入n, k, s的宽高进行计算。

3,strides(s)

步幅的大小决定了视野域(卷积核的形状映射在输入数据上的窗口)每次移动的距离,输出的宽高符合公式 1 + (n - k) // s。
e

4,padding

padding的设置在卷积运算之前就对元输入数据进行修改填充0,一般来说padding可取值VALIDSAME(pytorch中可分别对行列进行填充)。
①当取值为VALID时,则可用公式 1 + (n - k) // s 计算输出的宽高。
②当取值为SAME时,这时 k 的奇偶性就会影响到填充效果。
A:当 k 为奇数时,则上下左右都会填充 (k - 1) / 2 (可整除)个0行,故宽高可用公式 1 + (n + k - 1 - k) // s = 1 + (n - 1) // s(在Pytorch中,当 padding = SAME 时,s 必须等于1)。如下图(n = 5,k = 3,s = 1)
在这里插入图片描述

B:当k为偶数时,则上下左右都会填充(k - 1 - 1) / 2 = (k - 2)/ 2 个0行,然后下与右再填充1个0行,故宽高可用公式 1 + (n - k + k - 2 + 1) // s = 1 + (n - 1) // s 。如下图(n = 5,k = 2,s = 1)
在这里插入图片描述
综上所述:当取值为SAME时,输出的宽高可用公式 1 + (n - 1) // s 计算。
欢迎提问!

http://www.lryc.cn/news/92512.html

相关文章:

  • Spring Boot集成Redisson布隆过滤器案例
  • 使用 VSCode SSH 公网远程连接本地服务器开发 - cpolar内网穿透
  • portraiture宿主插件最新v4中文版本下载及使用教程
  • 一. ATR技术指标的定义与运用
  • linux find帮助文档
  • 搜索与图论(acwing算法基础)
  • 【数据结构】何为数据结构。
  • 【P57】JMeter 保存响应到文件(Save Responses to a file)
  • Visual Studio 2022 v17.6 正式发布
  • std::chrono时间处理
  • ieda codeformatV2.xml
  • Hbase
  • [golang 微服务] 5. 微服务服务发现介绍,安装以及consul的使用,Consul集群
  • 【数据结构】哈希应用
  • 【 Python 全栈开发 - WEB开发篇 - 31 】where条件查询
  • Android系统的Ashmem匿名共享内存子系统分析(5)- 实现共享的原理
  • 谈一谈冷门的C语言爬虫
  • 基于状态的维护(CBM)如何推动设备效率提高?
  • DC LAB8SDC约束四种时序路径分析
  • 学生考试作弊检测系统 yolov8
  • 【基于容器的部署、扩展和管理】 3.2 基于容器的应用程序部署和升级
  • Jmeter 实现 grpc服务 压测
  • 深入源码分析RecyclerView缓存复用原理
  • 内网隧道代理技术(一)之内网隧道代理概述
  • 设计图形用户界面的原则
  • 1:操作系统导论
  • 什么是微软的 Application Framework?
  • 一个关于宏定义的问题,我和ChatGPT、NewBing、Google Bard、文心一言 居然全军覆没?
  • 【服务器数据恢复】断电导致RAID无法找到存储设备的数据恢复案例
  • Windows上不可或缺的5款宝藏软件,工作效率拉满!