【问题标题】:Make Tensorflow library + pretrained MobileNet as small as possible, to make APK smaller让 Tensorflow 库 + 预训练的 MobileNet 尽可能小,让 APK 更小
【发布时间】:2019-04-08 13:00:46
【问题描述】:

要求

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

Tensorflow + 预训练的 MobileNet v2 完全符合要求,我的 build.gradle 中有这种依赖关系:

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

问题

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

问题:我可以使用哪些技巧来使 Tensorflow + 预训练的 MobileNet v2 更小?

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

【问题讨论】:

标签: android tensorflow apk size-reduction


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2018-06-17
    • 2021-02-19
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多