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.

Três colunas lado a lado. Esquerda: H7 e RT1062 executam o TFLM com kernels CMSIS-NN em um Cortex-M7. Centro: AE3 executa o TFLM com CMSIS-NN e o operador Ethos-U em um Cortex-M55 com uma NPU Ethos-U55. Direita: N6 executa o STAI em uma NPU Neural-ART.

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.