CNN卷积参数量计算

news2024/10/7 7:12:03

参考:轻量级网络-Mobilenet系列(v1,v2,v3) - 知乎

盘点下每种类型的层计算可学习参数的数量

Input layer:输入层所做的只是读取输入图像,因此这里没有可以学习的参数。

Convolutional layers:一个卷积层,其输入为l个特征图,输出为k个特征图,过滤器尺寸为n*m。如下举例:

输入有l=32个特征图作为输入,k=64个特征图作为输出,滤波器大小为n=3,m=3,它是一个3*3*32的过滤器,因为我们的输入有32个维度。我们学习64个不同的3*3*32过滤器。因此权重的总数是n*m*l*k。然后,每个特征图也有一个偏置项,所以我们的参数总数为(n*m*l+1)*k。

Pooling layers:池化层,例如执行以下操作:用最大值替换2*2邻域。因此,无须在池化层中学习任何参数。

Fully-connected layers:在全连接层中,所有输入单元对每个输出单元都有一个单独的权重。对于n个输入和m个输出,权重数为n*m。此外,对每个输出节点都有一个偏差,因此有(n+1)*m个参数。

Output layer:输出层是一个普通的全连接层,所以有(n+1)*m个参数,其中n是输入的数量,m是输出的数量。

使用LeNet举例计算:

输入

Filter

Stride

Padding

输出

参数量计算公式

参数量

Input

32*32*1

32*32*1

0

Conv1

32*32*1

5*5*6

1

0

28*28*6

(5*5*1+1)*6

156

Maxpool1

28*28*6

2*2

2

0

14*14*6

0

Conv2

14*14*6

5*5*16

1

0

10*10*16

(5*5*6+1)*16

2416

Maxpool2

10*10*16

2*2

2

0

5*5*16

0

FC1

5*5*16

120

(5*5*16+1)*120

48120

FC2

120

84

(120+1)*84

10164

FC3

84

10

(84+1)*10

850

所以总的参数量为:156+2416+48120+10164+850=61706个

深度可分离卷积:

普通卷积层的特征提取与特征组合一次完成并输出,而深度可分离卷积先用厚度为1的3*3的卷积核(depthwise分层卷积),再用1*1的卷积核(pointwise卷积)调整通道数,将特征提取与特征组合分开进行。深度可分离卷积可大大减少模型的参数,其具体结构如下:

对比举例:

假设某一网络卷积层,其卷积核大小为3*3,输入通道为16,输出通道为32。

常规CNN的参数量为:(3*3*16+1)*32=4640个。

深度可分离卷积参数量计算:

先用16个大小为3*3的卷积核(3*3*1)作用于16个通道的输入图像,得到了16个特征图。在做融合操作之前,接着用32个大小为1*1的卷积核(1*1*16)遍历上述得到16个特征图。则参数量为:(3*3*1+1)*16+(1*1*16+1)*32=706个。

在进行depthwise卷积时只使用了一种维度为in_channels的卷积核进行特征提取(没有进行特征组合);在进行pointwise卷积时只使用了output_channels种维度为in_channles*1*1的卷积核进行特征组合。

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

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

相关文章

cassandra安装及配置

Cassandra介绍 Cassandra是一个开源的、分布式、无中心节点、弹性可扩展、高可用、容错、一致性协调、面向列的NoSQL数据库。 Cassandra的主要组成部分主要有: • 节点(Node):Cassandra节点是存储数据的地方。 • 数据中心(Data center):数据中心是相关节点的集合。 • 集群…

Vue3 企业级优雅实战 - 组件库框架 - 8 搭建组件库 cli

前面的文章分享了组件库的开发、example、组件库文档,本文分享组件库 cli 开发。 1 为什么要开发组件库 cli 回顾一个新组件的完整开发步骤: 1 在 packages 目录下创建组件目录 xxx: 1.1 使用 pnpm 初始化 package.json,修改 n…

【正点原子FPGA连载】第二十八章 以太网ARP测试实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第二十八章 以太…

(十七) 共享模型之工具【JUC】【读写锁】

一、ReentrantReadWriteLock(P247) 当读操作远远高于写操作时,这时候使用 【读写锁】让 【读-读】可以并发,提高性能。 类似于数据库中的 select ... from ... lock in share mode 提供一个 数据容器类内部分别使用读锁保护数据的…

【论文阅读 CIKM‘2021】Learning Multiple Intent Representations for Search Queries

文章目录Original PaperMotivationMethodTask Description and Problem FormulationNMIR Framework: A High-Level OverviewModel Implementation and TrainingDataOriginal Paper Learning Multiple Intent Representations for Search Queries More related papers can be …

基于Electron的桌面端应用开发和实践

引言 如果开发跨桌面端的应用开发的话,我相信,electron目前绝对是不可避免的技术方案。web应用大家都知道,通过浏览器访问的应用就是web应用,那什么是桌面端?桌面端有两个重要特点: 具备独立运行于操作系…

学习压力容器中卡箍快开结构的强度计算

导读:压力容器的设计一定要考虑安全性、经济性、环保及健康问题。首先安全是核心问题,在保证安全的前提下尽可能的再做到经济合理。 本文从强度计算软件SW6-2011 V3.1补丁二(单机版)和(网络版)所解决的问题&#xff0…

Redis 性能问题优化方案

Redis性能问题&优化方案前言Redis真的变慢了吗?使用复杂度过高的命令操作bigkey集中过期实例内存达到上限fork耗时严重开启内存大页开启AOF绑定CPU使用Swap碎片整理网络带宽过载其他原因频繁短连接运维监控其它程序争抢资源总结前言 Redis 作为优秀的内存数据库…

Java高效率复习-MySQL上篇[MySQL]

前言 本文章是用于总结尚硅谷MySQL教学视频的记录文章,主要用于复习,非商用 原视频连接:https://www.bilibili.com/video/BV1iq4y1u7vj/?p21&spm_id_frompageDriver&vd_sourcec4ecde834521bad789baa9ee29af1f6c https://www.bilib…

Spring Boot 项目优化和 JVM 调优,亲测!真实有效。。

三、Jvm调优实战 1、未设置JVM参数的情况 我现在有一个项目,默认情况下,没有设置任何Jvm参数。 下面我来启动看一下。 看一下堆栈分配: 很明显默认的最大堆内存分配了8个G。很明显的不合理嘛。 2、下面我们来设置下Jvm参数 例如要配置JVM…

vue2 ElementUI 表单标签、表格表头添加问号图标提示

文章目录1. 问题背景2. element-ui悬浮提示定义3. 基础4. 延申5. 参考1. 问题背景 使用element-ui有时候需要对表格的表头、表单的标签进行自定义,添加问号的悬浮提示。 要达到的效果,如图所示: 2. element-ui悬浮提示定义 https://elemen…

【菜菜的sklearn课堂笔记】聚类算法Kmeans-基于轮廓系数来选择n_clusters

视频作者:菜菜TsaiTsai 链接:【技术干货】菜菜的机器学习sklearn【全85集】Python进阶_哔哩哔哩_bilibili 我们通常会绘制轮廓系数分布图和聚类后的数据分布图来选择我们的最佳n_clusters from sklearn.metrics import silhouette_samples,silhouette_s…

c++还原简单的vector

文章目录vectorvecotor的介绍vector的模拟实现类的框架成员变量迭代器构造函数析构函数size()capacity()operator[]重载扩容resize()尾插验证是否为空尾删clear 清除swap交换insert插入erase删除迭代器区间初始化构造函数拷贝构造赋值运算符重载n个val构造函数再谈构造函数vect…

数仓日记 - 数仓理论

寒刃尽断处,吾心作剑霜作锋🏂 目录 一、数仓简介 二、关系建模与维度建模 1. 关系建模   2. 维度建模    • 三种模型    • 事实表    • 维度表   3. 事实表的分类    • 事务型事实表    • 周期型快照事实表    • 累积型快照事实表…

Python操作Excel表格

本文介绍如何通过轻量级、零依赖(仅使用标准库)的 pylightxl 库操作Excel表格。 官网:Welcome to pylightxl documentation — pylightxl 2019 documentation 目录 一、入门 1. 读写CSV文件 2. 读Excel文件 3. 获取工作表和单元格数据 3…

前端css实现特殊日期网页变灰功能

前端变灰效果在网页实际使用过程中使用的比较少,但有时候又缺一不可,一般在大型哀悼日或纪念日的时候使用,使用后的网站页面会变成灰色(黑白色)。 我们先看下各大网站是怎么实现的: 1.csdn实现方式 2.淘宝 3.人民网 4.京东 5.掘…

Unity【Multiplayer 多人在线】服务端、客户端通用架构的使用指南

文章目录🚩 Import🚀 protogen使用方法🪐 客户端接口🌈 服务端接口🧭 数据处理🎨 Example🚩 Import 下载SKFramework框架,导入到Unity中; 在框架Package Manager中搜索并…

osgEarth示例分析——osgearth_colorfilter

前言 osgearth_colorfilter颜色过滤器示例。本示例中,主要展示了6种颜色过滤器的使用,分别是:HSLColorFilter、RGBColorFilter、CMYKColorFilter、BrightnessContrastColorFilter、GammaColorFilter、ChromaKeyColorFilter。 执行命令 // 一条命令是一…

Docker日常运维小技巧

一、故障定位 1、查看容器内部 https 请求响应时间 docker exec -t $(docker ps -f nameblog_web -q) curl -H X-Forwarded-Proto:https \-w %{time_total} -o /dev/null -s localhost 2、查看容器日志 docker logs --tail 50 --follow --timestamps mediawiki_web_1 3、删…

深圳SMT贴片行业MES系统解决方案~MES系统服务商~先达智控

随着我国工业的迅速发展,所有电子行业都离不开SMT贴片生产,SMT贴片生产是电子行业的至关重要的一道工业环节,我国作为一个工业制造大国,有着完备的SMT现代产业体系。SMT贴片领域是我国支柱性产业其一,SMT贴片产品涵盖工…