Sözlük

YAML

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

YOLO modellerini Ultralytics HUB ile basitçe
eğitin

Daha fazla bilgi edinin

YAML Ain't Markup Language (YAML) insan tarafından okunabilen bir veri serileştirme dilidir. Genellikle yapılandırma dosyaları için ve verilerin depolandığı veya iletildiği uygulamalarda kullanılır. Yapay Zeka ve Makine Öğrenimi bağlamında YAML'ın birincil rolü, yapılandırma dosyalarını kolayca anlaşılabilir ve yönetilebilir hale getirerek insan tarafından okunabilirlik ile makine işleme arasındaki boşluğu doldurmaktır.

YAML'ın Temel Özellikleri

YAML insanlar tarafından kolayca okunabilecek ve yazılabilecek şekilde tasarlanmıştır. Temiz ve anlaşılır sözdizimi, yapıyı tanımlamak için parantezler veya etiketler yerine girintilere dayanır. Bu, YAML dosyalarını XML veya JSON gibi diğer veri formatlarına kıyasla çok daha az karmaşık ve gezinmesi daha kolay hale getirir. Temel özellikler şunlardır:

  • İnsan Tarafından Okunabilir Format: YAML'nin sözdizimi, hiyerarşik veri yapılarını tanımlamak için boşluk ve girinti kullanarak okunabilirliği vurgular ve yapılandırma dosyalarını anlamayı ve düzenlemeyi kolaylaştırır.
  • Veri Serileştirme: YAML veri yapılarının serileştirilmesinde etkilidir, yani karmaşık veri nesnelerini kolayca saklanabilen veya iletilebilen ve daha sonra yeniden yapılandırılabilen bir metin biçimine dönüştürebilir.
  • Yapılandırma Dosyaları: YAML, AI ve ML'dekiler de dahil olmak üzere yazılım uygulamalarında yapılandırma dosyaları yazmak için yaygın olarak kullanılır. Kullanıcıların parametreleri, ayarları ve iş akışlarını yapılandırılmış ve erişilebilir bir şekilde tanımlamasına olanak tanır.
  • Dilden Bağımsız: YAML tüm programlama dilleriyle çalışacak şekilde tasarlanmıştır, bu da onu birden fazla dil ve çerçeve içerebilen çeşitli AI ve ML projeleri için çok yönlü bir seçim haline getirir.
  • AI/ML Araçları ile Entegrasyon: Aşağıdakiler gibi birçok yapay zeka ve makine öğrenimi çerçevesi ve aracı PyTorch ve TensorFlowmodellerin ve eğitim süreçlerinin kurulumunu ve özelleştirilmesini basitleştirerek yapılandırma için YAML'yi destekler.

Yapay Zeka ve Makine Öğrenimi Uygulamalarında YAML

Yapay zeka ve makine öğrenimi alanında, YAML dosyaları yapılandırmaları yönetmek, model mimarilerini tanımlamak ve eğitim boru hatlarını kurmak için vazgeçilmezdir. İşte birkaç gerçek dünya örneği:

  • İçindeki Model Yapılandırması Ultralytics YOLO: ile çalışırken Ultralytics YOLO modellerinde, YAML dosyaları model mimarisini, veri kümesi yollarını, eğitim hiperparametrelerini tanımlamak için kullanılır. parti büyüklüğü ve öğrenme oranı ve diğer çeşitli ayarlar. Örneğin, bir yolov8s.yaml dosyası, YOLOv8 küçük modelinin katmanlarını ve parametrelerini belirtir ve kullanıcıların deneyleri kolayca özelleştirmesine veya çoğaltmasına olanak tanır. Bu yapılandırma dosyaları hem özel modelleri eğitmek hem de Ultralytics HUB kullanarak önceden eğitilmiş modelleri dağıtmak için gereklidir.
  • Veri Ardışık Düzen Yapılandırması: YAML, makine öğrenimi projelerinde veri işlem hatlarını yapılandırmak için de kullanılır. Örneğin, bir YAML dosyası veri ön işleme, özellik mühendisliği ve veri artırma adımlarını tanımlayabilir. Bu, veri iş akışlarının otomasyonuna ve yeniden üretilebilirliğine olanak tanıyarak model eğitiminde tutarlılık ve verimlilik sağlar.

YAML vs. JSON

Hem YAML hem de JSON veri serileştirme dilleri olsa da YAML, gelişmiş okunabilirliği nedeniyle AI ve ML'de yapılandırma için sıklıkla tercih edilir. JSON, bir dereceye kadar insan tarafından okunabilir olsa da, parantezler ve köşeli parantezler gibi daha fazla noktalama işareti kullanır, bu da karmaşık yapılandırmaların bir bakışta ayrıştırılmasını zorlaştırabilir. YAML'nin girintilere ve minimal sözdizimine olan güveni, daha temiz, daha sezgisel yapılandırma dosyaları ile sonuçlanır, hata olasılığını azaltır ve karmaşık yapay zeka projelerinde sürdürülebilirliği artırır.

YAML kullanarak, AI ve ML uygulayıcıları konfigürasyonları etkili bir şekilde yönetebilir ve iletebilir, iş akışlarını daha şeffaf, tekrarlanabilir ve üzerinde işbirliği yapmayı kolaylaştırabilir. Basitliği ve insan dostu yapısı, onu yapay zeka ve makine öğrenimi alanında önemli bir araç haline getirmektedir.

Tümünü okuyun