论文名称:ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
论文下载:https://arxiv.org/abs/1707.01083
论文年份:2017
论文被引:3925(2022/05/11)
论文代码:https://github.com/tensorpack/tensorpack/tree/master/examples/ImageNetModels,https://github.com/open-mmlab/mmpose

论文总结

为了将卷积神经网络应用于嵌入式设备,本文基于逐点分组卷积和通道混洗模块的新型架构——ShuffleNet。ShuffleNet 允许更多的特征图通道,这有助于编码更多信息,对非常小的网络的性能尤其重要

Abstract

We introduce an extremely computation-efficient CNN architecture named ShuffleNet, which is designed specially for mobile devices with very limited computing power (e.g., 10-150 MFLOPs). The new architecture utilizes two new operations, pointwise group convolution and channel shuffle, to greatly reduce computation cost while maintaining accuracy. Experiments on ImageNet classification and MS COCO object detection demonstrate the superior performance of ShuffleNet over other structures, e.g. lower top-1 error (absolute 7.8%) than recent MobileNet [12] on ImageNet classification task, under the computation budget of 40 MFLOPs. On an ARM-based mobile device, ShuffleNet achieves ∼13× actual speedup over AlexNet while maintaining comparable accuracy.

我们引入了一种计算效率极高的 CNN 架构,名为 ShuffleNet,它专为计算能力非常有限(例如 10-150 MFLOPs)的移动设备而设计。新架构利用两个新操作,逐点组卷积和通道混洗 (shuffle),在保持准确性的同时大大降低了计算成本。 ImageNet 分类和 MS COCO 对象检测的实验证明了 ShuffleNet 优于其他结构的性能,例如在 40 MFLOPs 的计算预算下,在 ImageNet 分类任务上的 top-1 错误(绝对 7.8%)低于最近的 MobileNet [12]。在基于 ARM 的移动设备上,ShuffleNet 比 AlexNet 实现了 ~13 倍的实际加速,同时保持了相当的准确性

1. Introduction

构建更深、更大的卷积神经网络 (CNN) 是解决主要视觉识别任务的主要趋势 [21, 9, 33, 5, 28, 24]。最准确的 CNN 通常具有数百层和数千个通道 [9, 34, 32, 40],因此需要数十亿次 FLOP 的计算。本报告探讨了相反的极端:在非常有限的计算预算中以数十或数百 MFLOP 追求最佳精度,重点关注无人机、机器人和智能手机等常见移动平台。请注意,许多现有的工作 [16, 22, 43, 42, 38, 27] 专注于修剪、压缩或以低bit表示“基本”网络架构。在这里,我们旨在探索一种专门为所需的计算范围设计的高效基本架构

我们注意到,由于昂贵的密集 1×1 卷积,Xception [3] 和 ResNeXt [40] 等最先进的基本架构在极小的网络中效率降低。我们建议使用逐点组卷积 (Group Conv) 来降低 1 × 1 卷积的计算复杂度。为了克服组卷积带来的副作用,我们提出了一种新颖的通道混洗 (Channel Shuffle) 操作来帮助信息在特征通道之间流动。基于这两种技术,我们构建了一个称为 ShuffleNet 的高效架构。与 [30, 9, 40] 等流行结构相比,对于给定的计算复杂度预算,ShuffleNet 允许更多的特征图通道,这有助于编码更多信息,对非常小的网络的性能尤其重要

我们在具有挑战性的 ImageNet 分类 [4, 29] 和 MS COCO 对象检测 [23] 任务上评估我们的模型。一系列对照实验显示了我们设计原则的有效性以及优于其他结构的性能。与最先进的架构 MobileNet [12] 相比,ShuffleNet 以显着的优势实现了卓越的性能,例如在 40 MFLOPs 级别,ImageNet top-1 错误绝对降低了 7.8%

我们还检查了真实硬件的加速,即现成的基于 ARM 的计算内核。 ShuffleNet 模型在 AlexNet [21] 上实现了 ∼13 倍的实际加速比(理论加速比为 18 倍),同时保持了相当的精度。

2. Related Work

高效的模型设计:过去几年,深度神经网络在计算机视觉任务中取得了成功 [21,36,28],其中模型设计发挥了重要作用。在嵌入式设备上运行高质量深度神经网络的需求不断增长,这鼓励了对有效模型设计的研究 [8]。例如,

  • 与简单地堆叠卷积层相比,GoogLeNet [33] 以低得多的复杂度增加了网络的深度
  • SqueezeNet [14] 在保持准确性的同时显着减少了参数和计算量。
  • ResNet [9, 10] 利用高效的瓶颈结构来实现令人印象深刻的性能
  • SENet [13] 引入了一种架构单元,可以以轻微的计算成本提高性能。

与我们同时,最近的一项工作 [46] 采用强化学习和模型搜索来探索有效的模型设计。所提出的移动 NASNet 模型实现了与我们对应的 ShuffleNet 模型相当的性能(26.0% @ 564 MFLOPs vs. 26.3% @ 524 MFLOPs for ImageNet 分类错误)。但是 [46] 没有报告极小的模型(例如复杂度小于 150 MFLOPs)的结果,也没有评估移动设备上的实际推理时间。

分组卷积(Group Convolution):分组卷积的概念最初是在 AlexNet [21] 中引入的,用于将模型分布在两个 GPU 上,在 ResNeXt [40] 中已经很好地证明了它的有效性。 Xception [3] 中提出的深度可分离卷积概括了 Inception 系列 [34, 32] 中可分离卷积的思想。最近,MobileNet [12] 利用深度可分离卷积并在轻量级模型中获得了最先进的结果。我们的工作以一种新颖的形式概括了分组卷积和深度可分离卷积

Channel Shuffle Operation:据我们所知,虽然 CNN 库 cuda-convnet [20] 支持“随机稀疏卷积”层,相当于随机通道shuffle 后跟一个分组卷积层。这种“随机混洗”操作有不同的目的,后来很少被利用。最近,另一项并发工作 [41] 也采用这种思想进行两阶段卷积。然而,[41] 并没有专门研究通道混洗本身的有效性及其在微型模型设计中的使用。

模型加速:这个方向旨在加速推理,同时保持预训练模型的准确性。

  • 修剪网络连接 [6, 7] 或通道 [38] 在保持性能的同时减少了预训练模型中的冗余连接
  • 文献中提出了量化 [31, 27, 39, 45, 44] 和分解 [22, 16, 18, 37],以减少计算中的冗余以加快推理速度
  • 在不修改参数的情况下,通过 FFT [25, 35] 和其他方法 [2] 实现的优化卷积算法在实践中减少了时间消耗。
  • Distilling [11] 将知识从大模型转移到小模型中,这使得训练小模型更容易。

3. Approach

3.1. Channel Shuffle for Group Convolutions

现代卷积神经网络 [30, 33, 34, 32, 9, 10] 通常由具有相同结构的重复构建块组成。其中,最先进的网络,如 Xception [3] 和 ResNeXt [40] 将有效的深度可分离卷积或组卷积引入构建块,以在表示能力和计算成本之间取得良好的平衡。然而,我们注意到两种设计都没有完全考虑到 1×1 卷积(在 [12] 中也称为逐点卷积),这需要相当大的复杂性。例如,在 ResNeXt [40] 中,只有 3×3 层配备了组卷积。因此,对于 ResNeXt 中的每个残差单元,逐点卷积占据 93.4% 的乘法加法(如 [40] 中建议的基数 = 32)。在微型网络中,昂贵的逐点卷积会导致有限数量的通道来满足复杂性约束,这可能会严重损害准确性

为了解决这个问题,一个直接的解决方案是在 1 × 1 层上应用通道稀疏连接,例如组卷积通过确保每个卷积只对相应的输入通道组进行操作,组卷积显着降低了计算成本。但是,如果多个组卷积堆叠在一起,则会产生一个副作用:来自某个通道的输出仅来自一小部分输入通道。图1 (a) 说明了两个堆叠组卷积层的情况。很明显,某个组的输出只与组内的输入有关。此属性会阻塞通道组之间的信息流并削弱表示。

如果我们允许组卷积从不同组中获取输入数据(如图 1 (b) 所示),输入和输出通道将完全相关。具体来说,对于上一层生成的特征图,我们可以先将每组中的通道划分为几个子组,然后将不同的子组馈入下一层中的每个组这可以通过通道混洗操作有效而优雅地实现(图 1 ©):假设一个卷积层具有 g 个组,其输出具有 g × n 个通道;我们首先将输出通道维度重塑为 (g, n),转置然后将其展平作为下一层的输入。请注意,即使两个卷积的组数不同,该操作仍然有效。此外,channel shuffle 也是可微分的,这意味着它可以嵌入到网络结构中进行端到端训练。

Channel shuffle 操作使得构建具有多个组卷积层的更强大的结构成为可能。在下一小节中,我们将介绍一个具有通道混洗和组卷积的高效网络单元。

3.2. ShuffleNet Unit


利用通道混洗操作,我们提出了一种专门为小型网络设计的新颖的 ShuffleNet 单元。我们从图2 (a) 中的瓶颈单元 [9] 的设计原理开始

  • 图2 (a) 是一个残差块。在其残差分支中,对于 3 × 3 层,在瓶颈特征图上应用计算经济的 3 × 3 深度卷积 [3]。
  • 图 2 (b) 用逐点分组卷积替换 图2 (a) 第一个 1×1 层,然后进行通道混洗操作,形成一个 ShuffleNet 单元。第二个逐点分组卷积的目的是恢复通道维度以匹配旁路连接

为简单起见,不会在第二个逐点层之后应用额外的通道混洗操作,因为它会产生可比较的分数。批量归一化 (BN) [15] 和非线性的使用与 [9, 40] 类似,只是我们没有按照 [3] 的建议在深度卷积之后使用 ReLU。对于 ShuffleNet 应用 stride 的情况,我们简单地做两处修改,见图 2 ©:

  • i)在快捷路径上添加一个 3×3 的平均池化
  • ii)用通道连接代替逐元素加法,这样可以很容易地扩大通道维度,而额外的计算成本很少

由于带有通道混洗的逐点组卷积,可以有效地计算 ShuffleNet 单元中的所有组件。与 ResNet [9](瓶颈设计)和 ResNeXt [40] 相比,我们的结构在相同设置下的复杂度更低。例如,给定输入大小 c × h × w 和瓶颈通道 m,ResNet 单元需要 hw(2cm + 9m^2) FLOP,ResNeXt 有 hw(2cm + 9m^2/g) FLOP,而我们的 ShuffleNet 单元只需要 hw(2cm /g + 9m) FLOPs,其中 g 表示卷积的组数。换句话说,给定计算预算,ShuffleNet 可以使用更广泛的特征图。我们发现这对于小型网络至关重要,因为小型网络通常没有足够数量的通道来处理信息

此外,在 ShuffleNet 中,深度卷积仅在瓶颈特征图上执行。尽管深度卷积通常具有非常低的理论复杂度,但我们发现难以在低功耗移动设备上有效实现,这可能是由于与其他密集操作相比,计算/内存访问率更差。 [3] 中也提到了这种缺点,它有一个基于 TensorFlow [1] 的运行时库。在 ShuffleNet 单元中,我们有意仅在瓶颈上使用深度卷积,以尽可能地防止开销

3.3. Network Architecture


基于 ShuffleNet 单元,我们在表 1 中展示了整体 ShuffleNet 架构。所提出的网络主要由一组 ShuffleNet 单元组成,分为三个阶段。每个阶段的第一个构建块应用 stride = 2。一个阶段内的其他超参数保持不变,下一个阶段的输出通道加倍。与 [9] 类似,我们将每个 ShuffleNet 单元的瓶颈通道数设置为输出通道的 1/4。我们的目的是提供尽可能简单的参考设计,尽管我们发现进一步的超参数调整可能会产生更好的结果。

在 ShuffleNet 单元中,组数 g 控制逐点卷积的连接稀疏性。表 1 探索了不同的组数,我们调整了输出通道以确保总体计算成本大致不变(~140 MFLOPs)。显然,对于给定的复杂性约束,较大的组数会导致更多的输出通道(因此更多的卷积滤波器),这有助于编码更多的信息,尽管由于相应的输入通道有限,它也可能导致单个卷积滤波器的退化。在 4.1.1 节中,我们将研究这个数字在不同计算约束下的影响。

要将网络自定义为所需的复杂性,可以简单地在通道数量上应用比例因子 s。例如,我们将表 1 中的网络表示为“ShuffleNet 1×”,那么“ShuffleNet s×”表示将 ShuffleNet 1× 中的过滤器数量缩放 s 倍,因此总体复杂度大约是 ShuffleNet 1× 的 s^2 倍。

4. Experiments

我们主要在 ImageNet 2012 分类数据集 [29, 4] 上评估我们的模型。我们遵循 [40] 中使用的大部分训练设置和超参数,但有两个例外:(i)我们将权重衰减设置为 4e-5 而不是 1e-4,并使用线性衰减学习率策略(从 0.5 降低)为 0); (ii) 我们在数据预处理中使用了稍微不那么激进的规模扩大。 [12] 中也引用了类似的修改,因为这样的小型网络通常会遭受欠拟合而不是过拟合。在 4 个 GPU 上训练一个模型进行 3×10^5 迭代需要 1 或 2 天,其批量大小设置为 1024。为了进行基准测试,我们比较了 ImageNet 验证集上的单次裁剪 top-1 性能,即裁剪 224×224 中心视图从 256× 输入图像和评估分类精度。我们对所有模型使用完全相同的设置,以确保公平比较。

4.1. Ablation Study

ShuffleNet的核心思想在于pointwise group convolution和channel shuffle操作。在本小节中,我们分别评估它们。

4.1.1 Pointwise Group Convolutions

为了评估逐点组卷积的重要性,我们比较了相同复杂度的 ShuffleNet 模型,其组数范围从 1 到 8。如果组数等于 1,则不涉及逐点组卷积,然后 ShuffleNet 单元变为“Xception-像” [3] 结构。为了更好地理解,我们还将网络的宽度缩放到 3 个不同的复杂度,并分别比较它们的分类性能。结果如表 2 所示。

从结果中,我们看到具有组卷积 (g > 1) 的模型始终比没有逐点组卷积 (g = 1) 的模型表现更好。较小的模型往往会从分组中受益更多。例如,对于 ShuffleNet 1×,最佳条目 (g = 8) 比对应项好 1.2%,而对于 ShuffleNet 0.5× 和 0.25×,差距分别变为 3.5% 和 4.4%。请注意,对于给定的复杂性约束,分组卷积允许更多的特征图通道,因此我们假设性能增益来自更广泛的特征图,这有助于编码更多信息。此外,较小的网络涉及更薄的特征图,这意味着它从扩大的特征图中受益更多。

表 2 还显示,对于某些模型(例如 ShuffleNet 0.5×),当组数变得相对较大(例如 g = 8)时,分类分数会饱和甚至下降。随着组数的增加(因此特征图更宽),每个卷积滤波器的输入通道变得更少,这可能会损害表示能力。有趣的是,我们还注意到,对于 ShuffleNet 等较小的模型,0.25× 较大的组数往往会始终如一地获得更好的结果,这表明更宽的特征图为较小的模型带来更多好处

4.1.2 Channel Shuffle vs. No Shuffle


shuffle 操作的目的是为多个组卷积层启用跨组信息流。表 3 比较了 ShuffleNet 结构(例如,组数设置为 3 或 8)在有/没有通道 shuffle 的情况下的性能。评估是在三种不同的复杂程度下进行的。很明显,channel shuffle 不断提高不同设置的分类分数。特别是当组数相对较大时(例如 g = 8),具有通道混洗的模型明显优于对应的模型,这表明了跨组信息交换的重要性

4.2. Comparison with Other Structure Units

最近在 VGG [30]、ResNet [9]、GoogleNet [33]、ResNeXt [40] 和 Xception [3] 中领先的卷积单元在大型模型(例如 ≥ 1GFLOPs)中追求最先进的结果,但确实没有充分探索低复杂度的条件。在本节中,我们调查了各种构建块,并在相同的复杂性约束下与 ShuffleNet 进行了比较。

为了公平比较,我们使用如表 1 所示的整体网络架构。我们将阶段 2-4 中的 ShuffleNet 单元替换为其他结构,然后调整通道数以确保复杂度保持不变。我们探索的结构包括:

  • VGG-like。遵循 VGG 网络 [30] 的设计原则,我们使用两层 3×3 卷积作为基本构建块。与 [30] 不同的是,我们在每个卷积之后添加了一个 Batch Normalization 层 [15],以使端到端训练更容易
  • ResNet。我们在实验中采用了“瓶颈”设计,这在 [9] 中被证明更有效。与 [9] 相同,瓶颈比率也是1:4。注**:在类似瓶颈的单元(如 ResNet、ResNeXt 或 ShuffleNet)中,瓶颈比率意味着瓶颈通道与输出通道的比率**。例如,bottleneck ratio = 1 : 4 表示输出特征图是瓶颈特征图宽度的 4 倍。
  • Xception-like。 [3] 中提出的原始结构涉及不同阶段的花哨设计或超参数,我们发现很难在小型模型上进行公平比较。相反,我们从 ShuffleNet(也相当于 g = 1 的 ShuffleNet)中删除了逐点分组卷积和通道 shuffle 操作。派生的结构与 [3] 中的“深度可分离卷积”具有相同的思想,这里称为 Xception-like 结构。
  • ResNeXt。我们使用 [40] 中建议的基数 = 16 和瓶颈比 = 1:2 的设置。我们还探索其他设置,例如瓶颈比 = 1 : 4,并得到类似的结果。

我们使用完全相同的设置来训练这些模型。结果如表 4 所示。在不同的复杂性下,我们的 ShuffleNet 模型明显优于大多数其他模型。有趣的是,我们发现特征图通道和分类精度之间存在经验关系。例如,在38个MFLOPs的复杂度下,VGG-like、ResNet、ResNeXt、Xception-like、ShuffleNet模型的Stage 4(见表1)的输出通道分别为50、192、192、288、576,这是一致的随着精度的提高。由于 ShuffleNet 的高效设计,我们可以为给定的计算预算使用更多的通道,因此通常会产生更好的性能。

请注意,上述比较不包括 GoogleNet 或 Inception 系列 [33, 34, 32]。我们发现为小型网络生成这样的 Inception 结构并非易事,因为 Inception 模块的原始设计涉及太多超参数。作为参考,第一个 GoogleNet 版本 [33] 有 31.3% 的 top-1 错误,代价是 1.5 GFLOP(见表 6)。更复杂的 Inception 版本 [34, 32] 更准确,但是,涉及显着增加的复杂性。最近,Kim 等人提出了一种名为 PVANET [19] 的轻量级网络结构,它采用 Inception 单元。我们重新实现的 PV ANET(输入大小为 224×224)具有 29.7% 的分类错误,计算复杂度为 557 MFLOPs,而我们的 ShuffleNet 2x 模型(g = 3)在 524 MFLOPs 中得到 26.3%(见表 6)。

4.3. Comparison with MobileNets and Other Frameworks

最近提出的 MobileNets [12],主要关注移动设备的高效网络架构。MobileNet 从 [3] 中汲取了深度可分离卷积的思想,并在小型模型上实现了最先进的结果。表 5 比较了各种复杂程度下的分类分数。很明显,我们的 ShuffleNet 模型在所有复杂性方面都优于 MobileNet。尽管我们的 ShuffleNet 网络是专门为小型模型(< 150 MFLOPs)设计的,但我们发现它仍然比 MobileNet 更好,因为它具有更高的计算成本,例如以 500 MFLOPs 为代价,比 MobileNet 1× 准确 3.1%。对于较小的网络(~40 MFLOPs),ShuffleNet 比 MobileNet 高出 7.8%。请注意,我们的 ShuffleNet 架构包含 50 层,而 MobileNet 只有 28 层。为了更好地理解,我们还在 26 层架构上尝试了 ShuffleNet,方法是在第 2-4 阶段删除一半的块(参见表 5 中的“ShuffleNet 0.5×浅层(g = 3)”)。结果表明,较浅的模型仍然明显优于相应的 MobileNet,这意味着 ShuffleNet 的有效性主要来自其高效的结构,而不是深度

表 6 将我们的 ShuffleNet 与一些流行的模型进行了比较。结果表明,具有相似精度的 ShuffleNet 比其他网络更有效。例如,ShuffleNet 0.5× 理论上比 AlexNet [21] 快 18 倍,分类分数相当。我们将在第 4.5 节评估实际运行时间。

还值得注意的是,简单的架构设计可以很容易地为 ShuffeNets 配备最新的进展,例如 [13, 26]。例如,在 [13] 中,作者提出了 Squeeze-and-Excitation (SE) 块,该块在大型 ImageNet 模型上实现了最先进的结果。我们发现 SE 模块也与主干 ShuffleNets 结合使用,例如,将 ShuffleNet 2× 的 top-1 error 提高到 24.7%(如表 5 所示)。有趣的是,虽然理论复杂度的增加可以忽略不计,但我们发现带有 SE 模块的 ShuffleNets 通常比移动设备上的“原始”ShuffleNets 慢 25 ∼ 40%,这意味着实际的加速评估对于低成本架构设计至关重要。在 4.5 节我们将做进一步的讨论。

4.4. Generalization Ability

为了评估迁移学习的泛化能力,我们在 MS COCO 对象检测任务上测试了我们的 ShuffleNet 模型 [23]。我们采用 Faster-RCNN [28] 作为检测框架,并使用公开发布的 Caffe 代码 [28, 17] 进行默认设置的训练。与 [12] 类似,模型在 COCO train+val 数据集上进行训练,不包括 5000 张小型图像,我们在小型集上进行测试。表 7 显示了在两种输入分辨率上训练和评估的结果的比较。将 ShuffleNet 2× 与复杂度相当的 MobileNet(524 与 569 MFLOPs)进行比较,我们的 ShuffleNet 2× 在两种分辨率上都大大超过了 MobileNet;我们的 ShuffleNet 1× 在 600× 分辨率上也取得了与 MobileNet 相当的结果,但复杂度降低了 ∼4×。我们推测,这一显著收益部分归功于 ShuffleNet 的简单架构设计,没有花里胡哨。

4.5. Actual Speedup Evaluation

最后,我们在 ARM 平台的移动设备上评估 ShuffleNet 模型的实际推理速度。尽管具有较大组数(例如 g = 4 或 g = 8)的 ShuffleNets 通常具有更好的性能,但我们发现它在我们当前的实现中效率较低。根据经验,g = 3 通常在准确性和实际推理时间之间进行适当的权衡。如表 8 所示,测试使用了三种输入分辨率。由于内存访问和其他开销,我们发现每降低 4 倍的理论复杂度通常会在我们的实现中导致 ∼2.6 倍的实际加速。尽管如此,与 AlexNet [21] 相比,我们的 ShuffleNet 0.5 倍模型在可比的分类精度下仍然实现了 ∼13 倍的实际加速比(理论加速比为 18 倍),这比之前的 AlexNet 级模型或加速方法(如 [14)要快得多, 16, 22, 42, 43, 38]。

【CV】ShuffleNet:通过 GroupConv 和 ChannelShuffle 实现轻量化 CNN 架构相关推荐

  1. 深度学习与计算机视觉教程(10) | 轻量化CNN架构 (SqueezeNet,ShuffleNet,MobileNet等)(CV通关指南·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/37 本文地址:https://www.showmeai.tech/article-d ...

  2. 轻量化CNN网络MobileNet系列详解

    MobileNet系列作为轻量级网络的代表,使得CNN轻量化和移动端的部署成为可能.MobileNet系列目前总共有三个版本, 分别是MobileNet v1.MobileNet v2和MobileN ...

  3. 【深度学习】轻量化CNN网络MobileNet系列详解

    深度学习100问 Author:louwill Machine Learning Lab MobileNet系列作为轻量级网络的代表,使得CNN轻量化和移动端的部署成为可能.MobileNet系列目前 ...

  4. 【CV】SqueezeNet:用于嵌入式设备的轻量化 CNN 压缩模型(0.5MB)

    SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size 论文名称:SqueezeNe ...

  5. 经典网络结构 (八):轻量化网络 (SqueezeNet, MobileNet, ShuffleNet)

    目录 SqueezeNet Fire Module: Squeeze and Expand SqueezeNet SqueezeNet 总结 MobileNet 深度可分离卷积 (Depthwise ...

  6. 轻量化神经网络模型总结:SqueezeNet、Xception、MobileNet、ShuffleNet

    总结今年来的几个轻量化模型:SqueezeNet.Xception.MobileNet.ShuffleNet 下面给出时间轴: 2016.02 伯克利&斯坦福提出 SqueezeNet 201 ...

  7. 【DeepCV】轻量化模型 Lightweight model

    Backto DeepCV CNN 在CV领域大放异彩,但是网络层数不断增加,模型体积越来越大,引出了实用中的效率问题.效率问题主要是模型的存储问题和模型进行预测的速度问题(以下简称速度问题) 第一, ...

  8. Mobile-Former来了!微软提出:MobileNet+Transformer轻量化并行网络

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 转载自:集智书童 Mobile-Former: Bridging MobileNet and Transfo ...

  9. CVPR 2022 | Mobile-Former来了!微软提出:MobileNet+Transformer轻量化并行网络

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 转载自:集智书童 Mobile-Former: Bridging MobileNet and Transfo ...

  10. 目标检测算法——YOLOv5/YOLOv7改进之结合轻量化网络MobileNetV3(降参提速)

    >>>深度学习Tricks,第一时间送达<<< 论文题目:Searching for MobileNetV3 论文地址:https://arxiv.org/abs/ ...

最新文章

  1. java reference_java中的4种reference的差别和使用场景(含理论、代码和执行结果)...
  2. HTML 5 令人期待的 5 项功能
  3. SAP CS模块拓展项目实施建议书
  4. Oracle 排序中使用nulls first 或者nulls last 语法
  5. JavaScript中ajax如何不刷新,JavaScript基于Ajax实现不刷新在网页上动态显示文件内容...
  6. pat1011-1020
  7. 07-Python之面向对象编程(定义)
  8. JQuery AJAX请求结果的null为key时无法进入success方法
  9. android3.2以上切屏禁止onCreate()
  10. ubuntu自定义安装里怎么选_中央空调到底应该怎么选?小户型也能安装中央空调?行家说实话了...
  11. 接口(Interface)的作用
  12. 使用搭建的GNS3连接交换机互联互通
  13. 基于django的视频点播网站开发-step15-项目部署 1
  14. PPC电影下载地址收集
  15. 基因家族分析②:linux下blast的安装和使用
  16. input表单标签和label标签以及常使用标签的介绍
  17. centos 配置java环境
  18. MySQL事务的四种隔离界别以及会造成的问题和解决办法
  19. Java软件开发实习生面试题总结
  20. RFID定位原理及优劣势(优缺点)解读

热门文章

  1. HackTheBox-Magic-Walkthrough
  2. STM32嵌入式基础开发07-使用PS2手柄遥控麦克纳姆轮小车(7_PS2_Veh)
  3. 中国石油大学-《现代应用文写作》第一阶段在线作业
  4. revit二次开发概念_半天入门Revit二次开发
  5. 安卓手机如何防盗_如何使用IMEI号码追踪丢失的安卓(Android)手机
  6. ubuntu中wps字体添加
  7. echarts折线图鼠标悬浮竖线_设置Echarts鼠标悬浮样式
  8. 小白学习cartopy气象画地图的第二天(中国区域,陆地温度分布图)
  9. 智方8000系汽车配件进销存管理系统 襄樊石开软件公司
  10. Everthing搜索神器,工作利器