用于在 TensorFlow 中优化的 TFLiteConverter 参数 1.x
TFLiteConverter parameters for optmization on TensorFlow 1.x
我一直在学习如何使用 TFLiteConverter 在 TensorFlow 2.x 上进行量化,但是我正在 TensorFlow 1.13 上实施一个项目,我想知道如何在这个版本上做同样的事情。
例如,据我观察,以下命令执行相同的操作
# tf 1.x
converter.post_training_quantize = True
# tf 2.x
converter.optimizations = [tf.lite.Optimize.OPTIMIZE_FOR_SIZE]
对吗?还有整数量化和量化感知训练,如何实现它们?
据我所知,下面两个是等价的。
# tf 1.x
converter.post_training_quantize = True
# tf 2.x
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.optimizations = [tf.lite.Optimize.OPTIMIZE_FOR_SIZE]
用于全整数量化。
请注意,与量化感知训练 (QAT) 相比,post 训练量化很简单,但 QAT 提供更高的模型精度。一般建议使用post训练量化。如果post训练量化的性能达不到你的要求,那就去QAT吧。
您可能已经知道,可以进行多个级别的量化来优化大小和性能。以下指南涵盖了完整的整数量化和其他技术(浮点量化、float16 量化等)
https://www.tensorflow.org/lite/performance/model_optimization
这是遵循 QAT 准则的最佳资源。
https://www.tensorflow.org/model_optimization/guide/quantization/training
我一直在学习如何使用 TFLiteConverter 在 TensorFlow 2.x 上进行量化,但是我正在 TensorFlow 1.13 上实施一个项目,我想知道如何在这个版本上做同样的事情。
例如,据我观察,以下命令执行相同的操作
# tf 1.x
converter.post_training_quantize = True
# tf 2.x
converter.optimizations = [tf.lite.Optimize.OPTIMIZE_FOR_SIZE]
对吗?还有整数量化和量化感知训练,如何实现它们?
据我所知,下面两个是等价的。
# tf 1.x
converter.post_training_quantize = True
# tf 2.x
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.optimizations = [tf.lite.Optimize.OPTIMIZE_FOR_SIZE]
用于全整数量化。
请注意,与量化感知训练 (QAT) 相比,post 训练量化很简单,但 QAT 提供更高的模型精度。一般建议使用post训练量化。如果post训练量化的性能达不到你的要求,那就去QAT吧。
您可能已经知道,可以进行多个级别的量化来优化大小和性能。以下指南涵盖了完整的整数量化和其他技术(浮点量化、float16 量化等)
https://www.tensorflow.org/lite/performance/model_optimization
这是遵循 QAT 准则的最佳资源。
https://www.tensorflow.org/model_optimization/guide/quantization/training