Qu’est-ce que TensorFlow Lite et en quoi est-il un framework d’apprentissage en profondeur?

Vous avez peut-être rencontré TensorFlow Lite en passant par des cartes de développement Edge AI ou des projets d'accélération IA.

TensorFlow Lite est un cadre de progiciels qui permet la formation ML localement sur le matériel. Ce traitement et ce calcul sur l'appareil permettent aux développeurs d'exécuter leurs modèles sur du matériel ciblé. Le matériel comprend des cartes de développement, des modules matériels, des appareils embarqués et IoT.

Présentation du framework TensorFlow Lite

TensorFlow est un terme populaire dans l'apprentissage en profondeur, car de nombreux développeurs ML utilisent ce cadre pour divers cas d'utilisation. Il facilite la mise en œuvre de modèles d'apprentissage automatique et d'inférences pour les applications d'IA.

Mais TensorFlow Lite est un cadre d'apprentissage en profondeur pour l'inférence locale, en particulier pour le matériel informatique faible. Il permet l'apprentissage automatique sur l'appareil en aidant les développeurs à exécuter leurs modèles sur du matériel et des appareils IoT compatibles.

Un développeur doit sélectionner un modèle approprié en fonction du cas d'utilisation. Le cadre offre également la possibilité de recycler le modèle existant sur un ensemble de données personnalisé. Le modèle de tampon de protocole de TensorFlow étant de grande taille et nécessitant une puissance de calcul avancée, il permet ainsi la conversion du modèle TensorFlow en modèle TensorFlow Lite.

La personnalisation des paramètres d'optimisation et de quantification permet de réduire la taille du modèle et la latence.

Outre les avantages de latence et de taille de TensorFlow Lite, le cadre fournit la sécurité des données car la formation se produit localement sur l'appareil. De plus, aucune connexion Internet n'est nécessaire. Ainsi, le déploiement d'applications n'est pas limité à des zones spécifiques avec connectivité.

Ces facteurs réduisent finalement la charge de consommation d'énergie de l'appareil en éliminant le facteur de connectivité et en augmentant l'efficacité de l'inférence d'apprentissage en profondeur.

Les modèles du framework TensorFlow Lite existent dans un format multiplateforme appelé FlatBuffers. Il s'agit d'une bibliothèque de sérialisation qui stocke les données hiérarchiques dans un tampon binaire plat afin qu'un accès direct soit possible sans déballage. Vous pouvez également observer l'extension «.tflite» pour les modèles TensorFlow Lite. Cette technique de représentation permet des optimisations dans les calculs et réduit les besoins en mémoire. Par conséquent, ce qui le rend bien meilleur que les modèles TensorFlow

TinyML sur TensorFlow Lite Micro

Comme TensorFlow Lite est compatible avec diverses plates-formes pour les applications Edge AI, la nécessité de faire converger davantage la bibliothèque était nécessaire. Par conséquent, l'organisation a mis au point une bibliothèque de sous-ensembles de TensorFlow Lite, connue sous le nom de TensorFlow Lite Micro. TensorFlow Lite Micro exécute spécifiquement des modèles d'apprentissage automatique sur des microcontrôleurs localement avec une mémoire minimale requise d'environ quelques kilo-octets.

Le noyau d'exécution de la procédure s'intègre à 16 Ko sur un Arm Cortex M3 et peut fonctionner sur différents modèles. L'infrastructure ne nécessite pas de prise en charge supplémentaire du système d'exploitation ou d'autres bibliothèques de langage de haut niveau en tant que dépendances pour exécuter l'inférence sur le périphérique.

Le développement de TensorFlow Lite Micro est basé sur C ++ 11, qui nécessite une architecture 32 bits pour la compatibilité. En parlant davantage des architectures, la bibliothèque fonctionne bien sur une gamme robuste de processeurs basés sur l'architecture Arm Cortex-M Series à d'autres architectures de conception comme ESP32 .

Flux de travail pour les cas d'utilisation de TensorFlow Lite Micro

Le processus de formation du réseau neuronal nécessite un matériel de calcul élevé. Ainsi, il est formé sur le modèle général TensorFlow . Cependant, la formation n'est requise que si un ensemble de données personnalisé correspond à un modèle d'apprentissage en profondeur, tandis que les modèles pré-entraînés sur le framework peuvent également être utilisés pour les applications.

En supposant un cas d'utilisation personnalisé avec l'ensemble de données spécifique à l'application, l'utilisateur entraîne le modèle sur le framework TensorFlow général avec une capacité de traitement et une architecture élevées. Une fois la formation terminée, l'évaluation du modèle à l'aide de techniques de test vérifie l'exactitude et la fiabilité du modèle. En outre, le processus est suivi de la conversion du modèle TensorFlow en modèle TensorFlow Lite compatible avec le matériel au format .tflite.

Le format .tflite est un fichier tampon plat commun au framework TensorFlow Lite et au matériel compatible. Le modèle peut en outre être utilisé pour l'apprentissage d'inférence sur les données en temps réel reçues sur le modèle. La formation à l'inférence a optimisé les modèles pour des cas d'utilisation robustes. Par conséquent, l'option de formation par inférence est cruciale pour les applications d'IA de bord .

La plupart des microprogrammes du microcontrôleur ne prennent pas en charge le système de fichiers natif pour intégrer directement le format de tampon plat du modèle TensorFlow Lite. Par conséquent, la conversion du fichier .tflite est nécessaire en un format de structure de tableau, qui est compatible avec les microcontrôleurs.

L'inclusion du programme dans le tableau C suivi d'une compilation normale est une technique simple pour une telle conversion. Le format résultant agit comme un fichier source et se compose d'un tableau de caractères compatible avec les microcontrôleurs.

Périphériques prenant en charge TensorFlow Lite Micro

TensorFlow Lite convient aux appareils puissants, mais il présente l'inconvénient d'une charge de travail plus importante sur le processeur. Bien que le TensorFlow Lite Micro ait des fichiers de petite taille sujets à un sous-ajustement, l'optimisation de la taille de fichier adaptée à la mémoire peut considérablement améliorer la sortie pour le matériel de faible puissance et de traitement faible comme les microcontrôleurs.

Voici la liste des cartes de développement de la documentation officielle de TensorFlow qui prend en charge TensorFlow Lite Micro:

  • Arduino Nano 33 BLE Sense
  • SparkFun Edge
  • Kit découverte STM32F746
  • Adafruit EdgeBadge
  • Kit Adafruit TensorFlow Lite pour microcontrôleurs
  • Adafruit Circuit Playground Bluefruit
  • Espressif ESP32-DevKitC
  • Espressif ESP-EYE
  • Terminal Wio: ATSAMD51
  • Carte de développement AI Himax WE-I Plus EVB Endpoint

Le TensorFlow Lite Micro est également disponible en tant que bibliothèque Arduino pour une prise en charge étendue des microcontrôleurs. Il peut également créer des projets pour des environnements de développement matériel similaires à Mbed.

TensorFlow Lite offre beaucoup

Le cadre d'apprentissage en profondeur TensorFlow Lite ouvre les possibilités d'un certain nombre d'applications d'IA de pointe. Le framework étant open-source pour les passionnés d'IA, le support de la communauté le rend encore plus populaire pour les cas d'utilisation de l'apprentissage automatique. La plate-forme globale de TensorFlow Lite améliore l'environnement pour la croissance des applications de périphérie pour les appareils embarqués et IoT

De plus, il existe divers exemples pour les débutants pour les aider avec les cas d'utilisation pratiques du framework. Certains de ces exemples incluent la détection de personne en fonction des données collectées par le capteur d'image de la carte de développement et le programme standard hello world pour toutes les cartes de développement. Les exemples incluent également des applications telles que la détection de gestes et la reconnaissance vocale pour des cartes de développement spécifiques.

Pour plus d'informations sur TensorFlow Lite et TensorFlow Lite Micro , vous pouvez visiter la page de documentation officielle de l'organisation. Il existe de nombreuses sections conceptuelles et didactiques pour une meilleure compréhension du cadre.