【问题标题】:Tensorflow Object Detection Performance Drop in AndroidAndroid 中的 TensorFlow 对象检测性能下降
【发布时间】:2020-01-23 20:24:52
【问题描述】:

我最近使用 Tensorflow 1.15 训练了一个对象检测模型,使用 Python 的测试结果很好。然而,在将其转换为 .tflite 格式后,在 Android 上运行该模型,其性能出现了急剧下降。

在模型转换为 tf-lite 期间是否会发生性能损失? 有没有办法避免在转换过程中出现这种性能损失?

参考:

培训来源:https://github.com/tensorflow/models/tree/master/research/object_detection

迁移学习的基础模型:ssd_mobilenet_v1

模型转换:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/running_on_mobile_tensorflowlite.md

Python 测试脚本:https://github.com/tensorflow/models/blob/master/research/object_detection/object_detection_tutorial.ipynb

Android 演示应用:https://github.com/tensorflow/examples/tree/master/lite/examples/object_detection

【问题讨论】:

    标签: android tensorflow object-detection tensorflow-lite


    【解决方案1】:

    我要做的第一步是使用本地 Python 解释器对其进行测试(转换后);那样的话,如果你在本地用 Python 测试,结果差很多,那就是转换有问题。通常,训练后量化不会大幅降低模型的准确度,在最坏的情况下只会降低 2-3%。

    如果当您将图像提供给本地 Python 解释器时结果还不错(即当您在本地测试转换后的 tf-lite 模型时),那么这意味着您提供输入数据的方式存在问题在安卓上。确保在向移动应用上的图像提供数据时应用完全相同的预处理步骤,例如在训练阶段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-21
      • 1970-01-01
      • 2021-05-11
      • 2017-05-28
      • 2017-12-02
      相关资源
      最近更新 更多