flops什么意思中文_FLOPS的含义及其计算方式

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

34fbe219e6d40b6f8d1ca22e6d22056f.png

2. BatchNorm

3. ReLu

4. Linear

5. Upsample

6. Poolings

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

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

而#Parameters和图像大小无关

3. 计算FLOPs的代码或包

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

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

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

示例代码(以VGG16为例):


版权声明:本文为weixin_29331689原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。