7.9. TensorFlow Lite for Microcontrollers¶
TFLM je okruženje za izvođenje koje većina kamera koristi za izvršavanje učitanog modela. Raščlanjuje .tflite datoteku – FlatBuffer operatora, težina i oblika tenzora – i prolazi popis operatora redom, usmjeravajući svaki operator na jezgru koja proizvodi sljedeći međutenzor.
Međutenzori žive u tenzorskoj areni fiksne veličine dodijeljenoj u trenutku učitavanja. Kamera određuje veličinu arene u dva prolaza: prvo se gradi privremeni interpreter prema maksimalnoj slobodnoj gomili kako bi model mogao prijaviti radnu memoriju koju treba; trajni interpreter se zatim dodjeljuje s tom točnom veličinom uz malu rezervu. Manji modeli ostavljaju više slobodne gomile za ostatak skripte.
TFLM je pogon na H7, RT1062 i AE3.
Pogon u sredini predict() poziva je drugačiji niz na svakoj obitelji kamera.¶
7.9.1. Razlučivač operatora¶
TFLM ne isporučuje svaku jezgru. Kamera povezuje razlučivač koji navodi operatore koje može izvršiti, a model učitan prema razlučivaču ne uspijeva u trenutku učitavanja ako sadrži operator koji nije na popisu. Isporučena gradnja registrira operatore uobičajene u mrežama za vid i obradu signala – konvolucijske i guste slojeve, slojeve sažimanja i aktivacije, operatore preoblikovanja i spajanja, operatore kvantizacije i dekvantizacije – pa model treniran prema jednoj od standardnih arhitektura (YOLO, MediaPipe, MobileNet) učitava se bez proširivanja popisa.
AE3 gradnja dodatno registrira Ethos-U operator. Vela-kompilirani model inače je normalan .tflite, a TFLM ga normalno prolazi; podgrafovi označeni Velom pogađaju Ethos-U operator i usmjeravaju se na NPU.