我从Custom Vision下载了一个tensorflow模型,并希望在珊瑚tpu上运行它。因此,我将其转换为tensorflow-lite,并应用混合训练后量化(据我所知,这是唯一的方法,因为我无法访问训练数据)。你可以在这里看到代码:https://colab.research.google.com/drive/1uc2-Yb9Ths6lEPw6ngRpfdLAgBHMxICk当我尝试为边缘tpu编译它时,我得到了以下结果:
Edge TPU Compiler version 2.0.258810407
INFO: Initialized TensorFlow Lite runtime.
Invalid model: model.tflite
Model not quantized你知道我的问题是什么吗?
发布于 2019-09-27 03:22:34
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只需调整您的生成器函数以生成具有代表性的样本(例如,与您的图像分类网络应该预测的图像相似)。很少的图像足以让转换器识别最小和最大值并量化您的模型。然而,通常情况下,与量化感知学习相比,您的准确性较低。
发布于 2019-08-11 19:11:52
我找不到来源,但我相信edge TPU目前只支持8位量化模型,没有混合运算符。
编辑:在珊瑚FAQ上,他们提到模型需要完全量化。
您需要将模型转换为TensorFlow精简版,并且必须使用量化感知训练(推荐)或全整数训练后量化对其进行量化。
https://stackoverflow.com/questions/57447933
复制相似问题