TensorFlow Lite para microcontroladores

O TensorFlow Lite para microcontroladores foi projetado para executar modelos de machine learning em microcontroladores e outros dispositivos com apenas alguns kilobytes de memória. O ambiente de execução principal cabe em 16 KB em um Arm Cortex M3 e pode executar vários modelos básicos. Ele não requer suporte a sistemas operacionais, bibliotecas C ou C++ padrão nem alocação de memória dinâmica.

Por que os microcontroladores são importantes

Normalmente, os microcontroladores são dispositivos de computação pequenos e de baixa potência incorporados em hardwares que exigem computação básica. Ao levar o machine learning para pequenos microcontroladores, podemos aumentar a inteligência de bilhões de dispositivos que usamos em nossas vidas, incluindo eletrodomésticos e dispositivos de Internet das Coisas, sem depender de hardware caro ou conexões de Internet confiáveis, que geralmente estão sujeitas a restrições de largura de banda e energia e resultam em alta latência. Isso também ajuda a preservar a privacidade, já que nenhum dado deixa o dispositivo. Imagine eletrodomésticos inteligentes que podem se adaptar à sua rotina diária, sensores industriais inteligentes que entendem a diferença entre problemas e operação normal e brinquedos mágicos que podem ajudar as crianças a aprender de maneiras divertidas e agradáveis.

Plataformas compatíveis

O TensorFlow Lite para microcontroladores foi escrito em C++ 17 e requer uma plataforma de 32 bits. Ela foi amplamente testada com muitos processadores baseados na arquitetura da série Arm Cortex-M e foi transferida para outras arquiteturas, incluindo ESP32. O framework está disponível como uma biblioteca Arduino. Ele também pode gerar projetos para ambientes de desenvolvimento, como o Mbed. Ele é de código aberto e pode ser incluído em qualquer projeto C++ 17.

As seguintes placas de desenvolvimento têm suporte:

Explorar os exemplos

Cada aplicativo de exemplo está no GitHub e tem um arquivo README.md que explica como ele pode ser implantado nas plataformas compatíveis. Alguns exemplos também têm tutoriais completos que usam uma plataforma específica, conforme mostrado abaixo:

Fluxo de trabalho

As etapas a seguir são necessárias para implantar e executar um modelo do TensorFlow em um microcontrolador:

  1. Treine um modelo:
  2. Execute inferência no dispositivo usando a biblioteca C++ e processe os resultados.

Limitações

O TensorFlow Lite para microcontroladores foi projetado para as restrições específicas do desenvolvimento de microcontroladores. Se você está trabalhando em dispositivos mais potentes (por exemplo, um dispositivo Linux incorporado, como o Raspberry Pi), o framework padrão do TensorFlow Lite pode ser mais fácil de integrar.

Considere as seguintes limitações:

  • Suporte a um subconjunto limitado de operações do TensorFlow
  • Suporte para um conjunto limitado de dispositivos
  • API em C++ de baixo nível que exige gerenciamento manual de memória
  • O treinamento no dispositivo não é compatível

Próximas etapas