1.定義
參數(shù)數(shù)量(params):關(guān)系到模型大小,單位通常為M,通常參數(shù)用 float32 表示,所以模型大小是參數(shù)數(shù)量的 4 倍
理論計(jì)算量(FLOPs):是 floating point operations 的縮寫(注意 s 小寫),可以用來衡量算法/模型的復(fù)雜度,這關(guān)系到算法速度,大模型的單位通常為 G,小模型單位通常為 M
通常只考慮乘加操作(Multi-Adds)的數(shù)量,而且只考慮 CONV 和 FC 等參數(shù)層的計(jì)算量,忽略 BN 和PReLU 等等。一般情況,CONV 和 FC 層也會(huì) 忽略僅純加操作 的計(jì)算量,如 bias 偏置加和 shotcut 殘差加等,目前技術(shù)有 BN 的 CNN 可以不加 bias
Conv2d 標(biāo)準(zhǔn)卷積層
input:
output:
filters:
params:
FLOPs:
若算上加法:
其中(這需要對(duì)卷積過程有較深的理解),標(biāo)準(zhǔn)的卷積將輸入的N個(gè)channel分成1組,復(fù)用M次
表示在一個(gè)卷積核計(jì)算時(shí)在疊加bias,
乘以表示在輸入的channel方向進(jìn)行乘積,即一組乘積
表示一組卷積之后對(duì)N個(gè)結(jié)果進(jìn)行N-1次加法來疊加結(jié)果
表示最終匯聚成特征圖上的一個(gè)點(diǎn)
乘以表示在最終的輸出特征圖,所有點(diǎn)的的個(gè)數(shù)
FC 全連接層
input:
output:
params:
FLOPs:
Depthwise conv2d
input:
output:
filters:
params:
FLOPs:
輸出Feature map的大小
: size of input feature maps
: size of output feature maps
: padding size
: kernel size
: stride size
感受野計(jì)算
如第一層的RF為3
第二層的RF為5
擴(kuò)展閱讀:
https://www.zhihu.com/question/65305385/answer/649290586