(D) ShuffleNet_v2 ---- 2018ECCV reading papers

ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design

ShuffleNet V2: A Practical Guide efficient architecture design CNN

Abstract

Currently, the neural network architecture design consists of an indirect measure of computational complexity that is FLOP guidance. However, direct measurement, such as speed, but also on other factors, such as cost and memory access platform features. Therefore, this work is recommended to evaluate direct indicator on the target platform, rather than just considering FLOP. Based on a series of controlled experiments, this work draws some practical and effective network design guide. Therefore, a new architecture called ShuffleNet V2's. Comprehensive ablation experiments show that our model in terms of speed and accuracy trade-off is the most advanced.

Keywords: CNN architecture design, efficiency, utility

1 Introduction

Depth convolutional neural network (CNN) architecture has been developed over the years, become more accurate and rapid. Since AlexNet [1] landmark work, by the novel structure, comprising VGG [2], GoogLeNet [3], ResNet [4,5], DenseNet [6], ResNeXt [7], SE-Net [8] Search and automatic neutral framework [10, 11], to name a few.

In addition to accuracy, computational complexity is another important consideration. Real-world tasks are usually designed to get the best accuracy in the calculation of the limited budget, which is given by the target platform (eg, hardware) and application scenarios (eg, autopilot require low latency). This inspired a series of compromise and work toward lightweight architecture design better speed accuracy, including Xception [12], MobileNet [13 ], MobileNet V2 [14], ShuffleNet [15] and CondenseNet [16]. Very little. Packet convolution and convolution depth is critical in these efforts.
Here Insert Picture Description
Figure 1: two on four different computing platforms having hardware complexity, accuracy of four network architecture (ImageNet classification on the validation set), the measurement speed and FLOP. (A, c) GPU result, batchsize = 8. (B, d) ARM result, batchsize = 1. In all cases, the best performance of our algorithm proposed ShuffleNet v2, located in the upper right.

To measure the complexity of the calculation, the metric is widely used or the number of floating point operations of FLOPs1. However, FLOP indirect indicators. It is an approximation, but usually is not equivalent to a direct indicator we really care about, such as speed or latency. This difference has been noted in previous work [17,18,14,19]. For example, MobileNet v2 [14] than NASNET-A [9] is much faster, but they have comparable FLOP. This phenomenon is further illustrated in FIG. 1 (c) (d), the figure shows a network having similar FLOP having different speeds. Thus, using only as the sole FLOP computational complexity metric is insufficient, and may result in sub-optimal designs.

Indirect (the FLOP) and direct (speed) difference between the index can be attributed to two main reasons. First, several important factors have a significant impact on the speed of FLOP not considered. One such factor is the cost of memory access (MAC). In certain operations (such as convolution group), such overhead up a large part of the runtime. On the device (eg GPU) with powerful computing capabilities could become a bottleneck. During the network architecture design, should not simply ignore this cost. Another is the degree of parallelism. In the same FLOP, the model having a high degree of parallelism may be faster than a model with a low degree of parallelism.

Second, depending on the platform, the same operation having FLOP may have different runtimes. For example, widely used is an exploded tensor earlier work [20, 21], to speed matrix multiplication. However, recent work [19] found that the decomposition [22] is even slower on the GPU, although it can be FLOP reduced by 75%. We investigated this issue and found that this is because the latest CUDNN [23] library has been specifically optimized for the 3 × 3 conversion. We certainly can not think 3 × 3 1 × 1 conversion ratio nine times slower conversion.
Here Insert Picture Description
Figure 2: Representative two most advanced network system architecture ShuffeNet v1 [15] (1 ×, g = 3) and the decomposing operation MobileNet v2 [14] (1 × ) time.

Based on these observations, we propose to effective network architecture design should take into account two principles. First, use a direct indicator (e.g. speed) in place of indirect indicators (e.g. FLOP). Secondly, these indicators should be assessed on the target platform.

In this work, we follow these principles and made more efficient network architecture. In Section 2, we first analyze the performance of the network running the latest two representative time [15, 14]. Then we come to the four criteria for effective network design, not only to consider the guidelines FLOP. Although these guidelines regardless of the platform, but we have carried out a series of controlled experiments to optimize them validated on two different platforms (GPU and ARM) through a special code to make sure our conclusions are up to date.

在第3节中,根据指南,我们设计了一个新的网络结构。受到ShuffleNet [15]的启发,它被称为ShuffleNet V2。通过第4节中的全面验证实验,证明了这两个平台上的网络都比以前的网络更快,更准确。图1(a)(b)给出了比较的概述。例如,给定4000万个FLOP的计算复杂性预算,ShuffleNet v2的准确度分别比ShuffleNet v1和MobileNet v2高3.5%和3.7%。

2 Practical Guidelines for Efficient Network Design

我们的研究是在两种广泛采用的硬件上进行的,这些硬件具有CNN库的行业级优化。我们注意到,我们的CNN库比大多数开源库更有效。因此,我们确保我们的观察和结论是可靠的,并且对工业实践具有重要意义。

GPU。使用单个NVIDIA GeForce GTX 1080Ti。卷积库是CUDNN 7.0 [23]。我们还激活CUDNN的基准测试功能,分别为不同的卷积选择最快的算法。

ARM。高通Snapdragon810。我们使用高度优化的基于Neon的实现。一个线程用于评估。

Here Insert Picture Description
其他设置包括:完整的优化选项(例如张量融合,用于减少小规模操作的开销)已打开。输入的图像大小为224×224。每个网络均被随机初始化并评估100次。使用平均运行时间。

为了开始我们的研究,我们分析了两个最新网络ShuffleNet v1 [15]和MobileNet v2 [14]的运行时性能。它们在ImageNet分类任务上既高效又准确。它们都广泛用于手机等低端设备。尽管我们仅分析了这两个网络,但我们注意到它们代表了当前趋势。群卷积和深度卷积是它们的核心,它们也是其他最新网络的关键组件,例如ResNeXt [7],Xception [12],MobileNet [13]和CondenseNet [16]。

如图2所示,将整个运行时分解为不同的操作。我们注意到,FLOP度量标准仅考虑了卷积部分。尽管这部分消耗大量时间,但其他操作(包括数据I / O,数据混洗和按元素操作(AddTensor,ReLU等))也占用了大量时间。因此,FLOP对实际运行时间的估计不够准确。

基于此观察,我们从几个不同方面进行了运行时(或速度)的详细分析,并得出了一些有效的网络体系结构设计的实用准则。

G1)相等的通道宽度可最大程度地减少内存访问成本(MAC)。现代网络通常采用深度可分离卷积[12,13,15,14],其中点向卷积(即1×1卷积)占了大多数复杂度[15]。我们研究了1×1卷积的核形状。形状由两个参数指定:输入通道c1的数量和输出通道c2的数量。令h和w为特征图的空间大小,则1×1卷积的FLOP为B = hwc1c2。

为简单起见,我们假定计算设备中的缓存足够大,可以存储整个功能图和参数。因此,内存访问成本(MAC)或内存访问操作数为MAC = hw(c1 + c2)+ c1c2。请注意,这两个术语分别对应于输入/输出特征图和内核权重的内存访问。

Here Insert Picture Description

从均值不平等,我们有
M A C 2 h w B + B h w ( 1 ) \mathrm{MAC} \geq 2 \sqrt{h w B}+\frac{B}{h w} (1)
因此,MAC具有FLOP给出的下限。当输入和输出通道数相等时,它达到下限。

结论是理论上的。实际上,许多设备上的缓存不够大。另外,现代计算库通常采用复杂的阻塞策略来充分利用缓存机制[24]。因此,实际的MAC可能会偏离理论值。为了验证上述结论,进行如下实验。通过反复堆叠10个构建基块来构建基准网络。每个块包含两个卷积层。第一个包含c1input通道和c2output通道,第二个包含其他通道。

表1报告了通过改变比率c1:c2固定固定FLOP的运行速度。显然,当c1:c2接近1:1时,MAC变小并且网络评估速度更快。

G2)过多的组卷积会增加MAC。组卷积是现代网络体系结构的核心[7,15,25,26,27,28]。通过将所有通道之间的密集卷积更改为稀疏(仅在通道组内),可以降低计算复杂度(FLOP)。一方面,在给定固定FLOP的情况下,它允许使用更多信道,并增加了网络容量(因此具有更高的准确性)。但是,另一方面,增加的通道数将导致更多的MAC。

正式地,遵循G1和Eq中的符号。在图1中,对于1×1组卷积,MAC与FLOP之间的关系为
M A C = h w ( c 1 + c 2 ) + c 1 c 2 g = h w c 1 + B g c 1 + B h w ( 2 ) \begin{aligned} \mathrm{MAC} &=h w\left(c_{1}+c_{2}\right)+\frac{c_{1} c_{2}}{g} \\ &=h w c_{1}+\frac{B g}{c_{1}}+\frac{B}{h w} \end{aligned} (2)
其中g是组数,B = hwc1c2 / g是FLOP。不难看出,给定固定的输入形状c1×h×w和计算成本B,MAC随着g的增加而增加。
Here Insert Picture Description
为了在实践中研究这种影响,通过堆叠10个逐点组卷积层来构建基准网络。 表2报告了固定总FLOP时使用不同组号的运行速度。 显然,使用较大的组数会大大降低运行速度。 例如,在GPU上使用8组的速度比在1组(标准密集卷积)上的速度慢两倍以上,而在ARM上则要慢30%。 这主要是由于MAC增加。 我们注意到,我们的实现已经过特别优化,并且比逐组计算卷积要快得多。

因此,我们建议应根据目标平台和任务谨慎选择组号。使用大的组号是不明智的,因为这可能使使用更多的通道成为可能,因为快速增加的计算成本可能会轻易抵消准确性提高的好处。

G3)网络碎片会降低并行度。在GoogLeNet系列[29,30,3,31]和自动生成的体系结构[9,11,10]中,“多路径”结构在每个网络模块中被广泛采用。使用了许多小型运算符(在此称为“分段运算符”),而不是一些大型运算符。例如,在NASNET-A [9]中,分段运算符的数量(即,一个构建块中的单个卷积或池化操作的数量)为13。相反,在像ResNet [4]这样的常规结构中,该数量为2或3。

尽管已显示这种碎片化的结构有助于提高准确性,但由于它对具有强大并行计算能力的设备(如GPU)不友好,因此可能会降低效率。它还引入了额外的开销,例如内核启动和同步。

Here Insert Picture Description
​ 图3:ShuffleNet v1 [15]的构建块和这项工作。 (a):基本的ShuffleNet单位; (b)ShuffleNet单元,用于空间下采样(2倍); (c)我们的基本单位; (d)我们用于空间下采样(2×)的单元。 DWConv:深度卷积。 GConv:分组卷积。

为了量化网络碎片如何影响效率,我们评估了一系列具有不同碎片度的网络块,具体而言,每个构建块由1到4个1×1卷积组成,这些卷积按顺序或并行排列。 块结构在附录中说明。 每个块重复堆叠10次。 表3中的结果表明,碎片会显着降低GPU的速度,例如 4片段结构比1片段慢3倍。 在ARM上,速度降低相对较小。

G4)逐元素运算不可忽略。如图2所示,在像[15,14]这样的轻量模型中,逐元素操作会占用大量时间,尤其是在GPU上。在这里,逐元素运算符包括ReLU,AddTensor,AddBias等。它们的FLOP较小,但MAC相对较重。特别地,我们还将深度卷积[12,13,14,15]视为元素级算子,因为它也具有很高的MAC / FLOPs比。

为了验证,我们在ResNet中试验了“瓶颈”单元(1×1 conv,然后是3×3 conv,然后是1×1 conv,并带有ReLU和快捷方式连接)[4]。 ReLU和快捷方式操作将分别删除。表4中报告了不同版本的运行时。我们观察到,除去ReLU和快捷方式后,GPU和ARM均可实现约20%的加速。

结论与讨论 基于上述指导原则和实证研究,我们得出结论,一种有效的网络架构应:1)使用“平衡”卷积(相等的信道宽度); 2)注意使用组卷积的代价; 3)减少碎片程度;和4)减少按元素操作。这些理想的属性取决于超出理论FLOP的平台特性(例如内存操作和代码优化)。对于实际的网络设计,应该考虑它们。

Here Insert Picture Description
轻量级神经网络体系结构的最新进展[15,13,14,9,11,10,12]大多基于FLOP的度量,而没有在上面考虑这些特性。 例如,ShuffleNet v1 [15]在很大程度上依赖于组卷积(针对G2)和类似瓶颈的构建块(针对G1)。MobileNetv2 [14]使用了与G1背道而驰的瓶颈结构。 它在“厚”特征图上使用深度卷积和ReLU,这违反了G4。自动生成的结构[9,11,10]高度分散,违反了G3。

3 ShuffleNet V2: an Efficient Architecture

ShuffleNet v1的回顾[15]。 ShuffleNet是最先进的网络体系结构。它被低端设备(例如手机)广泛采用。它激发了我们的工作。因此,首先要对其进行审查和分析。

根据[15],轻量级网络的主要挑战是在给定的计算预算(FLOP)下,仅有限数量的功能通道是可以承受的。为了在不显着增加FLOP的情况下增加通道数量,在[15]中采用了两种技术:逐点群卷积和类似瓶颈的结构。然后引入“频道混洗”操作以实现不同频道组之间的信息通信并提高准确性。构造块如图3(a)(b)所示。

如第2节所述,逐点组卷积和瓶颈结构都会增加MAC(G1和G2)。此费用不可忽略,尤其是对于轻型机型。同样,使用过多的组也会违反G3。快捷方式连接中按元素进行“添加”操作也是不希望的(G4)。因此,为了获得较高的模型容量和效率,关键问题是如何保持既不密集卷积又不存在过多组的大量相等宽度的信道。

通道拆分和ShuffleNet V2为此,我们引入了一个简单的运算符,称为通道拆分。它在图3(c)中说明。在每个单元的9个开头,将c个特征通道的输入分为两个分支,分别具有c-c0和c0通道。 G3之后,仍保留一个分支作为标识。另一个分支由三个具有相同输入和输出通道的卷积组成,以满足G1。与[15]不同,两个1×1卷积不再按组进行。这部分遵循G2,部分原因是拆分操作已经产生了两个组。

卷积后,将两个分支连接起来。因此,通道数保持不变(G1)。然后使用与[15]中相同的“信道混洗”操作来启用两个分支之间的信息通信。

改组后,下一个单元开始。请注意,ShuffleNet v1 [15]中的“添加”操作不再存在。像ReLU和深度卷积这样的元素操作仅存在于一个分支中。同样,三个连续的元素方式操作“ Concat”,“ Channel Shuffle”和“ Channel Split”被合并为单个元素方式操作。根据G4,这些更改是有益的。

对于空间下采样,单位略有修改,如图3(d)所示。通道拆分运算符已删除。因此,输出通道的数量增加了一倍。

提议的构件(c)(d)以及生成的网络称为ShuffleNet V2。根据以上分析,我们得出结论,此架构设计遵循所有准则,因此非常高效。

重复堆叠构建模块以构建整个网络。为简单起见,我们设置c0 = c / 2。总体网络结构类似于ShuffleNet v1 [15],并在表5中进行了概述。只有一个区别:在全局平均池之前添加了一个附加的1×1卷积层以混合功能,这在ShuffleNet v1中是不存在的。类似于[15],每个块中的通道数按比例缩放以生成复杂度不同的网络,标记为0.5×,1×等。

网络准确性分析ShuffleNet v2不仅高效,而且准确。有两个主要原因。首先,每个构建块中的高效率使得可以使用更多的功能通道和更大的网络容量。

其次,在每个块中,一半特征通道(当c0 = c / 2时)直接通过该块并加入下一个块。与DenseNet [6]和CondenseNet [16]相似,这可以看作是一种功能重用。

在DenseNet [6]中,为了分析特征重用模式,绘制了层之间权重的l1-范数,如图4(a)所示。显然,相邻层之间的连接比其他层更牢固。这意味着所有层之间的密集连接可能会引入冗余。最近的CondenseNet [16]也支持这种观点。

Here Insert Picture Description
在ShuffleNet V2中,很容易证明第i个与第(i + j)个构建块之间的“直接连接”通道数为rjc,其中r =(1-c0)/ c。换句话说,特征重用量随两个块之间的距离呈指数衰减。在远距离的块之间,功能重用变得很弱。图4(b)绘制了与(a)中相似的可视化效果,其中r = 0.5。注意,(b)中的模式类似于(a)。

因此,ShuffleNet V2的结构通过设计实现了这种类型的功能重用模式。与DenseNet [6]一样,它也具有重复使用特征以实现高精度的好处,但是它的效率要高得多。在表8中的实验中对此进行了验证。

4 Experiment

我们的消融实验在ImageNet 2012分类数据集上进行[32,33]。遵循惯例[15,13,14],相比之下,所有网络都具有四个级别的计算复杂度,即大约40、140、300和500+个MFLOP。这种复杂性对于移动方案而言是典型的。其他超参数和协议与ShuffleNet v1完全相同[15]。

我们将其与以下网络架构进行比较[12、14、6、15]:

  • ShuffleNet v1 [15]。在[15]中,比较了一系列的组号g。建议g = 3在精度和速度之间有更好的权衡。这也符合我们的观察。在这项工作中,我们主要使用g =3。
  • – MobileNet v2 [14]。它比MobileNet v1 [13]更好。为了全面比较,我们在原始论文[14]和重新实现中均报告了准确性,因为[14]中的某些结果不可用。
  • – Xception [12]。原始的Xception模型[12]非常大(FLOP> 2G),这超出了我们的比较范围。最近的工作[34]提出了一种改进的轻量级Xception结构,该结构在精度和效率之间表现出更好的折衷。因此,我们将其与该变体进行比较。
  • – DenseNet [6]。原始工作[6]仅报告大型模型的结果(FLOP> 2G)。为了进行直接比较,我们按照表5中的体系结构设置重新实现它,其中阶段2-4中的构造块由11个DenseNet块组成。我们调整渠道数量以满足不同的目标复杂性。

表8总结了所有结果。我们从不同方面分析这些结果。

精度与FLOP的关系。显然,提出的ShuffleNet v2模型在很大程度上要优于所有其他网络2,尤其是在较小的计算预算下。另外,我们注意到MobileNet v2在40个MFLOP级别上以224×224的图像大小执行合并。这可能是由于频道太少所致。相比之下,由于我们的高效设计允许使用更多通道,因此我们的模型不会遭受此缺点。而且,虽然我们的模型和DenseNet [6]都具有重用功能,但我们的模型效率更高,如第三节中所述。

表8还比较了我们的模型与其他最新网络的情况,包括CondenseNet [16],IGCV2 [27]和IGCV3 [28]。我们的模型在各种复杂度级别上的性能始终如一。

推理速度与FLOP /精度之间的关系。对于ShuffleNet v2,MobileNet v2,ShuffleNet v1和Xception等四种精度较高的体系结构,我们将它们的实际速度与FLOP进行比较,如图1(c)(d)所示。附录表1中提供了有关不同分辨率的更多结果。

ShuffleNet v2明显比其他三个网络快,尤其是在GPU上。例如,在500MFLOP时,ShuffleNet v2比MobileNet v2快58%,比ShuffleNet v1快63%,比Xception快25%。在ARM上,ShuffleNet v1,Xception和ShuffleNet v2的速度相当。但是,MobileNet v2慢得多,尤其是在较小的FLOP上。我们认为这是因为MobileNet v2具有更高的MAC(请参阅第2节中的G1和G4),这在移动设备上很重要。

与MobileNet v1 [13],IGCV2 [27]和IGCV3 [28]相比,我们有两个观察结果。首先,尽管MobileNet v1的准确性不高,但它在GPU上的速度要比包括ShuffleNet v2在内的所有同类产品都快。我们认为这是因为其结构可以满足大多数建议的准则(例如,对于G3,MobileNet v1的片段比ShuffleNet v2还要少)。其次,IGCV2和IGCV3较慢。这是由于使用了太多的卷积组(在[27,28]中为4或8)。两种观察结果均与我们建议的指南一致。

最近,自动模型搜索[9,10,11,35,36,37]已成为CNN体系结构设计的有希望的趋势。表8的底部评估了一些自动生成的模型。我们发现它们的速度相对较慢。我们认为,这主要是由于使用了太多片段(请参阅G3)。尽管如此,这一研究方向仍然是有前途的。例如,如果将模型搜索算法与我们提出的指南结合起来,并在目标平台上评估直接指标(速度),则可以获得更好的模型。

最后,图1(a)(b)总结了精度与速度(直接度量)的结果。我们得出结论说,ShuffeNet v2在GPU和ARM上均是最佳的。

与其他方法的兼容性。 ShuffeNet v2可以与其他技术结合使用,以进一步提高性能。当配备了Squeezeandand-excitation(SE)模块[8]时,ShuffleNet v2的分类精度提高了0.5%,但会损失一定的速度。块结构在附录图2(b)中说明。结果示于表8(底部)。

大型模型通用化。尽管我们的主要消融是在重量轻的情况下执行的,但ShuffleNet v2可用于大型模型(例如,FLOP≥2G)。表6比较了一个50层的ShuffleNet v2(附录中的详细信息)与ShuffleNet v1 [15]和ResNet-50 [4]的对应关系。 ShuffleNet v2在2.3GFLOP的性能上仍胜过ShuffleNet v1,并以40%的FLOP超过了ResNet-50。

对于深度较深的ShuffleNet v2(例如超过100层),为了加快收敛速度,我们通过添加剩余路径(附录中的详细信息)对基本ShuffleNet v2单元进行了稍微的修改。表6列出了配备SE [8]组件的164层ShuffleNet v2模型(附录中的详细信息)。与以前的最新模型[8]相比,它具有更少的FLOP,因而具有更高的精度。

对象检测为了评估泛化能力,我们还测试了COCO对象检测[38]任务。我们使用最先进的轻型检测器– Light-Head RCNN [34]作为我们的框架,并遵循相同的培训和测试协议。只有骨干网被我们的骨干网取代。在ImageNet上对模型进行预训练,然后根据检测任务对其进行微调。对于训练,我们使用COCO中的train + val设置,除了来自最小设置的5000张图像,然后使用minival进行测试。精度度量标准是COCO标准mmAP,即框IoU阈值从0.5到0.95的平均mAP。

将ShuffleNet v2与其他三个轻量级模型进行比较:Xception [12,34],ShuffleNet v1 [15]和MobileNet v2 [14]在四个复杂度上。表7中的结果表明ShuffleNet v2表现最佳。

将检测结果(表7)与分类结果(表8)进行比较,有趣的是,分类时的准确度等级为ShuffleNet v2≥MobileNet v2> ShuffeNet v1> Xception,而在检测时,准确度等级为ShuffleNet v2> Xception≥ShuffleNet v1≥MobileNet v2。这表明Xception在检测任务方面很出色。这可能是由于Xception构建块的接受域比其他对应域更大(7 vs. 3)。受此启发,我们还通过在每个构建基块中的第一个点式卷积之前引入附加的3×3深度式卷积来扩大ShuffleNet v2的接收范围。此变体表示为ShuffleNet v2 *。仅需几个额外的FLOP,就可以进一步提高精度。

我们还在GPU上对运行时间进行了基准测试。 为了公平比较,批大小设置为4,以确保完全利用GPU。 由于数据复制(分辨率高达800×1200)和其他特定于检测的操作(如PSRoI Pooling [34])的开销,不同模型之间的速度差距要小于分类的速度差距。 尽管如此,ShuffleNet v2仍然胜过其他产品,例如 比ShuffleNet v1快40%,比MobileNet v2快16%。

Here Insert Picture Description
Here Insert Picture Description
此外,变体ShuffleNet v2 *具有最高的准确性,但仍比其他方法快。这引发了一个实际的问题:如何增加感受野的大小?这对于高分辨率图像中的目标检测至关重要[39]。将来我们将研究该主题。

5 Conclusion

我们建议网络体系结构设计应考虑诸如速度之类的直接量度,而不是像FLOPs这样的间接量度。我们提供实用指南和新颖的体系结构ShuffleNet v2。全面的实验证明了我们新模型的有效性。我们希望这项工作可以激发未来平台意识和更实用的网络体系结构设计的工作。

致谢感谢Yichen Wei在论文写作方面的帮助。这项研究得到了中国国家自然科学基金(授权号61773229)的部分支持。
Here Insert Picture Description
​ 表8:在两个平台和四个计算复杂度级别上,几种网络体系结构在分类错误(验证集,单中心作物)和速度方面的比较。将结果按复杂性级别分组,以便更好地进行比较。对于GPU,批处理大小为8;对于ARM,批处理大小为1。图像尺寸为224×224,除了:[*] 160×160和[**] 192×192。由于目前缺乏有效的实施,我们不提供CondenseNets [16]的速度测量。

Appendix

Here Insert Picture Description
Appendix 1: guidelines for experiments member 3. (A) 1 fragments. (B) 2 fragment series. (C) 4 fragment series. (D) 2 fragments in parallel. (E) 4 parallel segments.
Here Insert Picture Description
FIG Appendix 2: ShuffleNet v2 has SE / residual functional building blocks. (A) ShuffleNet v2 with residues. ShuffleNet v2 (b) with the SE. (C) SE and having a residual ShuffleNet v2.
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description

Published 66 original articles · won praise 23 · views 10000 +

Guess you like

Origin blog.csdn.net/qq_18315295/article/details/104241639