7.9. TensorFlow Lite for Microcontrollers

TFLM é o runtime que a maioria das câmeras usa para executar um modelo carregado. Ele analisa o arquivo .tflite – um FlatBuffer de operadores, pesos e formatos de tensores – e percorre a lista de operadores em ordem, despachando cada operador para um kernel que produz o próximo tensor intermediário.

Os tensores intermediários residem em uma arena de tensores de tamanho fixo alocada no momento do carregamento. A câmera dimensiona a arena em duas passagens: primeiro, um interpretador descartável é construído contra o máximo de heap livre para que o modelo possa relatar a memória de trabalho de que precisa; o interpretador persistente é então alocado com exatamente esse tamanho mais uma pequena margem. Modelos menores deixam mais heap livre para o restante do script.

O TFLM é o motor no H7, no RT1062 e no AE3.

Three columns side by side. Left: H7 and RT1062 run TFLM with CMSIS-NN kernels on a Cortex-M7. Middle: AE3 runs TFLM with CMSIS-NN and the Ethos-U operator on a Cortex-M55 with an Ethos-U55 NPU. Right: N6 runs STAI on a Neural-ART NPU.

O motor no meio de predict() é uma pilha diferente em cada família de câmera.

7.9.1. O resolvedor de operadores

O TFLM não inclui todos os kernels. A câmera vincula um resolvedor que lista os operadores que ela pode executar, e um modelo carregado contra o resolvedor falha no momento do carregamento se contiver um operador que não esteja na lista. A build distribuída registra os operadores comuns em redes de visão e de processamento de sinais – as camadas de convolução e densas, as camadas de pooling e ativação, os operadores de reshape e concat, os operadores de quantização e dequantização – de modo que um modelo treinado contra uma das arquiteturas padrão (YOLO, MediaPipe, MobileNet) carrega sem estender a lista.

A build do AE3 registra adicionalmente o operador Ethos-U. Um modelo compilado pelo Vela é, no mais, um .tflite normal, e o TFLM o percorre normalmente; os subgrafos marcados pelo Vela atingem o operador Ethos-U e despacham para a NPU.