Конвертація моделі у TensorFlow Lite-формат для мобільних пристроїв
TensorFlow Lite — стандартний формат для ML на Android, iOS та embedded Linux. Підтримує апаратне прискорення через NNAPI (Android), GPU delegate, Hexagon DSP, Apple Core ML delegate.
Пайплайн конвертації
TF/Keras → TFLite:
converter = tf.lite.TFLiteConverter.from_keras_model(model)
converter.optimizations = [tf.lite.Optimize.DEFAULT] # post-training quantization
tflite_model = converter.convert()
PyTorch → ONNX → TFLite:
PyTorch не має прямого шляху. torch.onnx.export → onnx-tf → TFLite. Втрати при подвійній конвертації — ретельне тестування обов'язкове.
Квантизація
Post-Training Quantization:
- Dynamic range: ваги квантизуються в INT8, активацій залишаються float. Мінімальні втрати якості
- Full integer: і ваги, і активацій INT8. Потребує representative dataset для калібрування. Найкраща продуктивність
- Float16: добре для GPU delegate
Quantization-Aware Training (QAT): тренування з симуляцією квантизації → краща якість при INT8
Вибір Delegate
| Платформа | Delegate | Прискорення (vs CPU) |
|---|---|---|
| Android GPU | GPU Delegate | 3–10x |
| Qualcomm | NNAPI/Hexagon | 5–20x |
| iOS | Core ML Delegate | 5–15x |
| Edge TPU | EdgeTPU Delegate | 100x (INT8 only) |







