تعرف على كيفية قيام YAML بتبسيط سير عمل الذكاء الاصطناعي. اكتشف كيفية استخدام ملفات YAML لتكوين مجموعات البيانات وتدريب نماذج Ultralytics من أجل عمليات MLOps أسرع وأسهل.
YAML (YAML Ain't Markup Language) هو معيار تسلسل بيانات يمكن قراءته بواسطة البشر ويستخدم على نطاق واسع في صناعة البرمجيات لكتابة ملفات التكوين. على عكس لغات الترميز الأكثر تعقيدًا، يعطي YAML الأولوية للتنسيق النظيف وقابلية القراءة، مما يجعله خيارًا ممتازًا للمطورين وعلماء البيانات الذين يحتاجون إلى فحص أو تعديل المعلمات بسرعة. تعتمد بنيته البسيطة على المسافات البادئة بدلاً من الأقواس أو العلامات، مما يسمح للمستخدمين بتعريف هياكل البيانات الهرمية مثل القوائم والقواميس بأقل قدر من الفوضى البصرية. في سياق الذكاء الاصطناعي والتعلم الآلي، يعمل YAML كجسر مهم بين نية الإنسان وتنفيذ الآلة، حيث يخزن كل شيء من مسارات مجموعات البيانات إلى إعدادات ضبط المعلمات الفائقة بتنسيق يسهل التحكم في إصداراته ومشاركته.
في عمليات التعلم الآلي الحديثة (MLOps)، من الضروري الحفاظ على تجارب قابلة للتكرار ومنظمة. تعمل ملفات YAML كخطط لهذه التجارب، حيث تضم جميع تفاصيل التكوين الضرورية في مستند واحد. تعتمد أطر عمل مثل نماذج Ultralytics بشكل كبير على ملفات التكوين هذه لتحديد بنى النماذج وبروتوكولات التدريب.
عند تدريب نموذج الرؤية الحاسوبية، غالبًا ما تحتاج إلى تحديد مكان بيانات التدريب، وعدد الفئات التي تكتشفها، وأسماء تلك الفئات. بدلاً من ترميز هذه القيم في Python مما قد يؤدي إلى فوضى في قواعد البيانات، يمكنك فصل هذه البيانات في ملف YAML. يتيح هذا الفصل بين الاهتمامات للباحثين تبادل مجموعات البيانات أو تعديل معدلات التعلم دون المساس بقاعدة البيانات الأساسية، مما يسهل تتبع التجارب والتعاون بشكل أفضل.
على الرغم من أن YAML غالبًا ما يُقارن بـ JSON (ترميز كائنات JavaScript) و XML (لغة الترميز القابلة للتوسيع)، إلا أنهما يخدمان أغراضًا مختلفة قليلاً في نظام الذكاء الاصطناعي.
يجد YAML مكانه في عدة مراحل حاسمة من دورة حياة تطوير الذكاء الاصطناعي:
data.yaml) عادةً ما يحدد مسارات الدليل لمجموعات التدريب والتحقق والاختبار. كما أنه يربط
مؤشرات الفئات (0، 1، 2) بأسماء الفئات (شخص، دراجة، سيارة)، مما يضمن فهم النموذج لهيكل البيانات.
يوضح المثال التالي كيف يعمل ملف YAML نموذجي كواجهة مجموعة بيانات لتدريب نموذج YOLO26. يوضح Python أدناه كيف تستخدم Ultralytics هذا الملف لبدء عملية التدريب.
1. coco8.yaml ملف (مفهوم):سيحتوي هذا الملف على مسارات للصور وقائمة بأسماء الفئات.
class names.
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 :يقرأ الكود التكوين ويبدأ التدريب باستخدام المعلمات المحددة. .
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)
فهم بعض قواعد النحو الأساسية يساعد على تجنب الأخطاء الشائعة، مثل ScannerError أو
ParserError، والتي تحدث غالبًا بسبب المسافة البادئة غير الصحيحة.
key: value. على سبيل المثال،
epochs: 100 يحدد عدد دورات التدريب.
-. هذا مفيد لتعريف قوائم
زيادة البيانات خطوات أو مصادر إدخال متعددة
.
# يتم تجاهلها من قبل المحلل، مما يسمح لك بترك ملاحظات
حول
المعلمات الفائقة مباشرة في الملف.
من خلال إتقان YAML، يمكن للممارسين تبسيط عمليات تدريب النماذج ، وتقليل أخطاء التكوين، و ضمان أن تظل مشاريع الذكاء الاصطناعي الخاصة بهم قابلة للتطوير وسهلة الصيانة.