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.
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 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, yapay zeka geliştirme yaşam döngüsünün birkaç kritik aşamasında yer bulur:
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.
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)
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.
key: valueÖrneğin,
epochs: 100 eğitim döngülerinin sayısını belirler.
-. Bu, listeleri tanımlamak için kullanışlıdır.
veri artırma adımlar veya çoklu giriş
kaynakları.
# 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.