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.

"YAML Ain't Markup Language" ifadesinin kısaltması olan YAML, yapılandırma dosyaları yazmak ve sistemler arasında veri iletmek için kullanılan, insan tarafından okunabilen bir veri serileştirme standardıdır. Tasarımı açıklık ve basitliğe öncelik vererek geliştiricilerin ve veri bilimcilerin karmaşık veri yapılarını okunması ve yazılması kolay bir şekilde tanımlamasına olanak tanır. Daha ayrıntılı formatların aksine, YAML yapıyı belirtmek için girinti kullanır, bu da Makine Öğrenimi (ML) de dahil olmak üzere yazılım projelerindeki ayarları yönetmek için ideal olan temiz, sezgisel dosyalarla sonuçlanır. Resmi spesifikasyon ve kaynaklar yaml.org adresinde bulunabilir.

Yapay Zeka ve Makine Öğrenimindeki Rolü ve Uygulamaları

Yapay Zeka (AI) bağlamında YAML, yapılandırma yönetiminin bel kemiğidir ve tekrarlanabilirliğin sağlanmasında ve deneylerin basitleştirilmesinde çok önemli bir rol oynar. Derin Öğrenme (DL) projeleri genellikle model mimarisinden eğitim parametrelerine kadar çok sayıda ayar içerir. Bu ayarların bir YAML dosyasında saklanması, deneysel kurulumların kolayca izlenmesine, değiştirilmesine ve paylaşılmasına olanak tanır. Hızlı bir referans için YAML sözdizimi hile sayfasını inceleyebilirsiniz.

Yapay zeka uygulamalarındaki iki yaygın gerçek dünya örneği şunlardır:

  1. Veri Kümesi Yapılandırması: Bir modeli eğitmeden önce veri kümesini tanımlamanız gerekir. Bir YAML dosyası, eğitim ve doğrulama görüntülerinin yolunu, nesne sınıflarının sayısını ve bu sınıfların adlarını belirtir. Bu yaklaşım, COCO gibi veri kümelerini yönetmek için Ultralytics tarafından kullanılır. Bu, modelin verilerini tam olarak nerede bulacağını ve ne öğrenmesinin beklendiğini bilmesini sağlar.
  2. Eğitim ve Hiperparametre Yapılandırması: Bir YAML dosyası, bir eğitim oturumu için gereken tüm parametreleri tanımlamak için mükemmeldir. Bu, model mimarisinin belirtilmesini içerir (örn, YOLO11n), parti büyüklüğü, öğrenme oranı, sayısı çağlarve ayarları için veri artırımı. Bu ayarların merkezileştirilmesi sistematik hiperparametre ayarlama ve deneylerin tekrarlanmasını kolaylaştırır. Bu Ultralytics belgeleri bu yapılandırma dosyalarının ayrıntılı örneklerini sunmaktadır.

YAML ve Diğer Veri Formatları

YAML genellikle JSON ve XML gibi diğer veri serileştirme formatlarıyla karşılaştırılır.

  • YAML vs. JSON: İşlevsel olarak benzer olsa da ve YAML, JSON'un (JavaScript Object Notation) bir üst kümesi olsa da, YAML üstün okunabilirliği nedeniyle yapılandırma dosyaları için sıklıkla tercih edilir. Girinti lehine parantez ve virgüllerden vazgeçer ve kritik olarak, yapılandırma seçimlerini belgelemek için çok değerli olan yorumları destekler.
  • YAML XML'e karşı: XML (eXtensible Markup Language) ile karşılaştırıldığında, YAML çok daha az ayrıntılıdır. XML'in açılış ve kapanış etiketlerini kullanması, dosyalarını daha büyük ve insanların hızlı bir şekilde ayrıştırmasını zorlaştırırken, YAML'nin minimalist sözdizimi doğrudan düzenleme için tasarlanmıştır.

Daha Geniş Ekosistem ve Araçlar

YAML'ın faydası bilgisayar görüşünün çok ötesine uzanmaktadır. DevOps dünyasında temel bir bileşendir ve konteyner orkestrasyonlarını tanımlamak için Kubernetes ve BT otomasyon çalışma kitapları için Ansible gibi araçlar tarafından kullanılır. Bu kavram genellikle Kod Olarak Yapılandırma (CaC) olarak adlandırılır.

Python kullanan geliştiriciler için PyYAML kütüphanesi, YAML verilerini ayrıştırmak ve oluşturmak için yaygın bir araçtır. Girinti hassasiyeti nedeniyle yaygın olabilen sözdizimi hatalarını önlemek için bir YAML doğrulayıcı kullanmak önerilen en iyi uygulamadır. Bu araç ekosistemi, YAML'yi Jupyter Notebook 'taki ilk kurulumdan Docker ve GitHub Actions gibi araçlarla CI/CD boru hatlarını kullanarak tam ölçekli model dağıtımına kadar tüm MLOps yaşam döngüsünü yönetmek için sağlam bir seçim haline getirir. Yapılandırma yönetiminin kolaylığı, sorunsuz bir eğitim ve dağıtım deneyimi için Ultralytics HUB gibi platformlarla entegrasyonu da basitleştirir.

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 büyüyün

Şimdi katılın
Panoya kopyalanan bağlantı