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

443 阅读6分钟

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

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

输出的feature maps的大小:

先看结论,有以下:

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

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

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

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


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

一、参数量计算

1、基本卷积参数计算:

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

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

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

 

 

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

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

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

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

 

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

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

 

两部分相加:

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

二、FLOPs

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

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

 

1、普通卷积计算量:

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

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

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

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

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

 

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

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

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


公众号近期荐读:\

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

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

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

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

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

容颜渐失!GAN来预测?\

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

异常检测,GAN如何gan ?

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

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

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

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


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

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

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