我从 Custom Vision 下载了一个 tensorflow 模型,并想在 Coral tpu 上运行它。因此,我将其转换为 TensorFlow-lite 并应用混合训练后量化(据我所知,这是唯一的方法,因为我无法访问训练数据)。 您可以在此处查看代码:https://colab.research.google.com/drive/1uc2-Yb9Ths6lEPw6ngRpfdLAgBHMxICk 当我尝试为 Edge tpu 编译它时,我得到以下结果:
Edge TPU Compiler version 2.0.258810407
INFO: Initialized TensorFlow Lite runtime.
Invalid model: model.tflite
Model not quantized
知道我的问题是什么吗?
最佳答案
tflite 模型未使用 converter.optimizations = [tf.lite.Optimize.OPTIMIZE_FOR_SIZE]
进行完全量化。您可能会使用表示数据集查看训练后全整数量化:https://www.tensorflow.org/lite/performance/post_training_quantization#full_integer_quantization_of_weights_and_activations只需调整您的生成器函数即可生成代表性样本(例如,相似的图像,您的图像分类网络应预测的内容)。很少的图像就足以让转换器识别最小值和最大值并量化您的模型。但是,与量化感知学习相比,您的准确性通常较低。
关于tensorflow - 即使在训练后量化后也是 "Model not quantized",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57447933/