机器学习笔记:FLOPs
1?FLOPS與FLOPs
FLOPS:floating point operations per second的縮寫(xiě),意指每秒浮點(diǎn)運(yùn)算次數(shù),理解為計(jì)算速度。是一個(gè)衡量硬件性能的指標(biāo)。
FLOPs:注意s小寫(xiě),是floating point operations的縮寫(xiě)(s表復(fù)數(shù)),意指浮點(diǎn)運(yùn)算數(shù),理解為計(jì)算量??梢杂脕?lái)衡量算法/模型的復(fù)雜度。
2 卷積的FLOPs
?結(jié)論:卷積層的計(jì)算能力(FLOPs)等于上圖中兩個(gè)立方體(綠色和橙色)體積的乘積(V1*V2)
卷積層 wx + b 需要計(jì)算兩部分
1)首先考慮前半部分 wx 的計(jì)算量:
令 :
- k 表示卷積核大小;
- c 表示輸入 的channel的數(shù)量
那么對(duì)于輸出的一個(gè)單元格來(lái)說(shuō),他需要進(jìn)行k*k*c次乘法。每個(gè)懲罰結(jié)果相加,得到一個(gè)數(shù)值,這個(gè)就是加法的數(shù)量,k*k*c-1次
那么一共有H*W(輸出每一個(gè)channel的長(zhǎng)度和寬度),輸出有o個(gè)channel,那么輸出的單元格總數(shù)為H*W*o
所以,計(jì)算wx的時(shí)候,需要
k*k*c*H*W*o次乘法和(k*k*c-1)*H*W*o次加法
2)在考慮偏差項(xiàng)b包含的計(jì)算量
輸出的每一個(gè)單元格上做一個(gè)加法操作,所以,計(jì)算偏差項(xiàng)的時(shí)候需要
H*W*o次加法
所以綜合考慮,我們需要
k*k*c*H*W*o次加法和k*k*c*H*W*o次乘法
令一次加法和一次乘法表示一個(gè)FLOP,那么這個(gè)卷積層的FLOPs為k*k*c*H*W*o
?
總結(jié)
以上是生活随笔為你收集整理的机器学习笔记:FLOPs的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 机器学习笔记:非负矩阵分解问题 NMF
- 下一篇: 论文笔记:Integrating Cla