首页 > 其他分享 >[轻量化网络]shuffleNet V2学习笔记

[轻量化网络]shuffleNet V2学习笔记

时间:2022-10-18 13:13:28浏览次数:52  
标签:卷积 准则 MAC shuffleNet 轻量化 V2 内存 操作 2.1

1. 四条轻量化网络设计准则

如上图所示,分别在GPU和ARM设备上,测试ShuffleNet V1和MobileNet V2在各种操作上的耗时占比,其中:

  • Elementwise:逐元素操作,如RELU函数,残差网络的逐元素相加(shortcut)。
  • Data:数据操作,如输入,输出。
  • Conv:卷积操作。
  • Shuffe:通道重排。

由这个实验可以得出以下结论:

  • 乘-加浮点运算次数FLOPs仅反映卷积层,仅为间接指标。
  • 不同硬件上的测试结果不同。
  • 数据读写的内存MAC占用影响很大。
  • Element-wise逐元素操作带来的开销不可忽略。

 由此引出轻量化网络的四条设计准则:

  • 准则一:输入输出通道数相同时,内存访问量MAC最小。
  • 准则二:分组数过大的分组卷积会增加MAC。
  • 准则三:碎片化操作对并行加速不友好。
  • 准则四:逐元素(Element-wise)操作带来的内存和耗时不可忽略。

注:准则一可以理解为卷积核数量最好与输入的通道数一致;碎片操作指多通路,多分支等,如inception里的分支结构;逐元素操作,如RELU,残差网络的shortcut。

 

2. 原则详解

2.1. 准则一:输入输出通道数相同时,内存访问量MAC最小

2.1.1. 如何计算FLOPs和MAC

 

2.1.2. 证明,均值不等式

2.1.3. 实验

 

2.2. 准则二:分组数过大的分组卷积会增加MAC

 

2.3. 准则三:碎片化操作对并行加速不友好

 

2.4. 准则四:逐元素(Element-wise)操作带来的内存和耗时不可忽略

 

3. 基本模块设计

4. 参考

(完)

标签:卷积,准则,MAC,shuffleNet,轻量化,V2,内存,操作,2.1
From: https://www.cnblogs.com/harrymore/p/16802223.html

相关文章