經典CNN模型計算量與內存需求分析
表1 CNN經典模型的內存,計算量和參數數量對比
|
AlexNet |
VGG16 |
Inception-v3 |
模型內存(MB) |
>200 |
>500 |
90-100 |
參數(百萬) |
60 |
138 |
23.2 |
計算量(百萬) |
720 |
15300 |
5000 |
1. CNN模型具體分析(以AlexNet網絡模型為例)
1.1 網絡結構
圖1 AlexNet網絡結構
AlexNet有5個卷積層和3個全連接層
C1:96×11×11×3 (卷積核個數/寬/高/深度) 34848個
C2:256×5×5×48(卷積核個數/寬/高/深度) 307200個
C3:384×3×3×256(卷積核個數/寬/高/深度) 884736個
C4:384×3×3×192(卷積核個數/寬/高/深度) 663552個
C5:256×3×3×192(卷積核個數/寬/高/深度) 442368個
R1:4096×6×6×256(卷積核個數/寬/高/深度) 37748736個
R2:4096×4096 16777216個
R3:4096×1000 4096000個
共6000萬個參數
1.2 AlexNet模型內存大小計算
6000萬(個參數)×32位(float32)=19.2億位≈228.88MB
1.3 AlexNet模型計算力消耗
圖2 AlexNet模型每層每秒浮點運算次數及參數數量
1.4 AlexNet網絡模型配置
AlexNet網絡模型獲得了2012年ImageNet比賽的冠軍。AlexNet使用兩塊GTX580顯卡進行訓練,兩塊GPU各訓練網絡的一部分,在第二個卷積層和全連接層兩塊GPU之間才進行互相通信。
經典CNN模型計算量與內存需求分析