動手記錄模型:mobilenetv1

輕量級網絡:mobilenetv1

神經網絡在實際應用的問題

  1. 可解釋性差(黑盒子)
  2. 沒法微調(百分之99%,剩餘的百分之1%沒法更改)
  3. 內存和CPU使用較高

解決內存CPU高

  • 二值化網絡(Binary)
  • 輕量級網絡
  1. Mobilenets
  2. Shufflenet
  3. EffNet

mobilenetv1

論文
github

亮點

  • Depthwise separable convolution(輸入通道獨立卷積)

在這裏插入圖片描述


在這裏插入圖片描述


在這裏插入圖片描述

詳解

普通卷積

輸出層數 10層:
在這裏插入圖片描述
需要5*5*3 * 10

分離卷積

輸出層10層
在這裏插入圖片描述


在這裏插入圖片描述
1*1*3 * 10

計算量比較

  • 輸出圖像12*12*3
  • 輸出圖像8*8*256

Convolution
卷積核大小 5*5*3 256個
數據量:5*5*3*256 =19200
計算量:8*8*5*5*3*256 =1228800
`

  • 輸出端的每個點 8*8
  • 輸出端的層數 256
  • 每個點做的卷積運算(這裏只算了乘法) 5*5*3
    `

Depthwise separable convolution
第一步:卷積核大小 5*5*1. 3個
第二步:卷積核大小 1*1*3. 256個
數據量:5*5*1*3 + 1*1*3*256 = 843
計算量:5*5*1*3*8*8+8*8*1*1*3*256 = 53952


計算量對比公式

551388+8811325688553256\frac{5*5*1*3*8*8+8*8*1*1*3*256}{8*8*5*5*3*256}

1256+155\frac{1}{256}+\frac{1}{5*5}
在這裏插入圖片描述

網絡塊

在這裏插入圖片描述

網絡結構

在這裏插入圖片描述

第一層使用普通卷積

網絡效果

參見論文

代碼實現

pytorch

tensorflow

caffe

注意

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章