1.区分FLOPs和FLOPS

FLOPS:注意全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。

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

注意在深度学习中,我们用的是FLOPs,也就是说计算量,即用来衡量算法/模型的复杂度。

2.计算方法

注:以下不考虑activation function的运算。

2.1 卷积层:

Ci=input channel,

k=kernel size,

H,W=output feature map size,

Co=output channel.

2是因为一个MAC算2个operations。不考虑bias时有-1,有bias时没有-1。

注:这里的MAC是乘加的意思,所以是两个operation

上面针对一个input feature map,没考虑batch size。

理解上面这个公式分两步,括号内是第一步,计算出output feature map的一个pixel,然后再乘以HWCo拓展到整个output feature map。括号内的部分又可以分为两步,

第一项是乘法运算数,第二项是加法运算数,因为n个数相加,要加n-1次,所以不考虑bias,会有一个-1,如果考虑bias,刚好中和掉,括号内变为 

2.2 全联接层:

I=input neuron numbers, O=output neuron numbers.

2是因为一个MAC算2个operations。

不考虑bias时有-1,有bias时没有-1。

分析同理,括号内是一个输出神经元的计算量,拓展到O了输出神经元。

参考:https://www.zhihu.com/question/65305385/answer/451060549

深度学习中的FLOPs是什么?如何计算的?相关推荐

  1. 【深度学习】深度学习中模型计算量(FLOPs)和参数量(Params)等的理解以及四种在python应用的计算方法总结

    接下来要分别概述以下内容: 1 首先什么是参数量,什么是计算量 2 如何计算 参数量,如何统计 计算量 3 换算参数量,把他换算成我们常用的单位,比如:mb 4 对于各个经典网络,论述他们是计算量大还 ...

  2. 深度学习中FLOPs计算

    深度学习中FLOPs计算 定义:FLOPs(floating point operations),即浮点数运算次数,是一个计算量,所以可以用来衡量一个算法/模型等的复杂度 FLOPs是用来计算整个网络 ...

  3. 深度学习中FLOPS和FLOPs的区别与计算

    深度学习中FLOPS和FLOPs的区别与计算 FLOPS FLOPs 单位换算 Params和FLOPs的计算 CONV标准卷积层 FC全连接层 NVIDIA GPU的浮点计算能力 GPU的计算能力的 ...

  4. 经验 | 深度学习中从基础综述、论文笔记到工程经验、训练技巧

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:本文授权转自知乎作者跑者小越,https://zhuanla ...

  5. 深度学习中GPU和显存分析

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自:机器学习AI算法工程 深度学习最吃机器,耗资源,在本文,我将 ...

  6. 深度学习中的Normalization模型(附实例公式)

    来源:运筹OR帷幄 本文约14000字,建议阅读20分钟. 本文以非常宏大和透彻的视角分析了深度学习中的多种Normalization模型,从一个新的数学视角分析了BN算法为什么有效. [ 导读 ]不 ...

  7. 科普帖:深度学习中GPU和显存分析

    深度学习最吃机器,耗资源,在本文,我将来科普一下在深度学习中: 何为"资源" 不同操作都耗费什么资源 如何充分的利用有限的资源 如何合理选择显卡 并纠正几个误区: 显存和GPU等价 ...

  8. 全民 Transformer (一): Attention 在深度学习中是如何发挥作用的

    <Attention 在深度学习中是如何发挥作用的:理解序列模型中的 Attention>    Transformer 的出现让 Deep Learning 出现了大一统的局面.Tran ...

  9. [转载] python实现语义分割_使用Keras实现深度学习中的一些语义分割模型

    参考链接: Keras中的深度学习-数据预处理 Keras-Sematic-Segmentation 使用Keras实现深度学习中的一些语义分割模型. 配置 tensorflow 1.13.1+ten ...

最新文章

  1. [翻译]通过调用多个动作创建ASP.NET MVC视图
  2. 你和阿里资深架构师之间,差的不仅仅是年龄(进阶必看)
  3. keras 微调整模型_如何围绕微服务调整团队
  4. Visual Studio下的 JS CSS 压缩和编辑插件
  5. android实例教程_Android内部存储示例教程
  6. 数据库服务器型号类型,数据库服务器型号
  7. 缅怀:腾讯游戏毛星云(浅墨)突然离世
  8. 电脑端思维导图软件推荐
  9. 批处理修改网关和dns服务器,[转载]使用批处理自动修改IP地址网关和DNS
  10. 安卓火狐浏览器wifi远程调试没有扫描二维码应用的问题
  11. ROSBridge简介以及理解使用
  12. 基于LDC1614 1612的电感式位移传感器
  13. CentOS7像外部163邮箱发送邮件
  14. 一周学python系列(7)——面向对象
  15. 一个体育生的编程之路(一)
  16. 传智播客成都java培训中心7月8号基础班开班啦
  17. sklearn:sklearn.preprocessing.StandardScaler函数的fit_transform、transform、inverse_transform简介、使用方法之详细攻略
  18. ARCore---测量
  19. source insight代码自动对齐
  20. 苏宁大造818发烧节,玩得是哪招?

热门文章

  1. 用ZB生成高度图(Height Map)教程
  2. web前端开发技术实验与实践(第三版)储久良编著 课外拓展训练1.2 设计彩色页面
  3. C# 制作简易计算器
  4. 人脸识别,原来有这么一个大漏洞!
  5. matlab bar中画显著性水平线,科学网—简析条形图(bar plot)上的误差线 - 于淼的博文...
  6. PHP程序员要掌握哪些技术
  7. 歪国牛人打造巨型机械手臂,简直酷毙了!
  8. 【干货分享】让你薪资翻20倍的神器网站 大学生与职场人建议收藏
  9. 1148. 【克罗地亚】INSTRUKCIJE
  10. opencv滤镜-去色滤镜