Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

استدعاء

اكتشف كيف تعمل عمليات الاستدعاء على تحسين تدريب Ultralytics . تعلم كيفية تنفيذ الإيقاف المبكر والتحقق من النقاط المرجعية والتسجيل المخصص لتحسين سير عمل الذكاء الاصطناعي لديك.

في مجال هندسة البرمجيات والذكاء الاصطناعي الذكاء الاصطناعي (AI)، فإن الاستدعاء هو جزء من التعليمات البرمجية القابلة للتنفيذ يتم تمريره كحجة إلى تعليمات برمجية أخرى، والتي من المتوقع أن تنفذ (تستدعي) الحجة في وقت معين. في السياق المحدد أطر عمل التعلم العميق (DL) ، تعد عمليات الاستدعاء أدوات أساسية تسمح للمطورين بتخصيص سلوك تدريب النموذج دورة التدريب دون تعديل رمز التدريب الأساسي نفسه. وهي تعمل كمحفزات آلية تؤدي إجراءات محددة في مراحل مختلفة من عملية التدريب، مثل بداية أو نهاية حقبة، أو دفعة تدريب، أو جلسة التدريب بأكملها.

دور عمليات الاستدعاء في التعلم الآلي

تدريب شبكة عصبية معقدة شبكة عصبية قد يستغرق ساعات أو حتى أيام. بدون عمليات الاستدعاء، تكون عملية التدريب في الأساس "صندوقًا أسود" يعمل حتى اكتماله، وغالبًا ما يتطلب إشرافًا يدويًا. توفر عمليات الاستدعاء إمكانية المراقبة والتحكم، مما يسمح للنظام بالتنظيم الذاتي بناءً على مقاييس الأداء في الوقت الفعلي.

عند استخدام مكتبات عالية المستوى مثل PyTorch أو TensorFlow، توفر عمليات الاستدعاء طريقة لإدخال المنطق في خوارزمية التحسين. على سبيل المثال، إذا كان النموذج يتعلم جيدًا، فقد يحفظ الاستدعاء الحالة الحالية؛ وإذا توقف عن التعلم، فقد يوقف الاستدعاء العملية لتوفير الموارد. وهذا يجعل عملية التعلم الآلي (ML) أكثر كفاءة وقوة. وقد تم تضمين استدعاءات الرجوع في

التطبيقات الشائعة والأمثلة الواقعية

الاستدعاءات متعددة الاستخدامات ويمكن استخدامها في مجموعة واسعة من المهام أثناء مراقبة النموذج و التحسين.

  • التوقف المبكر: أحد الاستخدامات الأكثر شيوعًا هو التوقف المبكر. تراقب هذه الاستدعاءات المتكررة مقياسًا محددًا، مثل بيانات التحقق الخسارة. إذا توقفت الخسارة عن الانخفاض لعدد محدد من العصور، فإن الاستدعاء يوقف التدريب. وهذا يمنع التكيف المفرط، مما يضمن تعميم النموذج بشكل جيد على البيانات الجديدة بدلاً من حفظ بيانات التدريب.
  • نموذج التحقق من النقاط: في عمليات التدريب الطويلة، يمكن أن تكون أعطال الأجهزة كارثية. يعمل استدعاء التحقق من النقاط على حفظ أوزان النموذج على فترات منتظمة (على سبيل المثال، كل حقبة) أو فقط عندما يحقق النموذج "أفضل" نتيجة جديدة في المقاييس مثل الدقة أو الدقة المتوسطة (mAP). وهذا يضمن أن يكون لديك دائمًا نسخة محفوظة من النموذج الأفضل أداءً.
  • جدولة معدل التعلم: معدل التعلم مقدار تغير النموذج استجابة للخطأ المقدر في كل مرة يتم فيها تحديث أوزان النموذج. يمكن لرد الاتصال تعديل هذا المعدل ديناميكيًا، وتقليله عند وصول التعلم إلى مرحلة الاستقرار لمساعدة النموذج على التوصل إلى الحل الأمثل، وهي تقنية يشار إليها غالبًا باسم تناقص معدل التعلم.
  • التسجيل والتصور: غالبًا ما تستخدم عمليات الاستدعاء للتكامل مع أدوات تتبع التجارب . تقوم هذه المكالمات بإرسال المقاييس إلى لوحات المعلومات مثل TensorBoard أو MLflow، مما يسمح لعلماء البيانات بتصور وظائف الخسارة ومخططات الأداء في الوقت الفعلي.

تنفيذ عمليات الاستدعاء مع Ultralytics YOLO

تدعم Ultralytics نظام رد اتصال قويًا، مما يسمح للمستخدمين بالارتباط بالأحداث أثناء تدريب نماذج مثل YOLO26. وهذا مفيد بشكل خاص للمستخدمين الذين يديرون سير العمل على Ultralytics الذين يحتاجون إلى تسجيل مخصص أو منطق تحكم.

فيما يلي مثال موجز لكيفية تعريف وتسجيل استدعاء مخصص يقوم بطباعة رسالة في نهاية كل فترة تدريب باستخدام Python :

from ultralytics import YOLO


# Define a custom callback function
def on_train_epoch_end(trainer):
    """Callback function to execute at the end of each training epoch."""
    print(f"Epoch {trainer.epoch + 1} complete. Current Fitness: {trainer.fitness}")


# Load the YOLO26 model (latest generation)
model = YOLO("yolo26n.pt")

# Register the custom callback to the model
model.add_callback("on_train_epoch_end", on_train_epoch_end)

# Train the model with the callback active
model.train(data="coco8.yaml", epochs=3)

الاستدعاءات المرتدة مقابل الخطافات

على الرغم من الصلة بينهما، من المفيد التمييز بين عمليات الاستدعاء المرتدة وعمليات الاستدعاء الخطافات. في أطر عمل مثل PyTorch تعتبر الخطافات عمومًا وظائف منخفضة المستوى مرتبطة بـ tensor أو طبقات الشبكة العصبية لفحص أو تعديل التدرجات والمخرجات أثناء التمرير الأمامي أو الخلفي. في المقابل، تعتبر عمليات الاستدعاء عادةً تجريدات أعلى مستوى مرتبطة بـ حلقة التدريب أحداث (البدء، النهاية، المعالجة الدفعية) بدلاً من الرسم البياني الحسابي الرياضي نفسه.

مزيد من القراءة والمصادر

بالنسبة لأولئك الذين يرغبون في تعميق فهمهم لكيفية تحسين سير عمل التدريب، فإن استكشاف ضبط المعلمات الفائقة هو الخطوة المنطقية التالية. بالإضافة إلى ذلك، فإن فهم مهام الرؤية الحاسوبية (CV) الأساسية مثل الكشف عن الأشياء و تجزئة المثيلات ستوفر سياقًا حول سبب ضرورة التحكم الدقيق في التدريب عبر عمليات الاستدعاء. لإدارة هذه العمليات على مستوى المؤسسات ، فإن Ultralytics حلولاً متكاملة تعمل على أتمتة العديد من هذه السلوكيات التي تعتمد على عمليات الاستدعاء.

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن