1

要求

我正在开发一个具有标签功能的照片管理 Android 应用程序,它必须识别日常物体/建筑物/动物/植物。当我拍一张显示自行车、房子和山的照片时,我的应用程序会将照片添加到这些类别中的每一个。

Tensorflow + 预训练的 MobileNet v2完全符合要求,我的依赖项是build.gradle

implementation 'org.tensorflow:tensorflow-android:1.2.0'

问题

问题:它使 APK 增长十倍至 32 MB,这对于我的目标受众(移动数据计划缓慢/昂贵且没有 WiFi/LAN/宽带的人)来说是不可接受的。

问题:我可以使用什么技巧使 Tensorflow + 预训练的 MobileNet v2 变得更小?

特别是,如何从 Tensorflow 中去除标注时不使用的类?不会在 Android 上进行任何培训,例如,我不需要所有培训课程。如果需要,我可以重新编译,但也欢迎使用任何其他方法。

4

1 回答 1

0

您可以采取一些措施来减小模式大小,

  1. 使用 alpha 0.25 的 Mobilenet 将模型尺寸减小约 4 倍
  2. 尝试转换为 .tflite
  3. 量化您的 .tflite 模型也将缩小 4 倍

您可以在这里阅读很多内容,我假设您的模型在转换后将是 4MB。

于 2019-10-09T05:43:40.373 回答