我从Custom Vision下载了一个tensorflow模型,并希望在珊瑚tpu上运行它。因此,我将其转换为tensorflow-lite并应用混合后训练量化(据我所知,这是唯一的方法,因为我无法访问训练数据)。 您可以在此处查看代码:https://colab.research.google.com/drive/1uc2-Yb9Ths6lEPw6ngRpfdLAgBHMxICk 然后,当我尝试为边缘tpu编译它时,得到以下信息:
EnumSet
知道我的问题是什么吗?
答案 0 :(得分:1)
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,只需调整生成器函数以产生代表性样本(例如,相似的图像,以达到图像分类网络应预测的水平)即可。很少有图像足以使转换器识别出最小值和最大值并量化模型。但是,与量化意识学习相比,您的准确性通常较低。
答案 1 :(得分:0)
我找不到源,但是我相信边缘TPU当前仅支持8位量化模型,并且没有混合运算符。
编辑:在珊瑚FAQ上,他们提到该模型需要完全量化。
您需要将模型转换为TensorFlow Lite,并且必须为 使用量化意识训练(推荐)或 全整数训练后量化。