اكتشف قوة YAML في الذكاء الاصطناعي/التعلم الآلي! قم بتبسيط الإعدادات، وتسريع سير العمل، وتعزيز إمكانية القراءة باستخدام تنسيق البيانات متعدد الاستخدامات هذا.
YAML، التي تعني "YAML Ain't Markup Language"، هي لغة ترميز YAML، وهي لغة قابلة للقراءة البشرية معيار تسلسل بيانات شائع الاستخدام لملفات التكوين وتبادل البيانات بين اللغات. على عكس التنسيقات الأكثر إسهابًا، تعطي YAML الأولوية للنظافة وسهولة الاستخدام, تعتمد على المسافة البادئة بدلاً من الأقواس أو العلامات لتحديد البنية. هذا النهج البسيط يجعله الخيار المفضل للمطورين وعلماء البيانات الذين يعملون في التعلُّم الآلي (ML) و والذكاء الاصطناعي، حيث يكون تحديد البيئات والمعلمات المعقدة بوضوح أمرًا ضروريًا. يمكنك استكشاف المواصفات الرسمية على موقع YAML الإلكتروني.
في مجال التعلّم العميق (DL)، تعمل YAML بمثابة العمود الفقري لإدارة التجارب وقابلية التكرار. غالبًا ما تتطلب الأنظمة المعقدة تحديد مئات المعلمات، من مسارات الملفات إلى الثوابت الرياضية. من خلال إضفاء الطابع الخارجي على هذه الإعدادات في ملفات YAML، يضمن الباحثون التأكد من أن تكوينات بيانات التدريب و وبنى النماذج الخاصة بهم منفصلة عن قاعدة الشيفرة. يسهّل هذا الفصل ممارسات DataOps ويسمح بتحكم أسهل في إصدار الإعدادات التجريبية.
YAML موجود في كل مكان في حزم تطوير الذكاء الاصطناعي الحديثة. فيما يلي طريقتان أساسيتان لاستخدامه:
في حين أن YAML تشترك في أوجه التشابه مع التنسيقات الأخرى، إلا أنها تتميز بفلسفة تصميمها وحالات استخدامها:
عند العمل مع نموذج Ultralytics YOLO11 تعتبر ملفات YAML أساسية لتحديد البيانات التي يراها النموذج. إن
data في دالة التدريب تقبل وسيطة في دالة التدريب ملف YAML يشير إلى صورك وتسمياتك.
يوضح المثال التالي كيفية بدء جلسة تدريب باستخدام ملف تكوين مجموعة بيانات قياسي.
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)
بالإضافة إلى التدريب المباشر على النماذج، فإن YAML جزء لا يتجزأ من الأوسع نطاقًا. إنه التنسيق تنسيق التكوين القياسي ل Docker Compose عند تنظيم الحاويات لنشر النموذج. وبالمثل, يستخدم Kubernetes YAML لتحديد كيفية توسيع نطاق التطبيقات في السحابة.
تعتمد أدوات الأتمتة مثل GitHub Actions أيضًا على YAML لتحديد سير عمل CI / CD، مما يضمن إجراء الاختبار الآلي و والتكامل بسلاسة في كل مرة يتم فيها دفع التعليمات البرمجية. يستخدم مطورو Python بشكل متكرر مكتبة مكتبة PyYAML لقراءة وكتابة هذه الملفات برمجيًا برمجيًا، مما يسد الفجوة بين التكوين الثابت وتنفيذ التعليمات البرمجية الديناميكية.