Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

YAML

Yapay Zeka/ML'de YAML'nin gücünü keşfedin! Bu çok yönlü veri formatıyla yapılandırmaları basitleştirin, iş akışlarını kolaylaştırın ve okunabilirliği artırın.

Açılımı "YAML Ain't Markup Language" olan YAML, insan tarafından okunabilir bir yapılandırma için yaygın olarak kullanılan veri serileştirme standardı dosyaları ve diller arasında veri alışverişi. Daha ayrıntılı formatların aksine, YAML temizliğe ve kullanım kolaylığına öncelik verir, Yapıyı tanımlamak için parantezler veya etiketler yerine girintiye güvenir. Bu minimalist yaklaşım, onu tercih edilen bir çalışan geliştiriciler ve veri bilimcileri için seçim Makine Öğrenimi (ML) ve Yapay Zeka (AI), nerede karmaşık ortamları ve parametreleri net bir şekilde tanımlamak çok önemlidir. Resmi spesifikasyonu şu adresten inceleyebilirsiniz YAML web sitesi.

Yapay Zeka İş Akışlarında YAML'ın Rolü

Derin Öğrenme (DL) alanında YAML şu işlevi görür deney yönetimi ve tekrarlanabilirlik için backbone . Karmaşık sistemler genellikle yüzlerce tanımlama gerektirir Dosya yollarından matematiksel sabitlere kadar parametreler. Araştırmacılar bu ayarları YAML dosyalarına dışsallaştırarak eğitim verisi konfigürasyonlarının ve model mimarileri kod tabanından ayrı kalır. Bu ayrım, aşağıdakileri kolaylaştırır DataOps uygulamaları ve daha kolay sürüm kontrolü sağlar deneysel düzenekler.

Makine Öğreniminde Gerçek Dünya Uygulamaları

YAML, modern yapay zeka geliştirme yığınlarında her yerde bulunur. İşte kullanıldığı iki temel yol:

  1. Veri Kümesi Tanımı: En yaygın kullanım alanlarından biri Bilgisayarla Görme (CV) veri kümesini tanımlıyor yapılar. Örneğin, aşağıdakiler için hazırlanırken nesne algılama, tipik olarak bir YAML dosyası eğitim için kök dizinleri belirtir ve doğrulama verileri, sınıf sayısı ve sınıf adları. Ultralytics bu formatı aşağıdaki gibi kıyaslamaları sorunsuz bir şekilde yüklemek için kullanır COCO veya özel veri kümeleri.
  2. Hiperparametre Yapılandırması: En iyi model performansını elde etmek için titiz hiperparametre ayarı. Bir YAML dosyası şunları yapabilir gibi kritik eğitim değişkenlerini depolar. öğrenme oranı, parti büyüklüğü, ağırlık bozulması ve epochs. Bu, mühendislerin birden fazla deney yapmasına olanak tanır Temel Python kodunu değiştirmeden yapılandırma dosyalarını değiştirerek.

YAML vs. JSON ve XML

YAML diğer formatlarla benzerlikler taşısa da tasarım felsefesi ve kullanım alanları açısından farklıdır:

  • YAML vs JSON: JSON (JavaScript Object Notation) web için yaygın olarak kullanılır API'ler. Ancak JSON, bilimsel deneylerin belgelenmesi için hayati önem taşıyan yorumları desteklemez. YAML şunları destekler yorumlar ve genellikle yapılandırma için daha okunabilir olarak kabul edilir, ancak JSON'un ayrıştırılması genellikle daha hızlıdır.
  • YAML vs XML: XML (eXtensible Markup Language) açılış ve kapanışları kullanır etiketleri, dosyaları önemli ölçüde büyütür ve insanların hızlı bir şekilde taramasını zorlaştırır. YAML'nin girinti tabanlı yapısı görsel karmaşayı azaltır, bu da onu bakım için üstün kılar yazılım yapılandırma yönetimi Dosyalar.

Ultralytics ile YAML Uygulama

Ultralytics YOLO11 modeli ile çalışırken, YAML dosyaları modelin gördüğü verileri tanımlamak için temeldir. Bu dosyalar data eğitim işlevindeki argüman, resimlerinize ve etiketlerinize işaret eden bir YAML dosyasını kabul eder.

Aşağıdaki örnekte standart bir veri kümesi yapılandırma dosyası kullanılarak bir eğitim oturumunun nasıl başlatılacağı gösterilmektedir.

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model using the 'coco8.yaml' dataset configuration
# The YAML file contains paths to images and class names (e.g., person, bus)
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)

Daha Geniş Ekosistem Entegrasyonu

Doğrudan model eğitiminin ötesinde, YAML daha geniş kapsamlı eğitimin ayrılmaz bir parçasıdır. MLOps ekosistemi. Bu bir düzenlerken Docker Compose için standart yapılandırma biçimi model dağıtımı için konteynerler. Benzer şekilde, Kubernetes, uygulamaların bulutta nasıl ölçeklendirileceğini tanımlamak için YAML kullanır.

GitHub Actions gibi otomasyon araçları da tanımlamak için YAML'ye güvenir CI/CD iş akışları, otomatik testlerin ve entegrasyon, kod her itildiğinde sorunsuz bir şekilde gerçekleşir. Python geliştiricileri sıklıkla Bunları programlı olarak okumak ve yazmak için PyYAML kütüphanesi dosyalarını kullanarak statik yapılandırma ile dinamik kod yürütme arasında köprü kurar.

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın