为什么 MobileNetV2 仅在移动设备上比 MobileNetV1 快?

Seo*_*Han 3 mobile gpu tensorflow

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

在学习期间,我在 Tensorflow model zoo Github 阅读了这个字符串

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

所以,我的问题是,

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

M. *_*ché 5

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

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

  • @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 卷积。 (2认同)