前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FLOPS的含义及其计算方式

FLOPS的含义及其计算方式

作者头像
狼啸风云
修改2022-09-02 19:58:15
4.8K0
修改2022-09-02 19:58:15
举报
文章被收录于专栏:计算机视觉理论及其实现

1. 深度学习框架FLOPs的概念

Floating point operations

即:浮点运算数量

Paper里比较流行的单位是GFLOPs

1 GFLOPs = 10^9 FLOPs

即:10亿次浮点运算

2. 深度学习框架FLOPs的组成

1. 卷积运算Conv

用以下动图中直观的解释:

Image大小为 5x5

卷积核大小为 3x3

那么一次3x3的卷积(求右图矩阵一个元素的值)所需运算量:(3x3)个乘法+(3x3-1)个加法 = 17

要得到右图convolved feature (3x3的大小):17x9 = 153

2. BatchNorm

3. ReLu

4. Linear

5. Upsample

6. Poolings

其中,Conv所占的比重通常是最大的

此外,它和输入图像的大小也有关系

而#Parameters和图像大小无关

3. 计算FLOPs的代码或包

因为无人驾驶车载板子对模型复杂度有要求

今天在Github上找了一下午代码(基于Pytorch)

终于找到一个既傻瓜又好用的!!!

示例代码(以VGG16为例):

可以看到

算上import 和 print()也仅仅6行代码!

不仅输出了整个框架的复杂度

Flops: 15.5 x 10^9 次浮点运算 Params: 138.36 百万个参数

4. 常用框架的复杂度

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2. 深度学习框架FLOPs的组成
  • 3. 计算FLOPs的代码或包
  • 终于找到一个既傻瓜又好用的!!!
  • 4. 常用框架的复杂度
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档