【问题标题】:Why the MobileNetV2 is faster than MobileNetV1 only at mobile device?为什么 MobileNetV2 仅在移动设备上比 MobileNetV1 快?
【发布时间】:2018-05-17 07:31:02
【问题描述】:

我正在研究 Google 全新的 MobileNetV2 架构。

在学习期间,我在 Tensorflow 模型动物园 Github 上读过这个字符串

'例如,Mobilenet V2 在移动设备上比 Mobilenet V1 更快,但在桌面 GPU 上稍慢。'

所以,我的问题是,

这怎么可能?我真的很想知道为什么。

【问题讨论】:

  • 它可能在设计和调整时考虑了移动体验。
  • 谢谢!但是,对此有什么确切的解释吗? :( 不太可能
  • 你可以阅读关于MobileNetV2的论文。这是pdf
  • 我已经看过论文,但没有说明原因。我不是花花公子。

标签: tensorflow mobile gpu


【解决方案1】:

来自https://arxiv.org/abs/1903.08469v1

“但是,MobileNet V2 使用 GPU 固件不直接支持的深度可分离卷积(cuDNN 库)。因此,在大多数实验设置中,MobileNet V2 往往比 ResNet18 慢。请注意同样的问题不符合使用 DenseNet 架构 [12] 的资格,因为它需要对非连续张量进行有效卷积,而 cuDNN 仍然不支持。”

【讨论】:

  • 谢谢。对我来说真的可以理解:)
  • 但 V1 也使用深度可分离卷积。
  • @XiaXuehai,可能有两个因素促成了这一点:1)MobileNetV1 有 13 个深度可分离卷积,而 MobileNetV2 有 17 个。 2) MobileNetV1 使用 64/12/256/512/1024 通道进行深度卷积,而 MobilNetV2 使用 96/192/384/768/1536 通道。因此,MobileNetV2 在 GPU 上可能比 V1 慢。按照这个理由,在 CPU 上,由于通道减少(瓶颈),MobileNetV2 将比 V1 更快。在 V2 中,1x1 卷积中的通道数除以 6。在 V2 中,只有深度卷积使用这么多的通道数,而不是 1x1 卷积。
  • @M.Riché 更新的 cuDNN 版本仍然如此吗?最近有没有人对 V1 和 V2 进行基准测试?
【解决方案2】:

来自他们在MobileNetV2: Inverted Residuals and Linear Bottlenecks 发表的论文,

在子主题 5 下:实施说明,5.1。内存高效推理;

倒置的残差瓶颈层允许特别 内存高效的实现,非常 对移动应用很重要。 (以及更多的论文)

据 TensorFlow 团队称,它经过优化,体积更小,也可以用作 TF Lite。据我们所知,TF Lite 确实适合移动使用。它在桌面 GPU 上要慢得多,可能 V2 与 V1 相比具有更多的卷积层,如果训练需要更多时间才能完成,这很有意义。目前,我们没有在移动设备上进行数据的训练和推理,因为计算速度的饥渴也会导致电力饥渴。

希望我能回答这个问题。

【讨论】:

    猜你喜欢
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 2018-02-22
    • 2019-04-14
    • 2014-04-25
    相关资源
    最近更新 更多