Tensorflow &引用;“模型未量化”;即使在培训后

Tensorflow &引用;“模型未量化”;即使在培训后,tensorflow,tensorflow-lite,google-coral,Tensorflow,Tensorflow Lite,Google Coral,我从CustomVision下载了一个tensorflow模型,并想在coral tpu上运行它。因此,我将其转换为tensorflow lite并应用混合训练后量化(据我所知,这是唯一的方法,因为我无法访问训练数据)。 您可以在此处看到代码: 然后,当我尝试为边缘tpu编译它时,我得到以下结果: Edge TPU Compiler version 2.0.258810407 INFO: Initialized TensorFlow Lite runtime. Inval

我从CustomVision下载了一个tensorflow模型,并想在coral tpu上运行它。因此,我将其转换为tensorflow lite并应用混合训练后量化(据我所知,这是唯一的方法,因为我无法访问训练数据)。 您可以在此处看到代码: 然后,当我尝试为边缘tpu编译它时,我得到以下结果:

    Edge TPU Compiler version 2.0.258810407
    INFO: Initialized TensorFlow Lite runtime.
    Invalid model: model.tflite
    Model not quantized

知道我的问题是什么吗?

我找不到来源,但我相信edge TPU目前只支持8位量化模型,没有混合运算符

编辑:在珊瑚上,他们提到模型需要完全量化

您需要将模型转换为TensorFlow Lite,并且必须 使用量化感知训练(推荐)或 全整数训练后量化


tflite模型没有使用
converter.optimizations=[tf.lite.Optimize.Optimize\u FOR\u SIZE]
进行完全量化。您可以使用表示数据集查看训练后的完整整数量化:只需调整生成器函数以生成具有代表性的样本(例如,类似图像,以符合图像分类网络的预测)。很少的图像足以让转换器识别最小值和最大值并量化模型。然而,与量化感知学习相比,您的准确度通常较低。

hmm。。那么就没有办法创建量子化的tensorflow lite模型了,对吗?(因为我没有原始数据)@Michael,不幸的是没有。如果我是对的,你需要研究量化感知训练,这要求你训练模型,当然也需要训练数据。@Michael在Corals常见问题解答上找到了一个参考,似乎暗示你需要完全量化模型才能工作。请参阅我的编辑。