谷歌EfficientNet缩放模型,PyTorch实现登热榜

2019 年 6 月 4 日 机器学习算法与Python学习
郭一璞 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

谷歌上个月底提出的EfficientNet开源缩放模型,在ImageNet的准确率达到了84.1%,超过Gpipe,已经是当前的state-of-the-art了。

出炉没几天,官方TensorFlow版本在GitHub上就有了1300+星。

现在,哈佛数学系小哥哥Luke Melas-Kyriazi开源了自己的PyTorch实现,包含与训练模型和Demo。

啥是EfficientNet

EfficientNets是一种新的模型缩放方法,准确率比之前最好的Gpipe提高了0.1%,但是模型更小更快,参数的数量和FLOPS都大大减少,效率提升了10倍。

复合缩放(compound scaling)的方法,与缩放神经网络的传统方法不同,用一组固定的缩放系数统一缩放每个维度。

实现复合缩放的首先是执行网格搜索,以在固定资源约束下找到基线网络(baseline model)的不同缩放维度之间的关系,确定每个维度的缩放比例系数。然后将这些系数将应用于基线网络,扩展到所需的目标模型大小或计算力。

模型缩放的有效性也在很大程度上依赖于基线网络。因此,为了进一步提高性能,谷歌还使用AutoML MNAS框架优化了模型的准确率和效率,执行神经架构搜索来开发新的基线网络。

安装使用方式

可以使用pip安装

1pip install efficientnet_pytorch

或者用源代码安装

1git clone https://github.com/lukemelas/EfficientNet-PyTorch
2cd EfficientNet-Pytorch
3pip install -e .

加载EfficientNet

1from efficientnet_pytorch import EfficientNet
2model = EfficientNet.from_name(‘efficientnet-b0’)

加载预训练模型

1from efficientnet_pytorch import EfficientNet
2model = EfficientNet.from_pretrained(‘efficientnet-b0’)

模型具体详情:

有Demo

Luke还准备了一份Colab笔记本Demo。

示例中,先悄咪咪的扔一只胖达。

嘿,果然认出来是胖达。

传送门

GitHub
https://github.com/lukemelas/EfficientNet-PyTorch

Google原论文
EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
Mingxing Tan, Quoc V. Le
https://arxiv.org/abs/1905.11946

Colab Demo
https://colab.research.google.com/drive/1Jw28xZ1NJq4Cja4jLe6tJ6_F5lCzElb4

推荐阅读

“IEEE事件”第 7 天,学术无国界从来就不是一句空话,解除对华为评审限制

出身清华姚班,斯坦福博士毕业,她的毕业论文成了「爆款」

Python爬取20w+表情包,微信斗图谁怕谁!

CVPR多位主席联名公开信力挺华为:IEEE限制华为等评审参会,我们不!


喜欢就点击“在看”吧!
登录查看更多
11

相关内容

专知会员服务
59+阅读 · 2020年3月19日
谷歌BERT模型深度解析
AINLP
42+阅读 · 2018年11月15日
资源 | Github项目:斯坦福大学CS-224n课程中深度NLP模型的PyTorch实现
黑龙江大学自然语言处理实验室
10+阅读 · 2017年11月13日
用 Scikit-Learn 和 Pandas 学习线性回归
Python开发者
9+阅读 · 2017年9月26日
Learning to See Through Obstructions
Arxiv
7+阅读 · 2020年4月2日
Arxiv
8+阅读 · 2018年11月21日
Arxiv
3+阅读 · 2018年6月1日
Arxiv
4+阅读 · 2017年7月25日
VIP会员
相关VIP内容
专知会员服务
59+阅读 · 2020年3月19日
相关论文
Top
微信扫码咨询专知VIP会员