前言:水平有限,如有失严谨或错误处,望指出纠正

不要着急,我们先假设:输入feature maps的通道数、输出的通道数、卷积核尺寸(长和宽一样时)分别为:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

输出的feature maps的大小:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

先看结论,有以下:

  • 基本卷积的参数量(为形式上简洁,不考虑bias):

该捋清!卷积、可分离卷积的参数和FLOPs计算!

  • 基本卷积的计算量(为形式上简洁,不考虑bias:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

  • 可分离卷积的参数量(为形式上简洁,考虑bias:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

  • 可分离卷积的计算量(为形式上简洁,考虑bias:

该捋清!卷积、可分离卷积的参数和FLOPs计算!


看出什么关系、规律了吗?

该捋清!卷积、可分离卷积的参数和FLOPs计算!

一、参数量计算

1、基本卷积参数计算:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

不考虑偏置bias,参数量 = 每个卷积核的参数 * 核的数量(输出的通道数):

该捋清!卷积、可分离卷积的参数和FLOPs计算!

一般情况卷积核长和宽一样时:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

注:如果考虑偏置项,为:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

 

 

2、可分离卷积参数计算:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

(上图源于网络,出处未知,侵删,2333……)

第一部分:对输入的每个通道使用单通道卷积核进行卷积;

输入的通道数(卷积核的个数) * 每个卷积核(通道1)的参数

 

第二部分:使用1x1卷积将输入通道数转变成输出通道数:

输出的通道数(卷积核的个数) * 每个卷积核(通道与输入通道相同)的参数:

 

两部分相加:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

一般情况卷积核长和宽一样时:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

二、FLOPs

 floating point operations,浮点运算数,计算量,衡量模型复杂度。

(注意区分另一个概念FLOPS floating point operations per second,指每秒浮点运算次数)

 

1、普通卷积计算量:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

计算方法 = {计算每个输出特征值(feature map上的一个数)对应的乘法操作数 + 计算每个输出特征值(feature map上的一个数)对应的加法操作数}* 所有特征值的个数

该捋清!卷积、可分离卷积的参数和FLOPs计算!

不考虑偏置项bias,加法操作数有个-1,考虑由于+1与它抵消:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

一般情况卷积核长和宽一样时:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

2、可分离卷积的计算量:

计算方法 = 第一部分(输出通道不变,使用C_in个单通道卷积)计算量 + 第二部分(使用1*1通道卷积)计算量

 

第一部分 = 每个特征点所需乘法加法次数 * 特征点个数

该捋清!卷积、可分离卷积的参数和FLOPs计算!

第二部分 = 每个特征点所需乘法加法次数 * 特征点个数

该捋清!卷积、可分离卷积的参数和FLOPs计算!

一般情况卷积核长和宽一样时:

该捋清!卷积、可分离卷积的参数和FLOPs计算!


公众号近期荐读:

GAN整整6年了!是时候要来捋捋了! 

数百篇GAN论文已下载好!搭配一份生成对抗网络最新综述!

有点夸张、有点扭曲!速览这些GAN如何夸张漫画化人脸!

天降斯雨,于我却无!GAN用于去雨如何?

脸部转正!GAN能否让侧颜杀手、小猪佩奇真容无处遁形?

容颜渐失!GAN来预测?

弱水三千,只取你标!AL(主动学习)结合GAN如何?

异常检测,GAN如何gan ?

虚拟换衣!速览这几篇最新论文咋做的!

脸部妆容迁移!速览几篇用GAN来做的论文

【1】GAN在医学图像上的生成,今如何?

01-GAN公式简明原理之铁甲小宝篇


GAN&CV交流群,无论小白还是大佬,诚挚邀您加入!

一起讨论交流!长按备注【进群】加入:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

更多分享、长按关注本公众号:

该捋清!卷积、可分离卷积的参数和FLOPs计算!

相关文章: