Ultralytics YOLO27:
Get Started

تصوير بنيات YOLO باستخدام YAML2ModelGraph#

YAML2ModelGraph أداة مجتمعية تحوّل ملفات YAML الخاصة بنماذج Ultralytics YOLO إلى مخططات SVG للبنية. ويمكنها المساعدة في توثيق النماذج المخصصة أو فحص بنية العمود الفقري والعنق والرأس فيها.

Single-head YOLO architecture rendered by YAML2ModelGraph Multi-head YOLO architecture rendered by YAML2ModelGraph

التثبيت#

استنسخ المشروع وثبّت التبعية PyYAML:

git clone https://github.com/WangQvQ/YAML2ModelGraph.git
cd YAML2ModelGraph
pip install pyyaml

الاستخدام#

أنشئ مخططًا من مثال YOLO26 المضمّن:

python main.py examples/yolo26.yaml output.svg

استخدم --head multi لرسم عُقد رؤوس منفصلة خاصة بكل مقياس، أو اختر أحد السمات المضمّنة:

python main.py examples/yolo26.yaml output.svg --head multi --theme paper_ryb

تشمل السمات المتاحة paper وpaper_ryb وcandy وdark وocean وretro وblueprint وforest وjournal. ولا يتطلب SVG الناتج تثبيت Graphviz.

بيانات العقد الوصفية#

حرّر DISPLAY_CONFIG في main.py الخاص بـ YAML2ModelGraph لاختيار التفاصيل التي تظهر في كل عقدة:

DISPLAY_CONFIG = {
    "show_channels": True,
    "show_repeats": True,
    "show_stride": True,
    "show_args": False,
}

تُعرض أسماء وحدات YAML المخصصة تلقائيًا. وتُضبط ألوان السمات وأشكالها والخطوط في themes.py الخاص بالأداة.

القيود#

يضبط YAML2ModelGraph محاذاة رؤوس Detect القياسية على نحو خاص. أما رؤوس المهام الأخرى، مثل Segment وPose وOBB، فتُعرض حاليًا كعُقد عامة في مسار العنق. راجع مستودع YAML2ModelGraph للاطّلاع على معلومات الدعم والاستخدام الحالية.

الأسئلة الشائعة#

  • نعم. يُعرض أي ملف YAML لنموذج Ultralytics يتبع تنسيق الطبقات [from, repeats, module, args]، وتُرسم أسماء الوحدات المخصصة كعُقد عامة. راجع دليل إعداد YAML للنماذج للاطّلاع على التنسيق.

  • لا. تكتب الأداة ملفات SVG مباشرةً، وتعتمد على PyYAML فقط.

  • الرؤوس القياسية Detect فقط. أما رؤوس Segment وPose وOBB فتُرسم كعُقد عامة في مسار العنق؛ راجع مستودع YAML2ModelGraph للاطّلاع على الدعم الحالي.

التعليقات