Конвертация модели в 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 Selection
| Платформа | 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 только) |







