Конвертация модели для Edge (TensorFlow Lite Micro, TFLite, Edge TPU)
Три разных целевых платформы — три разных пайплайна конвертации. TFLite Micro для MCU, TFLite для мобильных/SBC, Edge TPU (Google Coral) для аппаратно ускоренного inference.
TFLite (мобильные / Raspberry Pi / x86 edge)
Стандартная конвертация:
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()
Поддерживает: INT8, FP16, dynamic range quantization. GPU delegate, NNAPI, Hexagon DSP.
TFLite Micro (MCU, <1 MB)
Subset операций TFLite, portable C++:
xxd -i model.tflite > model_data.cc # конвертация в C array
Поддерживается на: STM32, Arduino, ESP32, nRF52840. Набор операций ограничен — compatibility checker обязателен.
Edge TPU (Google Coral)
Edge TPU требует INT8 quantization. Только операции, поддерживаемые Edge TPU, выполняются аппаратно (остальное — CPU fallback):
edgetpu_compiler model_quant.tflite # компилятор Google Coral
Производительность: 4 TOPS (Coral USB), 4 TOPS (Coral PCIe M.2). Отлично для image classification и object detection.
Ограничение: модели >8 MB не помещаются полностью на Edge TPU — частичный fallback снижает ускорение. Проектировать под <8 MB для максимального ускорения.







