上周52CV曾经第一时间报道了谷歌新出的算法EfficientNet: 谷歌大脑提出EfficientNet平衡模型扩展三个维度,取得精度-效率的最大化! 引起了大家的广泛关注。 在EfficientNet的系列模型中EfficientNet-B7在ImageNet数据集上达到 state-of-the-art 84.4% top-1 / 97.1% top-5 精度(这是目前ImageNet库上报告的最高精度),并且难能可贵的是,相比之前最好的方法模型size还减小8.4倍,速度快了6.1倍!! CV君在前文中说“这可能是一篇要改变整个深度卷积网络模型设计的论文了”,果不其然,这两天EfficientNet已然刮起了一阵旋风! 其实对于EfficientNet模型,谷歌家是已经开源了的: https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet (当然是用TensorFlow实现的) 可是这么好的算法,怎么能没有PyTorch的实现? 在Github上搜索“EfficientNet“: 排名第一的就是基于PyTorch实现的,其居然在短短四天时间有1.1K颗星! 这套代码的作者为来自哈佛大学数学与计算机系的高材生Luke Melas-Kyriazi: 这是什么概念呢? 前几天谷歌刚刚公布的MobileNetV3(重磅!MobileNetV3 来了!),当时谷歌没有开源,有大佬实现后挂到GitHub上: 经过10天,最被关注的实现也只有398颗星。 何恺明大神的ResNet开源三年多了, 累积了4.8K 颗星。EfficientNet-PyTorch只用了四天已经接近其1/4了! 现在你可以使用EfficientNet-PyTorch方便进行模型加载、图像分类、特征提取,当然也可以在ImageNet库上评估算法。 作者并没有自己训练出模型权重(后续训练出来会公布),而是直接将谷歌开源的模型转成PyTorch的: 目前,谷歌只提供了前四个稍轻量级模型的下载(至于为什么没提供后面四个模型的下载,有人在GitHub上提问了,官方至今还没有回答)。 看到上面的表格,我们有必要跟MobileNetV3比较一下,下面是MobileNetV3公布的ImageNet上的分类结果: EfficientNet-B0参数量5.3 M与MobileNetV3参数量5.4 M接近,但在Top-1精度上EfficientNet-B0却足足比MobileNetV3 高1.1个百分点! 短命的MobileNetV3这才出来没几天,就这样硬生生给比下去了。。。 不过值得一提的是,EfficientNet是一种模型扩展方法,当然也可以将MobileNetV3作为EfficientNet的基模型,扩展得到一系列新模型,真正鹿死谁手还不一定呢^_^ |
|