神经网络模型的参数量和FlOPS
创始人
2024-05-09 21:27:19
0

一、FLOPS、FLOPs和GFLOPs的概念


FLOPS:注意S是大写,是 “每秒所执行的浮点运算次数”(floating-point operations per second)的缩写。它常被用来估算电脑的执行效能,尤其是在使用到大量浮点运算的科学计算领域中。正因为FLOPS字尾的那个S,代表秒,而不是复数,所以不能省略掉。
FLOPs:注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。
GFLOPs:一个GFLOPs等于每秒十亿(=10^9)次的浮点运算。

1.卷积层

参数量:

params = C_in×(C_out×K×K +1)
其中,Co代表输入的通道数,Ci代表输出的通道数,K为卷积核的大小,若卷积核有偏置项(Bias)则+1.

flops:
FLOPs = [C_in×K×K+(C_in×K×K-1) +1]×W×H×C_out
其中C_in×K×K为一次卷积的乘法预算的计算量,C_in×K×K-1为一次卷积加法运算的计算量,+1为偏置项,W与H为特征图(feture map)的长和宽。
可简化为:
FLOPs = 2×C_in×K×K×W×H×C_out
计算机视觉中常把一次乘法和加法合在一起,所以可以去掉前面乘的2。

2.池化层

参数量:

        深度学习中,参数量一般是指随着训练可以不断进行自我调节大小的参数的数量。而池化层主要是用来采样,例如:最大池化,取一个filter中的最大值。所以池化层可以不用算参数量。

flops:

3.全连接层

参数量
params = (dim_{_{in}}+1)\times dim_{out}
flops:
FLOPs =N\times [dim_{in}+(dim_{in}-1)+1]\times dim_{out}=2\times dim_{in}\times dim_{out}
乘法次数为dim_{in},加法次数为dim_{in}-1,+1为加上一个偏置项,输入矩阵维度为N\times dim_{in} 

计算机视觉中常把一次乘法和加法合在一起,所以可以去掉前面乘的2。

4.BN层

Flops 

计算机视觉中常把一次乘法和加法合在一起,所以可以去掉前面乘的2。

 5.Transformer

transformer的Flops为:

对q,k,v的全连接层:N*dim*dim*3。N为token数(N=H*W)。

q,k点乘:num_heads * N * (dim // num_heads) * N

再点乘v:num_heads * N * N * (dim // num_heads)

FFN层:2 * N * dim * dim * self.mlp_ratio

6.LayerNorm

        elementwise_affine如果设为False,则LayerNorm层不含有任何可学习参数。如果设为True(默认是True)则会包含可学习参数weight和bias,用于仿射变换,即对输入数据归一化到均值0方差1后,乘以weight,即bias。

由于LayerNorm默认在dim最后一维进行归一化,因此,参数量为N*2,N表示token数(N=H*W)

 FLOPS:和BN的原理一样,进行一次乘法一次加法,因此,计算量为2*N*dim(N=H*W),计算机视觉中常把一次乘法和加法合在一起,所以可以去掉前面乘的2。

 

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...