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

YAML

YAML'ın AI iş akışlarını nasıl kolaylaştırdığını öğrenin. YAML dosyalarını kullanarak veri kümelerini yapılandırmayı ve Ultralytics modellerini daha hızlı ve kolay MLOps için eğitmeyi keşfedin.

YAML (YAML Ain't Markup Language), yazılım endüstrisinde yapılandırma dosyaları yazmak için yaygın olarak kullanılan, insan tarafından okunabilir bir veri serileştirme standardıdır. Daha karmaşık biçimlendirme dillerinden farklı olarak, YAML temiz biçimlendirme ve okunabilirliğe öncelik verir, bu da onu parametreleri hızlı bir şekilde incelemesi veya değiştirmesi gereken geliştiriciler ve veri bilimcileri için mükemmel bir seçim haline getirir. Basit yapısı, köşeli parantezler veya etiketler yerine girintilere dayanır, bu da kullanıcıların listeler ve sözlükler gibi hiyerarşik veri yapılarını minimum görsel karmaşayla tanımlamasına olanak tanır. Basit yapısı, köşeli parantezler veya etiketler yerine girintilere dayanır, bu da kullanıcıların listeler ve sözlükler gibi hiyerarşik veri yapılarını minimum görsel karmaşayla tanımlamasına olanak tanır. Yapay zeka ve makine öğrenimi bağlamında YAML, insan niyeti ile makine yürütmesi arasında kritik bir köprü görevi görür ve veri kümesi yollarından hiperparametre ayarlama ayarlarına kadar her şeyi, sürüm kontrolü ve paylaşımı kolay bir biçimde depolamaktadır.

Makine Öğreniminde Alaka Düzeyi

Modern makine öğrenimi operasyonlarında (MLOps), tekrarlanabilir ve organize deneylerin sürdürülmesi çok önemlidir. YAML dosyaları, bu deneyler için birer şablon görevi görür ve gerekli tüm yapılandırma ayrıntılarını tek bir belgede toplar. Ultralytics modelleri gibi çerçeveler, model mimarilerini ve eğitim protokollerini tanımlamak için büyük ölçüde bu yapılandırma dosyalarına dayanır.

Bir bilgisayar görme modelini eğittiğinizde, genellikle eğitim verilerinizin nerede bulunduğunu, kaç sınıf tespit ettiğinizi ve bu sınıfların adlarını belirtmeniz gerekir. Bu değerleri Python sabit olarak kodlamak yerine, karmaşık kod tabanlarına yol açabilecek, bu verileri bir YAML dosyasına ayırırsınız. Bu ayrım, araştırmacıların veri kümelerini değiştirmelerine veya öğrenme oranlarını ayarlamalarına olanak tanır ve daha iyi deney takibi ve işbirliği sağlar.

YAML, JSON ve XML karşılaştırması

YAML genellikle JSON (JavaScript Object Notation) ve XML (eXtensible Markup Language) ile karşılaştırılır, ancak bunlar AI ekosisteminde biraz farklı amaçlara hizmet eder.

  • YAML: İnsanlar tarafından yazılan ve okunan yapılandırma dosyaları için en iyisidir. Belirli model ağırlıklarının veya parametrelerinin neden seçildiğini belgelemek için çok önemli olan yorumları destekler.
  • JSON: Web API'leri veya çıkarım sonuçlarının kaydedilmesi gibi makineden makineye iletişim için idealdir. Gerekli tırnak işaretleri ve parantezler nedeniyle insanlar için manuel olarak düzenlemesi daha zordur ve yorum desteği yoktur.
  • XML: Eski sistemlerde veya karmaşık belge depolamada ( Pascal VOC ) sıklıkla kullanılan daha ayrıntılı bir biçimdir. Genellikle modern derin öğrenme iş akışlarındaki basit yapılandırma görevleri için çok ağır kabul edilir.

Yapay Zekada Gerçek Dünya Uygulamaları

YAML, yapay zeka geliştirme yaşam döngüsünün birkaç kritik aşamasında yer bulur:

  • Veri Kümesi Yapılandırması: Çalışırken nesne algılama COCO gibi veri kümeleri COCO özel veriler Ultralytics Platformu, bir YAML dosyası (data.yaml) genellikle eğitim, doğrulama ve test kümeleri için dizin yollarını tanımlar. Ayrıca sınıf indekslerini (0, 1, 2) sınıf adlarına (kişi, bisiklet, araba) eşler ve modelin veri yapısını anlamasını sağlar.
  • CI/CD Pipelines: Sürekli entegrasyon iş akışlarında, GitHub Actions gibi araçlar otomasyon adımlarını tanımlamak için YAML kullanır. Bu, yeni bir sinir ağı mimarisinde birim testleri çalıştırmayı veya kod bir depoya aktarıldığında bir modeli bir Docker konteynerine dağıtmayı içerebilir. Docker konteyneri, bir yazılım uygulamasının çalıştırılmasını sağlayan bir kapsayıcıdır.

Örnek: YOLO Çalıştırmasını Yapılandırma

Aşağıdaki örnek, tipik bir YAML dosyasının YOLO26 modelini eğitmek için veri kümesi arayüzü olarak nasıl işlev gördüğünü göstermektedir. Aşağıdaki Python , Ultralytics bu dosyayı eğitimi başlatmak için nasıl kullandığını göstermektedir.

1. coco8.yaml dosya (Kavram):Bu dosya, resimlerin yollarını ve sınıf adlarının bir listesini içerir. sınıf adları.

path: ../datasets/coco8  # dataset root dir
train: images/train  # train images (relative to 'path')
val: images/val  # val images (relative to 'path')

# Classes
names:
  0: person
  1: bicycle
  2: car
  ...

2. Python :Kod, yapılandırmayı okur ve belirtilen parametreleri kullanarak eğitimi başlatır. parametreleri.

from ultralytics import YOLO

# Load the YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")

# Train the model using the dataset configuration defined in the YAML file
# The 'data' argument points directly to the YAML file
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)

Sözdizimi Anahtar Kavramları

Birkaç temel sözdizimi kuralını anlamak, aşağıdaki gibi yaygın hataları önlemeye yardımcı olur: ScannerError veya ParserError, genellikle yanlış girinti nedeniyle meydana gelir.

  • Girinti: YAML, yapıyı belirtmek için boşluklar (sekmeler değil) kullanır. İç içe geçmiş öğeler, üst öğelerinden daha fazla girintilendirilmelidir.
  • Anahtar-Değer Çiftleri: Veriler şu şekilde saklanır: key: valueÖrneğin, epochs: 100 eğitim döngülerinin sayısını belirler.
  • Listeler: diziler tire ile gösterilir -. Bu, listeleri tanımlamak için kullanışlıdır. veri artırma adımlar veya çoklu giriş kaynakları.
  • Yorumlar: Şu şekilde başlayan satırlar: # parser tarafından yok sayılır, böylece belirli konular hakkında notlar bırakabilirsiniz. hakkında hiperparametreler doğrudan dosyada.

YAML'yi ustalıkla kullanarak, uygulayıcılar model eğitim iş akışlarını kolaylaştırabilir, yapılandırma hatalarını azaltabilir ve AI projelerinin ölçeklenebilir ve bakımı kolay olmasını sağlayabilirler.

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