是否可以量化tflite模型?

ner*_*tex 3 android tensorflow tensorflow-lite firebase-mlkit

我有一个.pb模型,我想将其用作自定义MLKit模型。MLKit仅支持.tflite模型,但即使在我使用tocoTensorFlow Lite模型后,文件大小对于Firebase还是太大(95 MB,仅允许40 MB)。

有没有一种方法可以量化图,然后转换为TFLite或量化.tflite图?

当我做前者时,我收到以下错误消息: Unsupported TensorFlow op: Dequantize) for which the quantized form is not yet implemented. Sorry, and patches welcome (that's a relatively fun patch to write, mostly providing the actual quantized arithmetic code for this op).

suh*_*shs 5

由于您主要对减小模型大小感兴趣,因此可以将--post_training_quantize标志传递给TOCO。这应将权重存储在8位,并在推理期间进行量化以进行浮点计算。根据模型和问题,这可能会影响一些准确性,因此请在结果模型上运行评估,并确保其达到所需标准。

如果要使用整数计算运行模型,则可以进行量化训练,并使用以下训练重写将具有TOCO的结果图转换为TFLite:https : //github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/量化

这涉及更多,并且涉及在冻结并提供给TOCO之前对张量流模型进行一些重新训练。

此外,--post_training_quantize在接下来的几周内,我们将对标记的延迟时间进行一些小的修复,并采用更简单的方法对模型进行完全量化,以进行快速推断。