Glossaire

JSON

Découvre comment JSON simplifie les flux de travail de l'IA et de la ML avec des échanges de données transparents, la configuration de modèles et des applications en temps réel.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

JSON, ou JavaScript Object Notation, est un format de données léger et lisible par l'homme, largement utilisé pour l'échange de données, notamment dans les applications web et les systèmes axés sur les données. Sa simplicité et sa facilité d'analyse par les machines en ont fait une pierre angulaire de la programmation moderne, y compris dans le domaine de l'intelligence artificielle (IA) et de l'apprentissage automatique (ML). JSON facilite l'échange transparent de données, la configuration de modèles et l'efficacité des applications en temps réel, ce qui en fait un outil indispensable pour les développeurs et les chercheurs. Il offre un moyen normalisé de structurer les données que les humains et les ordinateurs peuvent facilement comprendre, comme le définit la norme officielle d'échange de données ECMA-404 JSON. Tu trouveras plus d'informations sur le site JSON.org.

Caractéristiques principales

La structure de JSON repose sur deux éléments fondamentaux :

  1. Paires clé-valeur : Collections de paires nom/valeur, souvent appelées objets, dictionnaires ou tableaux associatifs dans différents langages de programmation. La clé est toujours une chaîne, et la valeur peut être une chaîne, un nombre, un booléen, un tableau ou un autre objet JSON.
  2. Listes ordonnées : Séquences ordonnées de valeurs, appelées tableaux ou listes. Les valeurs d'un tableau peuvent être de n'importe quel type de données JSON valide.

Cette structure simple rend les fichiers JSON faciles à créer, à lire et à modifier. Il est agnostique en termes de langage, ce qui signifie qu'il peut être utilisé dans différents langages de programmation tels que Python et plateformes sans problème de compatibilité, ce qui le rend très polyvalent pour les systèmes distribués et les microservices.

Applications dans le domaine de l'IA et de la ML

JSON joue un rôle crucial dans divers aspects des flux de travail de l'IA et de la ML :

  • Configuration du modèle: Alors que YAML est souvent préféré pour les configurations complexes en raison de sa lisibilité améliorée, JSON est fréquemment utilisé dans les appels d'API pour spécifier les paramètres de configuration ou au sein de fichiers de configuration plus simples.
  • Annotation des données et ensembles de données: Dans le domaine de la vision artificielle (CV), JSON est un format courant pour stocker des annotations pour des tâches telles que la détection d'objets et la segmentation d'images. Les fichiers d'annotation contiennent souvent des listes d'objets, chacun avec des étiquettes de classe, des coordonnées de boîte englobante ou des polygones de segmentation représentés au format JSON. De nombreux ensembles de données standard comme COCO utilisent JSON pour leur structure d'annotation.
  • Communication API: JSON est la norme de facto pour l'échange de données dans les API web, y compris celles utilisées dans les services d'IA et de ML. Lors de l'interaction avec des modèles d'IA hébergés via des plateformes de cloud computing ou des points d'extrémité dédiés utilisant des protocoles tels que REST, les données d'entrée (par exemple, les URL d'images, le texte) sont souvent envoyées sous forme de charge utile JSON, et les prédictions du modèle (par exemple, les objets détectés, les probabilités de classe, les scores de confiance) sont renvoyées au format JSON. L'API d'inférence Ultralytics utilise JSON pour le formatage des demandes et des réponses.
  • Stockage des résultats du modèle: Les résultats de l'inférence ou de l'évaluation du modèle, tels que les classes prédites, les boîtes englobantes ou les mesures de performance comme la précision moyenne (mAP), peuvent être stockés de manière pratique dans des fichiers JSON. Ce format structuré permet d'analyser facilement les résultats ou de les intégrer dans des pipelines MLOps plus importants.

Exemples concrets

Voici quelques exemples illustrant les applications pratiques de JSON dans les domaines de l'IA et de la ML :

  1. Véhicules autonomes : Les données de capteurs provenant de caméras, de lidars et de radars dans les voitures autonomes doivent souvent être traitées et communiquées entre les différents composants du système. JSON peut être utilisé pour structurer ces données, en représentant les objets détectés avec leurs types, positions, vitesses et niveaux de confiance, avant de les introduire dans des algorithmes de prise de décision, souvent alimentés par des modèles d'apprentissage profond. Des entreprises comme Waymo s'appuient sur des formats de données robustes pour leurs systèmes complexes.
  2. Ultralytics HUB : Lors de l'interaction programmatique avec Ultralytics HUB via son API, les demandes pour lancer des tâches de formation, télécharger des ensembles de données ou récupérer des métriques de performance de modèle impliquent souvent l'envoi et la réception de données formatées en JSON. Cela permet une intégration transparente des capacités du HUB dans les flux de travail et les applications personnalisés.

JSON et les autres formats de données

Il est utile de comparer JSON avec d'autres formats courants de sérialisation des données :

  • YAML (YAML Ain't Markup Language): YAML donne la priorité à la lisibilité humaine et est souvent préféré pour les fichiers de configuration (par exemple, pour définir les architectures de modèles ou les paramètres d'entraînement). Bien que JSON puisse également être utilisé pour la configuration, la syntaxe de YAML (qui utilise l'indentation) est généralement considérée comme plus propre et plus facile à lire pour les structures imbriquées complexes. JSON est généralement privilégié pour l'échange de données via les API en raison de ses règles d'analyse plus simples et de sa prise en charge généralisée.
  • XML (eXtensible Markup Language): XML est un autre langage de balisage utilisé pour coder des documents dans un format à la fois lisible par l'homme et par la machine. Comparé à JSON, XML est plus verbeux en raison de son utilisation de balises de fermeture et tend à être plus complexe à analyser. Bien qu'il soit toujours utilisé dans les systèmes d'entreprise et les normes spécifiques comme SOAP, JSON a largement remplacé XML dans les applications web et les API modernes en raison de sa simplicité et de sa faible charge de travail.

En résumé, la légèreté de JSON, sa lisibilité pour l'homme et sa facilité d'analyse en font un format très efficace et largement adopté pour structurer et échanger des données dans les systèmes d'IA et de ML, en particulier pour la communication avec les API et le stockage de résultats structurés. Sa compatibilité avec les langages de programmation garantit une intégration harmonieuse au sein de diverses piles technologiques, depuis les étapes d'annotation et de prétraitement des données jusqu'au déploiement final du modèle à l'aide d'outils comme Ultralytics YOLO.

Tout lire