conv2d函数(conv2函数代码)

conv2d函数(conv2函数代码)p strong 1 介绍 strong br ShuffleNet V2 也是由旷视科技提出的 它是 ShuffleNet v1 的升级版 可参见我的一篇博客 ShuffleNet 神经网络简介与代码实战 p

大家好,我是讯享网,很高兴认识大家。



 <p><strong>1.介绍</strong><br />     ShuffleNet V2也是由旷视科技提出的&#xff0c;它是ShuffleNet v1的升级版&#xff08;可参见我的一篇博客ShuffleNet 神经网络简介与代码实战&#xff09;&#xff0c;旷视科技是根据四个规则来改进ShuffleNet v1&#xff0c;更加详细的介绍可以参见&#xff1a;ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design。</p> 

讯享网

 
2.模型结构
   下图中分析了ShuffleNet v1和MobileNets V2在GPU和ARM上的耗时分布,从图中可看出Conv操作占了其时间的绝大多数,但Elemwise/Data IO等内存读写密集型操作也占了相当比例的时间,因此,我们在设计网络的时候,不仅要考虑Conv的个数也要考虑其他操作。

aedf12725c5e39f560cafb9742bc106e.png
讯享网

文中总结了四个准则来指导优化网络:

1)卷积层的输入和输出特征通道数相等时MAC(内存访问消耗时间)最小,此时模型速度最快。

2)过多的group操作会增大MAC,从而使模型速度变慢。

3)模型中的网络分支数量越少,模型速度越快。

4 )element-wise操作所带来的时间消耗远比在FLOPs上的体现的数值要多,因此要尽可能减少element-wise操作。

接下里,我具体来看下图中网络结构的改变,是怎样对应着这四个准则,其中(a)和(b)是ShuffleNet v1文章中两种结构,©和(d)则是根据(a)和(b)改进而来。©结构相对于(a)结构,增加了channel split操作,就是为了保证concat操作之后满足前面第1)点。©中取消了GCconv是为了满足前面第2)点,同时把channel shuffle的操作移到了concat后面,和前面第3)点对应。将将element-wise add操作替换成concat,和和前面第4)点对应。

4bb4de01b3807c00e65cd18822261b50.png

 

3.模型特点

  通过四个上面所提到的四个准则设计网络,而不是盲目的设计网络,这样做的好处,可以减少计算量和运算时间。

 

4.代码实现 pytorch

讯享网

 

 

 


小讯
上一篇 2025-06-01 23:40
下一篇 2025-05-15 11:16

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/184056.html