首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EfficientNet-lite详解:当前最强移动端轻量神经网络

EfficientNet-lite详解:当前最强移动端轻量神经网络

作者头像
用户7164815
发布2020-04-08 12:06:43
3.9K0
发布2020-04-08 12:06:43
举报

概述

3.17日谷歌在 GitHub 与 TFHub 上同步发布了 EfficientNet-lite,EfficientNet的端侧版本,运行在 TensorFlow Lite 上,针对端侧 CPU、GPU 和 EdgeTPU 做了优化。EfficientNet-lite提供五个不同版本(EfficientNet-lite0~4),让用户能够根据自己的应用场景和资源情况在延迟、参数量和精度之间做选择。

EfficientNet-Lite4 是计算量最大的版本,在 ImageNet上的top-1准确率达到了80.4%,同时能够以30ms/image的速度运行在 Pixel 4 的 CPU 上。EfficientNet-lite 具体的精度和延时参数的关系如下图所示。可见其已经把MobileNet V2,ResNet 50,Inception v4等模型远远甩在背后。

原理

EfficientNet-lite进行了一系列的优化:

量化。定点运算的速度要比浮点运算快很多,在移动设备算力有限的场景下,量化必不可少。但量化使用了定点数,表示范围相对于浮点数小很多,必然存在精度的损失。借助 TensorFlow Lite 中提供的训练后量化流程来对模型进行量化处理,尽可能地降低了对准确率的影响。通过量化,模型大小减少为1/4,推理速度提升近2倍。

EfficientNet-lite0 浮点模型float32与int8量化版本在模型尺寸、精度及时延的对比:

结构和算子优化。去除 squeeze-and-excitation 结构,因为目前在端侧设备上支持欠佳。

使用 Relu6替代swish 激活函数,swish激活复杂度高,并且对量化有不利影响。

放缩模型尺寸时固定 stem 与 head 模块,减少放缩后模型的大小与计算量。

使用

对于用户个性化的数据集,建议使用 TensorFlow Lite Model Maker,在已有 TensorFlow 模型上使用迁移学习。TensorFlow Lite Model Maker 支持很多模型结构,包括 MobileNetV2 和所有5个版本的 EfficientNet-Lite。以下为使用 EfficientNet-lite0 进行鲜花分类的代码,只要五行。

# Load your custom dataset

data = ImageClassifierDataLoader.from_folder(flower_path)

train_data, test_data = data.split(0.9)# Customize the pre-trained TensorFlow model

model = image_classifier.create(train_data, model_spec=efficienetnet_lite0_spec)# Evaluate the model

loss, accuracy = model.evaluate(test_data)# Export as TensorFlow Lite model.

model.export('image_classifier.tflite', 'image_labels.txt')

通过改变 model_spec 参数,可以尝试不同的模型。模型建立好以后,可以将其构建为移动端 app,把自己个性化的模型存放在 asset 文件夹。

展望

EfficientNet-lite是端侧部署的福音,没有特别复杂的算子,时延低,精度高,轻易打败了MobileNet,大家可以把以前用的MobileNet替换掉了。

附录

官方Github:

https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet/lite

官方Blog:

https://blog.tensorflow.org/2020/03/higher-accuracy-on-vision-models-with-efficientnet-lite.html

EfficientNet论文链接:https://arxiv.org/abs/1905.11946

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI人工智能与大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 原理
  • 使用
  • 展望
  • 附录
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档