Callback
اكتشف كيف تحسّن عمليات الاستدعاء (Callbacks) تدريب Ultralytics YOLO26. تعلم تنفيذ التوقف المبكر، وحفظ نقاط التحقق، والتسجيل المخصص لتعزيز سير عمل الذكاء الاصطناعي لديك.
في مجال هندسة البرمجيات و**الذكاء الاصطناعي (AI)**، يُعد رد الاتصال (callback) جزءاً من كود قابل للتنفيذ يتم تمريره كوسيط إلى كود آخر، والذي يُتوقع منه بعد ذلك تنفيذ (استدعاء) هذا الوسيط في وقت محدد. في سياق أطر عمل التعلم العميق (DL)، تُعد ردود الاتصال أدوات أساسية تسمح للمطورين بتخصيص سلوك حلقة تدريب النموذج دون تعديل كود التدريب الأساسي نفسه. وهي تعمل كمشغلات آلية تؤدي إجراءات محددة في مراحل مختلفة من عملية التدريب، مثل بداية أو نهاية الحقبة (epoch)، أو دفعة التدريب، أو جلسة التدريب بأكملها.
Link to this sectionدور ردود الاتصال في تعلم الآلة#
قد يستغرق تدريب شبكة عصبية معقدة ساعات أو حتى أياماً. وبدون ردود الاتصال، تكون عملية التدريب في الأساس "صندوقاً أسود" يعمل حتى الاكتمال، وغالباً ما تتطلب إشرافاً يدوياً. تُدخل ردود الاتصال إمكانية الملاحظة والتحكم، مما يسمح للنظام بالتنظيم الذاتي بناءً على مقاييس الأداء في الوقت الفعلي.
عند استخدام مكتبات عالية المستوى مثل PyTorch أو TensorFlow، توفر ردود الاتصال طريقة لإدخال منطق إلى خوارزمية التحسين. على سبيل المثال، إذا كان النموذج يتعلم بشكل جيد، فقد يقوم رد الاتصال بحفظ الحالة الحالية؛ وإذا توقف عن التعلم، فقد يقوم رد الاتصال بإيقاف العملية لتوفير الموارد. وهذا يجعل سير عمل تعلم الآلة (ML) أكثر كفاءة وقوة.
Link to this sectionالتطبيقات الشائعة وأمثلة من العالم الحقيقي#
تتميز ردود الاتصال بتعدد استخداماتها ويمكن استخدامها في مجموعة واسعة من المهام أثناء مراقبة النموذج والتحسين.
- الإيقاف المبكر: أحد أكثر الاستخدامات شيوعاً هو الإيقاف المبكر. يراقب رد الاتصال هذا مقياساً محدداً، مثل خسارة بيانات التحقق. إذا توقفت الخسارة عن الانخفاض لعدد محدد من الحقبات، يقوم رد الاتصال بإيقاف التدريب. وهذا يمنع فرط التخصيص (overfitting)، مما يضمن تعميم النموذج بشكل جيد على البيانات الجديدة بدلاً من حفظ بيانات التدريب.
- نقاط حفظ النموذج: في عمليات التدريب الطويلة، يمكن أن تكون أعطال الأجهزة كارثية. يقوم رد اتصال حفظ نقاط التحقق بحفظ أوزان النموذج على فترات منتظمة (على سبيل المثال، كل حقبة) أو فقط عندما يحقق النموذج درجة "أفضل" جديدة في مقاييس مثل الدقة أو متوسط دقة التنبؤ (mAP). وهذا يضمن أن لديك دائماً نسخة محفوظة من النموذج ذي الأداء الأفضل.
- جدولة معدل التعلم: يتحكم معدل التعلم في مدى تغير النموذج استجابة للخطأ المقدر في كل مرة يتم فيها تحديث أوزان النموذج. يمكن لرد الاتصال ضبط هذا المعدل ديناميكياً، مما يؤدي إلى تقليله عندما يستقر التعلم لمساعدة النموذج على الوصول إلى حل مثالي، وهي تقنية يشار إليها غالباً بـ اضمحلال معدل التعلم.
- التسجيل والتصور: تُستخدم ردود الاتصال بشكل متكرر للتكامل مع أدوات تتبع التجارب. فهي تبث المقاييس إلى لوحات المعلومات مثل TensorBoard أو MLflow، مما يسمح لعلماء البيانات بتصور دوال الخسارة ورسوم البيانية للأداء في الوقت الفعلي.
Link to this sectionتنفيذ ردود الاتصال باستخدام Ultralytics YOLO#
The Ultralytics library supports a robust callback system, allowing users to hook into events during the training of models like YOLO26. This is particularly useful for users managing workflows on the Ultralytics Platform who need custom logging or control logic.
فيما يلي مثال موجز لكيفية تعريف وتسجيل رد اتصال مخصص يطبع رسالة في نهاية كل حقبة تدريب باستخدام Python API:
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)Link to this sectionردود الاتصال مقابل الخطافات (Hooks)#
While related, it is helpful to distinguish callbacks from hooks. In frameworks like PyTorch, hooks are generally lower-level functions attached to specific tensor operations or neural network layers to inspect or modify gradients and outputs during the forward or backward pass. In contrast, callbacks are typically higher-level abstractions tied to the training loop events (start, end, batch processing) rather than the mathematical computation graph itself.
Link to this sectionمزيد من القراءة والموارد#
For those looking to deepen their understanding of how to optimize training workflows, exploring hyperparameter tuning is a logical next step. Additionally, understanding the underlying computer vision (CV) tasks such as object detection and instance segmentation will provide context on why precise training control via callbacks is necessary. For enterprise-grade management of these processes, the Ultralytics Platform offers integrated solutions that automate many of these callback-driven behaviors.






