深度学习中的FLOPs补充

news2024/9/26 1:15:14

 学习了博主的介绍(深度学习中的FLOPs介绍及计算(注意区分FLOPS)-CSDN博客)后,对我不理解的内容做了一点补充。 链接放到下边啦

https://blog.csdn.net/qq_41834400/article/details/120283103


FLOPs:注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。

1 全连接网络中FLOPs的计算 博主说的很详细了就不介绍了

2 解释一下CNN中FLOPs的计算中 我不理解的地方

生成输出特征图的一个通道的 一个像素点的计算过程

        对于每个输入通道,我们有K*K次乘法 和 K^2 - 1次加法。因此,单个输入通道的计算次数为:K^2次乘法+K^2 - 1次加法

注意K^2 - 1是卷积核和输入特征图对应元素相乘后 得到的K*K个数,把他们 对应相加的过程!!!!!!

总共的计算次数为:2K^2 - 1

所有输入通道的计算次数

对于所有C_{in} 个输入通道,还需要将所有通道的结果相加形成输出的一个通道的特征图。因此,每个输出像素点需要额外的 C_{in}-1次加法。因此,总的计算次数为:

C_{in} \times (2K^2 - 1) + (C_{in} - 1) = C_{in} \times 2K^2 - C_{in} + C_{in} - 1 = 2C_{in} \times K^2 - 1

也就是博主提到的下边这个过程

若考虑到偏置,可以看看卷积操作中,偏置是怎么起作用的,参考这个博主的

https://blog.csdn.net/qq_42103167/article/details/105056598?spm=1001.2014.3001.5506

(每个卷积核是和输入特征图的通道是一样的!!!)偏置是在输出特征图的每个像素点的卷积操作完成后(比如三通道,三次卷积操作后),加上的。所以一次卷积操作偏置加1。

整个输出特征图的计算次数

(2C_{in} \times K^2 - 1) \times H \times W

所有输出通道的计算次数

由于有 C_{out}个输出通道,因此总的计算次数为:(2C_{in} \times K^2 - 1) \times H \times W \times C_{out}

卷积层FLOPs的计算公式如下(不考虑bias时有-1,有bias时没有-1):

\text{FLOPs} = (2C_{in} \times K^2 - 1) \times H \times W \times C_{out}

感觉博主推荐的链接也不错 ,有空看看

(60 封私信 / 82 条消息) CNN 模型所需的计算力(flops)和参数(parameters)数量是怎么计算的? - 知乎 (zhihu.com)

分享一个FLOPs计算神器 - 简书 (jianshu.com)

我们可以发现,具有相似的FLOPs的网络,执行的速度却不一样。有的相差还挺大。
使用FLOP作为计算复杂度的唯一指标是不充分的。

为什么不能只用FLOPs作为指标呢?
作者认为有如下几个原因:

  1. FLOPs没有考虑几个对速度有相当大影响的重要因素。 2)计算平台的不同。

  2. FLOPs没有考虑几个对速度有相当大影响的重要因素
    MAC和并行度

链接:https://www.jianshu.com/p/b1ceaa7effa8
 

CNN解说员 (poloclub.github.io)

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

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

相关文章

AH3-3 10s AC220V时间继电器 面板安装 约瑟JOSEF

时间继电器 AH3-3 AH3-2 AH3-1 AH3系电子式时间继电器具有体积小、重量轻、延时精度高、延时范围宽、可靠性好、寿命长等特点,产品符合国际标准,最适合在各种高精度、高可靠性自动控制场合作延时控制之用. 型号:AH3-3 外型尺寸&#xff1a…

【Quart 框架——来源于Flask的强大且灵活的异步Web框架】

目录 前言一、Quart简介1-1、简介1-2、与flask的区别 二、快速开始2-1、安装2-2、基本用法 三、核心功能3-1、异步路由3-2、WebSockets 支持3-3、中间件3-4、蓝图 (Blueprints) 四、部署4-1、使用uvicorn部署4-2、使用hypercorn部署 五、案例分析总结 前言 Quart 是一个基于 Py…

​Chrome 插件: GoFullPage 一键搞定全网页截图

在互联网时代,网页截图已成为我们日常工作和生活中不可或缺的部分。无论是保存重要信息、制作教程,还是分享有趣的内容,截图功能都显得尤为重要。然而,常规的截图工具往往只能截取当前屏幕的内容,对于长网页则显得力不…

2024 辽宁省大学数学建模竞赛C 题 改性生物碳对水中洛克沙胂和砷离子的吸附 完整思路 代码结果分享(仅供学习)

目前全球水体砷污染问题严重,极大地危害了人类的健康。砷在水体中主要以砷离子[AS(V)]和洛克沙胂(ROX)两种形式存在。改性生物碳具有优秀的吸附性能,可用于砷污染的处理。改性生物碳表面的官能团可以通过静电吸引、配位作用或络合作用与 AS(V)和 ROX 结合…

离线下载linux mysql和mysql基本库

下载地址:https://dev.mysql.com/downloads/mysql/ 选择数据库版本,系统,系统版本信息 下载需要的rpm包,传入服务器,使用yum install xxx.rpm安装即可 mysql-community下载地址 https://dev.mysql.com/downloads/my…

SpringCloud教程 | 第七篇: 使用Nacos管理服务

1、先开发了一个生产者,启动了一个服务, 代码参考:https://github.com/veminhe/nacos.git 2、然后复制了该生产者,改了一下端口,启动成了另外一个服务 3、然后开发了一个消费者,里面使用了feign调用生产者…

Windows安装mamba全流程(全网最稳定最成功)

windows系统下安装mamba会遇到各种各样的问题。博主试了好几天,把能踩的坑都踩了,总结出了在windows下安装mamba的一套方法,已经给实验室的windows服务器都装上了。只要跟着我的流程走下来,大概率不会出问题,如果遇到其…

初阶数据结构—排序

第一章:排序的概念及其运用 1.1 排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有…

负载均衡-轮询-两种简易实现

1、描述 下游可用的服务器目前有5个(node),设计一个方法,方法没有任何参数,采用轮询的方式返回其中一个node; 2、使用环形链表 每次取下一个node即可。注意:需要保证线程安全! // …

Android焦点之SurfaceFlinger传递给InputFinger

接下来就到了SurfaceFlinger端,内调ISurfaceComposer的setTransactionState() SurfaceFlinger::setTransactionState:这里是一个BpBn操作,进程surfaceflinger的binder线程,主要是调用到SurfaceFlinger.cpp的setTransactionState()。 在每次…

Binder驱动中的流程详解

1.前言 作为安卓系统中重要的IPC通信机制,Binder通信使得组件之间的通信更加的高效和灵活。但在实现上,Binder通信横跨了整个Android系统架构,从应用层到frameworks,再到native,最后到底层kernel,这使得Bin…

深度学习工具和资源推荐:全面指南

今天我们来聊聊深度学习的工具和资源。要学好深度学习,除了理论知识,还需要掌握一些强大的工具和找到好的资源。以下是我在学习过程中发现的一些非常有用的工具和资源,希望对你们有帮助。 目录 工具推荐 1. Python编程语言 2. TensorFlow…

前端Vue组件化实践:打造灵活可维护的地址管理组件

随着前端技术的不断演进,复杂度和开发难度也随之上升。传统的一体化开发模式使得每次小小的修改或功能增加都可能牵一发而动全身,严重影响了开发效率和维护成本。组件化开发作为一种解决方案,通过模块化、独立化的开发方式,实现了…

zigbee开发工具:3、驱动安装与程序下载(更新中...)

zigbee开发工具前两篇讲解了IAR开发工具的安装与注册,还介绍了新建一个cc2530开发工程的建立与配置。在进行zigbee开发,代码编写编译好后还需要下载到zigbee节点设备上进行调试与验证,那么就需要安装SmartRF Flash Programmer软件 和仿真器等…

【Android面试八股文】谈谈你对Glide框架的缓存机制设计的理解

文章目录 一、引入缓存的目的二、Glide缓存流程2.1 Glide缓存的读取顺序2.2 Glide加载资源流程2.3 Glide 的缓存分层结构三、内存缓存原理四、存取原理4.1 取数据4.2 存数据4.3 为什么要引入软引用?五、磁盘缓存原理(DiskLruCache)5.1 磁盘缓存概述5.2 Glide磁盘缓存策略5.3…

昆明高校大学智能制造实验室数字孪生可视化系统平台建设项目验收

昆明高校大学智能制造实验室的数字孪生可视化系统平台建设项目,正是在这样的背景下应运而生。项目自启动以来,便受到了校方的高度重视和大力支持。经过数月的紧张筹备和精心实施,项目团队克服了种种技术难题,成功完成了系统的开发…

华为模拟器防火墙配置实验(二)

一.实验拓扑 二.实验要求 1,DMZ区内的服务器,办公区仅能在办公时间内(9:00 - 18:00)可以访问,生产区的设备全天可以访问. 2,生产区不允许访问互联网,办公区和游客区允许…

AI绘画;盘点用stable diffusion 赚钱的10种方式!

前言 stable diffusion 是一种基于文本生成图像的深度学习模型,它可以根据任何文本输入生成逼真的图像。它利用了 CLIP ViT-L/14 文本编码器的文本嵌入和扩散模型的潜在变量,实现了高质量的图像合成。 stable diffusion 可以用于赚钱的10种方式及思路如…

论文精读(保姆级解析)——DiFaReli: Diffusion Face Relighting

前言 该论文发表在2023年ICCV上,主要针对人像重打光问题提出了一种新的方法,下面给出论文和项目链接: papergithub 摘要 提出了一种针对单张图像的重打光方法,作者提到针对非漫反射光照的处理比较困难,早期的工作主要…

三星AI产品发布会精彩回顾

2024年7月10日,三星在其新品发布会上,重磅发布了一系列围绕AI技术的创新产品。此次发布会不仅展示了三星在AI领域的深耕和探索,还在硬件设计、用户体验和生态系统构建上全面对标苹果。本文将详细回顾此次发布会的内容,解析三星如何…