Glossar

JSON

Entdecken Sie, wie JSON KI- und ML-Workflows durch nahtlosen Datenaustausch, Modellkonfiguration und Echtzeitanwendungen vereinfacht.

JSON ( JavaScript Object Notation) ist ein leichtgewichtiges und von Menschen lesbares Datenformat, das häufig für den Datenaustausch verwendet wird, insbesondere in Webanwendungen und datengesteuerten Systemen. Seine Einfachheit und leichte maschinelle Verarbeitung haben es zu einem Eckpfeiler der modernen Programmierung gemacht, auch im Bereich der künstlichen Intelligenz (KI) und des maschinellen Lernens (ML). JSON erleichtert den nahtlosen Datenaustausch, die Modellkonfiguration und effiziente Echtzeitanwendungen, was es zu einem unverzichtbaren Werkzeug für Entwickler und Forscher macht. Es bietet eine standardisierte Methode zur Strukturierung von Daten, die sowohl von Menschen als auch von Computern leicht verstanden werden kann, wie im offiziellen ECMA-404 JSON Data Interchange Standard definiert. Weitere Informationen finden Sie auch unter JSON.org.

Wesentliche Merkmale

Die Struktur von JSON besteht aus zwei grundlegenden Elementen:

  1. Schlüssel-Werte-Paare: Sammlungen von Name/Wert-Paaren, die in verschiedenen Programmiersprachen oft als Objekte, Wörterbücher oder assoziative Arrays bezeichnet werden. Der Schlüssel ist immer eine Zeichenkette, und der Wert kann eine Zeichenkette, eine Zahl, ein Boolescher Wert, ein Array oder ein anderes JSON-Objekt sein.
  2. Geordnete Listen: Geordnete Sequenzen von Werten, bekannt als Arrays oder Listen. Die Werte in einem Array können jeden gültigen JSON-Datentyp haben.

Dank dieser einfachen Struktur lassen sich JSON-Dateien leicht erstellen, lesen und ändern. JSON ist sprachunabhängig, d. h. es kann in verschiedenen Programmiersprachen wie Python und auf verschiedenen Plattformen ohne Kompatibilitätsprobleme verwendet werden, was es für verteilte Systeme und Microservices äußerst vielseitig macht.

Anwendungen in AI und ML

JSON spielt in verschiedenen Aspekten von KI- und ML-Workflows eine entscheidende Rolle:

  • Modell-Konfiguration: Während YAML aufgrund seiner besseren Lesbarkeit häufig für komplexe Konfigurationen bevorzugt wird, wird JSON häufig in API-Aufrufen zur Angabe von Konfigurationsparametern oder innerhalb einfacherer Konfigurationsdateien verwendet.
  • Datenanmerkungen und Datensätze: In der Computer Vision (CV) ist JSON ein gängiges Format für die Speicherung von Kommentaren für Aufgaben wie Objekterkennung und Bildsegmentierung. Annotationsdateien enthalten oft Listen von Objekten, jeweils mit Klassenbezeichnungen, Bounding-Box-Koordinaten oder Segmentierungspolygonen im JSON-Format. Viele Standarddatensätze wie COCO verwenden JSON für ihre Anmerkungsstruktur.
  • API-Kommunikation: JSON ist der De-facto-Standard für den Datenaustausch in Web-APIs, einschließlich derer, die in KI- und ML-Diensten verwendet werden. Bei der Interaktion mit KI-Modellen, die über Cloud-Computing-Plattformen oder spezielle Endpunkte unter Verwendung von Protokollen wie REST gehostet werden, werden Eingabedaten (z. B. Bild-URLs, Text) oft als JSON-Nutzdaten gesendet, und die Vorhersagen des Modells (z. B. erkannte Objekte, Klassenwahrscheinlichkeiten, Konfidenzwerte) werden im JSON-Format zurückgegeben. Die Ultralytics Inference API verwendet JSON für die Formatierung von Anfragen und Antworten.
  • Speichern von Modellergebnissen: Die Ergebnisse der Modellinferenz oder -bewertung, wie z. B. vorhergesagte Klassen, Bounding Boxes oder Leistungsmetriken wie die mittlere durchschnittliche Genauigkeit (mAP), können bequem in JSON-Dateien gespeichert werden. Durch dieses strukturierte Format lassen sich die Ergebnisse leicht analysieren oder in größere MLOps-Pipelines integrieren.

Beispiele aus der Praxis

Hier sind einige Beispiele, die die praktischen Anwendungen von JSON in KI und ML veranschaulichen:

  1. Autonome Fahrzeuge: Sensordaten von Kameras, Lidar und Radar in selbstfahrenden Autos müssen oft verarbeitet und zwischen verschiedenen Systemkomponenten ausgetauscht werden. JSON kann verwendet werden, um diese Daten zu strukturieren und erkannte Objekte mit ihren Typen, Positionen, Geschwindigkeiten und Konfidenzniveaus darzustellen, bevor sie in Entscheidungsalgorithmen eingespeist werden, die oft von Deep-Learning-Modellen angetrieben werden. Unternehmen wie Waymo sind auf robuste Datenformate für ihre komplexen Systeme angewiesen.
  2. Ultralytics HUB: Bei der programmgesteuerten Interaktion mit Ultralytics HUB über dessen API werden bei Anfragen zum Starten von Schulungsaufträgen, zum Hochladen von Datensätzen oder zum Abrufen von Modellleistungsmetriken häufig Daten im JSON-Format gesendet und empfangen. Dies ermöglicht eine nahtlose Integration der HUB-Funktionen in benutzerdefinierte Workflows und Anwendungen.

JSON vs. andere Datenformate

Es ist hilfreich, JSON mit anderen gängigen Datenserialisierungsformaten zu vergleichen:

  • YAML (YAML Ain't Markup Language): YAML stellt die Lesbarkeit in den Vordergrund und wird häufig für Konfigurationsdateien (z.B. zur Definition von Modellarchitekturen oder Trainingsparametern) verwendet. Zwar kann auch JSON für die Konfiguration verwendet werden, doch gilt die Syntax von YAML (mit Einrückung) allgemein als sauberer und leichter lesbar für komplexe verschachtelte Strukturen. JSON wird in der Regel für den Datenaustausch über APIs bevorzugt, da es einfachere Parsing-Regeln hat und weithin unterstützt wird.
  • XML (eXtensible Markup Language): XML ist eine weitere Auszeichnungssprache, die zur Kodierung von Dokumenten in einem Format verwendet wird, das sowohl von Menschen als auch von Maschinen lesbar ist. Im Vergleich zu JSON ist XML aufgrund der Verwendung von schließenden Tags ausführlicher und tendenziell komplexer zu parsen. JSON wird zwar immer noch in Unternehmenssystemen und speziellen Standards wie SOAP verwendet, hat aber aufgrund seiner Einfachheit und seines geringeren Overheads XML in Webanwendungen und modernen APIs weitgehend ersetzt.

Zusammenfassend lässt sich sagen, dass JSON aufgrund seiner Leichtigkeit, seiner Lesbarkeit für den Menschen und seiner einfachen Analyse ein äußerst effektives und weit verbreitetes Format für die Strukturierung und den Austausch von Daten in KI- und ML-Systemen ist, insbesondere für die API-Kommunikation und die Speicherung strukturierter Ergebnisse. Seine Kompatibilität mit verschiedenen Programmiersprachen gewährleistet eine reibungslose Integration in verschiedene Technologie-Stacks, von der Datenannotation und den Phasen der Datenvorverarbeitung bis zur endgültigen Modellbereitstellung mit Tools wie Ultralytics YOLO.

Werden Sie Mitglied der Ultralytics-Gemeinschaft

Beteiligen Sie sich an der Zukunft der KI. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert