「Google」精度延迟两不误,移动端性能新SOTA,谷歌TF开源轻量级EfficientNet( 二 )
本文插图
量化图示 。
在下面的示例中 , 输出张量范围由-168 到 204:
本文插图
这表明 , 由于很难将大范围的浮点张量拟合至 8 位整型 bucket , 准确度可能已经损失太多了 。
为了解决这一问题 , 研究者将 swish 激活函数替换为「约束范围的」激活函数(relu6) , 因为后者将输出范围限制在 [0, 6] 。 做出此改变后 , 量化模型在 ImageNet 数据集上的 Top-1 准确度由之前的 46% 回升至 74.4% 。
在数据集上尝试使用 EfficientNet-Lite
现在我们可以看看如何使用 EfficientNet-Lite 在你的数据集上的性能表现 。 官方博客建议使用 TensorFlow Lite Model Maker , 这是一个可以在已有 TensorFlow 模型上应用迁移学习的工具 。 其中 , 用户可以使用自己的输入数据 , 并以 TensorFlow Lite 的形式输出模型 。
TensorFlow Lite Model Maker 支持很多模型架构 , 包括 MobileNetV2 和所有变体版本的 EfficientNet-Lite 。 以下为使用 EfficientNet-Lite0 进行图像分类的代码 , 只需要五行就够了 。
# Load your custom datasetdata = http://news.hoteastday.com/a/ImageClassifierDataLoader.from_folder(flower_path)train_data, test_data = data.split(0.9)# Customize the pre-trained TensorFlow modelmodel = image_classifier.create(train_data, model_spec=efficienetnet_lite0_spec)# Evaluate the modelloss, accuracy = model.evaluate(test_data)# Export as TensorFlow Lite model.model.export('image_classifier.tflite', 'image_labels.txt')
通过改变 model_spec 参数 , 你可以很容易地尝试不同的模型 。 对于小数据集 , 如 tf_flowers , 你可以达到 92% 的准确率 , 而且只需要几分钟时间 , 训练 5 个 epoch 。 如果训练更多 epoch , 采用更多数据 , 或者微调整个模型 , 效果还能更好 。
模型建立好以后 , 可以将其构建为移动端 app 。 App 会自动下载在 ImageNet 数据集上预训练过的 EfficientNet-Lite , 并存放在 asset 文件件 。 如果你想定制化自己的模型 , 可以替换掉该文件夹中的模型 。
本文插图
从截图上可以看到 , 模型可以实现实时推理速度(>= 30 fps) 。
【「Google」精度延迟两不误,移动端性能新SOTA,谷歌TF开源轻量级EfficientNet】参考链接:https://blog.tensorflow.org/2020/03/higher-accuracy-on-vision-models-with-efficientnet-lite.html?linkId=84432329
- 『cnBeta』Cloud开测Memystorore分布式缓存服务,Google
- 「波导」高精度电压源在半导体激光器测试中的应用
- 【艺术】Google 推新功能让你把照片变成艺术家画作风格
- #动点科技#的众包问答应用 Neighbourly 将在 5 月停止服务,Google
- #右手网#使用机器学习技术来优化 Google Duo 视频通话质量,Google
- 『右手网』Google 使用机器学习技术来优化 Google Duo 视频通话质量
- [Google Play]App Store和Google Play 2020年收入将超千亿美元 同比增收20%
- 『Google』ATFX:谷歌股价在1024存在支撑 价格循环完成后预计将开启慢牛走势
- 『智通财经』4月1日停牌,福泽集团(08108)延迟刊发年度报告
- 右手网:Google Assistant 可以准备“快捷方式”和支持的应用程序的内置列表,新的
