如何将TFLite模型转换为量化TFLite模型?

2024-02-23

我有一个 tflite 文件,我想对其进行量化。

如何将TFLite模型转换为量化TFLite模型?


请注意,您需要源模型来对其进行量化。由于 tflite 模型格式的限制,无法对其进行量化。

您的源模型可以是 TF saving_model、Keras 模型实例或 ONNX。您可以找到所有支持的源模型格式HERE https://www.tensorflow.org/api_docs/python/tf/lite/TFLiteConverter, e.g. converter.from_keras_model(nn_path)。对于 ONNX 转换,请检查这个工具 https://pypi.org/project/onnx2tf/.

有多种量化方法。最简单的方法是仅对权重执行训练后量化,其中 TF 引擎应用最小-最大量化来获取量化参数,例如比例和零点。

我建议检查 TFLite 网站上的文档:https://www.tensorflow.org/lite/performance/post_training_quantization https://www.tensorflow.org/lite/performance/post_training_quantization

直接代码是:

import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
converter.optimizations = [tf.lite.Optimize.DEFAULT] # applies PTQ on weights, if possible
tflite_quant_model = converter.convert()

一些额外的事情:您还可以查看量化感知训练(link https://www.tensorflow.org/model_optimization/guide/quantization/training)和混合精确训练(link https://www.tensorflow.org/guide/mixed_precision)在TF中直接得到量化权重,通过简单的TFLite转换就可以得到量化模型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将TFLite模型转换为量化TFLite模型? 的相关文章

随机推荐