JSON
JSON'un yapay zekâ veri alışverişini nasıl kolaylaştırdığını öğren. Sorunsuz API entegrasyonu ve model dağıtımı için Ultralytics YOLO26 tahminlerini JSON'a nasıl aktaracağını keşfet.
JSON veya JavaScript Nesne Gösterimi, verileri depolamak ve taşımak için kullanılan hafif, metin tabanlı bir biçimdir. Yapay zeka ve makine öğrenimi alanında sunucular, web uygulamaları ve çıkarım motorları arasındaki veri alışverişi için evrensel bir standart görevi görür. Anahtar-değer çiftleri ve sıralı listelerden oluşan yapısı, insanların okuyup yazması için kolayken makinelerin ayrıştırıp oluşturması da zahmetsizdir. Dilden bağımsız olduğu için JSON, Python'da eğitilmiş bir model ile JavaScript, C++ veya Go üzerinde çalışan bir dağıtım ortamı arasında sorunsuz iletişim kurulmasını kolaylaştırır.
Yapay Zeka İş Akışlarında ve Dağıtımda JSON#
Bir bilgisayarlı görü modeli üretim ortamına dağıtıldığında genellikle diğer yazılım bileşenleriyle bir REST API üzerinden etkileşime girer. Örneğin bir gözetim sistemi, bir nesne tespiti modeli çalıştıran sunucuya bir video karesi gönderdiğinde sunucu görüntüyü analiz eder ve sonuçları geri döndürür. Sunucu, ikili bir görüntü göndermek yerine sınırlayıcı kutuların koordinatlarını, tespit edilen sınıf adlarını ve bunlarla ilişkili güven skorlarını içeren bir JSON dizesiyle yanıt verir. Bu metin tabanlı yanıt; ön yüz panoları, mobil uygulamalar veya günlük kaydı ve analiz için MongoDB gibi NoSQL veritabanları tarafından kolayca kullanılabilir.
Çıkarımın ötesinde JSON, eğitim verilerini yapılandırmak için kritik öneme sahiptir. Popüler COCO veri kümesi biçimi; görüntü dosyası yollarını, lisans bilgilerini ve açıklama koordinatlarını tanımlamak için kapsamlı bir JSON şeması kullanır. Bu, basitçe boşluklarla ayrılmış metin dosyaları kullanan YOLO TXT biçimiyle farklılık gösterir. Ultralytics Platformu üzerindeki gelişmiş araçlar, karmaşık proje meta verilerini ve buluttaki veri kümesi sürümlemelerini yönetmek için sıklıkla JSON'dan yararlanır.
Model Tahminlerini JSON'a Dönüştürme#
Modern framework'ler veri serileştirme sürecini basitleştirerek geliştiricilerin model çıktılarını doğrudan JSON'a aktarmasına olanak tanır. ultralytics kütüphanesi, tespit sonuçlarını serileştirmek için yerleşik yöntemler sunar ve YOLO26 modellerinin daha büyük yazılım ekosistemlerine entegre edilmesini kolaylaştırır.
Aşağıdaki örnek, bir Ultralytics YOLO26 modeliyle çıkarımın nasıl çalıştırılacağını ve tespit sonuçlarının standartlaştırılmış bir JSON dizesine nasıl dönüştürüleceğini gösterir:
import json
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Convert the first result object to a JSON string
# This serializes boxes, classes, and confidence scores
json_output = results[0].tojson()
# Parse back to a dict to verify structure
data = json.loads(json_output)
print(f"Detected {len(data)} objects.")JSON ve İlgili Biçimler#
JSON, web geliştirme ve API tasarımında her yerde kullanılsa da Derin Öğrenme iş akışlarında sıkça karşılaşılan diğer veri serileştirme biçimlerinden ayırt edilmesi önemlidir.
- JSON ve YAML: YAML, insan tarafından okunabilirliği en üst düzeye çıkarmak için tasarlanmıştır ve yorumları destekler; bu da onu yapılandırma dosyaları için tercih edilen seçenek haline getirir. Örneğin, Ultralytics'teki hiperparametre ayarlama ayarları veya veri kümesi yolları
.yamldosyalarında tanımlanır. JSON daha katıdır, yorumları desteklemez ve makineler tarafından genellikle daha hızlı ayrıştırılır; bu nedenle veri aktarımı ve API yanıtları için daha uygundur. - JSON ve XML: XML, ayrıntılı, etiket tabanlı bir yapı kullanır. Bir zamanlar Pascal VOC gibi veri kümeleri için standart olsa da daha küçük dosya boyutu ve daha basit söz dizimi sayesinde modern Makine Öğrenimi Operasyonları (MLOps) süreçlerinde büyük ölçüde JSON ile değiştirilmiştir.
Standartlaştırma ve Birlikte Çalışabilirlik#
JSON'un yaygın biçimde benimsenmesi, çeşitli araçlar arasında birlikte çalışabilirliği destekler. JSON; örnek segmentasyonu maskelerini dışa aktarırken, görüntü sınıflandırma etiketlerini depolarken veya bir model dağıtımı iş akışını yapılandırırken verilerin yapılandırılmış ve erişilebilir kalmasını sağlar. Rolü, coğrafi veri yapılarını kodlamak için kullanılan özel bir biçim olan GeoJSON'a kadar uzanır. GeoJSON, tespit edilen nesneleri coğrafi koordinatlar üzerinde haritalandırmak amacıyla uydu görüntüsü analizinde sıklıkla kullanılır. Geliştiriciler, Python'un yerleşik json kütüphanesinden yararlanarak sağlam yapay zeka uygulamaları geliştirmek için bu veri yapılarını kolayca doğrulayabilir, ayrıştırabilir ve işleyebilir.









