轻量级网络:mobilenetv1

神经网络在实际应用的问题

  1. 可解释性差(黑盒子)
  2. 没法微调(百分之99%,剩余的百分之1%没法更改)
  3. 内存和CPU使用较高

解决内存CPU高

  • 二值化网络(Binary)
  • 轻量级网络
  1. Mobilenets
  2. Shufflenet
  3. EffNet

mobilenetv1

论文
github

亮点

  • Depthwise separable convolution(输入通道独立卷积)

动手记录模型:mobilenetv1


动手记录模型:mobilenetv1


动手记录模型:mobilenetv1

详解

普通卷积

输出层数 10层:
动手记录模型:mobilenetv1
需要5*5*3 * 10

分离卷积

输出层10层
动手记录模型:mobilenetv1


动手记录模型:mobilenetv1
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}
动手记录模型:mobilenetv1

网络块

动手记录模型:mobilenetv1

网络结构

动手记录模型:mobilenetv1

第一层使用普通卷积

网络效果

参见论文

代码实现

pytorch

tensorflow

caffe

注意

相关文章:

  • 2021-12-31
  • 2021-12-11
  • 2021-10-02
  • 2021-08-22
  • 2022-12-23
  • 2021-05-03
  • 2021-10-07
猜你喜欢
  • 2021-04-16
  • 2021-11-30
  • 2021-07-12
  • 2021-11-10
  • 2022-12-23
  • 2022-01-22
  • 2022-01-14
相关资源
相似解决方案