【问题标题】:convert .pb model into quantized tflite model将 .pb 模型转换为量化的 tflite 模型
【发布时间】:2020-06-24 15:30:40
【问题描述】:

对 Tensorflow 来说是全新的, 我使用从 TensorFlow zoo 中找到的“faster_rcnn_inception_v2_coco_2018_01_28”模型创建了一个对象检测模型(.pb 和 .pbtxt)。它在 Windows 上运行良好,但我想在谷歌珊瑚边缘 TPU 上使用这个模型。如何将我的冻结模型转换为 edgetpu.tflite 量化模型?

【问题讨论】:

    标签: python tensorflow google-coral


    【解决方案1】:

    这个pipeline还有2个步骤:

    1) 转换.pb -> tflite:

    我不会详细介绍,因为 tensorflow 官方页面上有这方面的文档,并且它经常更改,但我仍然会尝试具体回答您的问题。有两种方法可以做到这一点:

    • 量化感知训练:这发生在模型训练期间。我认为这不适用于您,因为您的问题似乎表明您不了解此过程。但如果我错了,请纠正我。

    • 训练后量化:基本上加载您的模型,其中所有张量都是浮点类型,并将其转换为具有 int8 张量的 tflite 形式。同样,我不会详细介绍,但我会给你 2 个这样做的实际例子 :) a) with code b) with tflite_convert tools

    2) 从 tflite 编译模型 -> edgetpu.tflite:

    一旦您生成了一个完全量化的 tflite 模型,恭喜您的模型现在在 arm 平台上效率更高,并且尺寸更小。但是,除非您为 edgetpu 编译它,否则它仍将在 CPU 上运行。您可以查看this doc 以了解安装和使用情况。但是编译它很简单:

    $ edgetpu_compiler -s your_quantized_model.tflite
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-07
      • 2018-09-03
      • 2021-08-15
      • 2018-12-09
      • 1970-01-01
      • 2021-06-11
      • 1970-01-01
      • 2019-05-04
      相关资源
      最近更新 更多