深度学习_深度学习基础知识_FLOPs及相关概念详解
FLOPS(全大写) :是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。
FLOPs(s小写) :是floating point operations的缩写(s表示复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。
我们来计算一个卷积的FLPOs:
卷积层(不考虑**函数):
其中是输入特征的通道数,是卷积核尺寸,是输出特征的尺寸,是输出特征的通道数。
2是因为一个MAC(加乘运算)算2个operation。
不考虑bias时有-1,考虑时没有-1。
公式理解:
括号内是计算出输出特征的一个pixel,然后再乘以输出特征的尺寸和宽度,从而扩展到整个特征图的计算量。
括号内的运算可以分成两部分,,第一部分是乘法运算数,第二项是加法运算数,因为n个数相加,要加n-1次,所以如果不考虑bias的话,会有一个-1,如果考虑的话,就没有-1了。
我们再来计算一下全连接层的FLPOs:
卷连接层:
其中I是输入神经元数量,O是输出神经元数量。
2是因为一个MAC算2个operation。
不考虑bias时有-1,考虑时没有-1。