تدريب YOLOv11 على Dataset مخصص باستخدام Kaggle وColab: دليل شامل للمبتدئين
تدريب YOLOv11

كيفية تدريب موديل YOLOv11 على Dataset خاص بك باستخدام Kaggle وColab بكفاءة عالية
في عالم الذكاء الاصطناعي وتعلم الآلة، أصبح تدريب النماذج على مجموعات بيانات مخصصة أمرًا شائعًا بين المطورين والباحثين. إذا كنتِ تسعين لتدريب موديل YOLOv11 على Dataset خاص بكِ، فقد تواجهين بعض التحديات التقنية مثل انقطاع وحدة معالجة الرسوميات (GPU) أو بطء العملية. في هذا المقال، سأشرح لكِ خطوة بخطوة كيفية تدريب الموديل باستخدام أدوات مجانية مثل Google Colab وKaggle، مع التركيز على حل المشكلات الشائعة مثل فقدان التقدم أثناء التدريب وتحسين استخدام الموارد المتاحة.
ما هو YOLOv11 ولماذا هو خيارك المثالي؟
YOLOv11 هو أحدث إصدار من سلسلة نماذج YOLO (You Only Look Once)، وهي نماذج متطورة في مجال رؤية الحاسوب، تُستخدم بشكل رئيسي في اكتشاف الأشياء (Object Detection). يتميز هذا الإصدار بسرعته العالية ودقته الممتازة مقارنة بالإصدارات السابقة، مما يجعله مناسبًا للمشاريع التي تتطلب معالجة سريعة للصور أو الفيديوهات. سواء كنتِ تعملين على مشروع شخصي أو تجاري متعلق بالأفلييت، فإن تدريب YOLOv11 على Dataset مخصص يمكن أن يفتح أمامكِ آفاقًا جديدة.
لكن، قد تجدين صعوبة في إتمام عملية التدريب، خاصة إذا كنتِ تعتمدين على أدوات مجانية توفر GPU محدود مثل Colab، أو إذا واجهتِ مشكلات تقنية مثل انقطاع الاتصال. لذا، دعينا نستعرض الحلول العملية لهذه المشكلات.
التحديات الشائعة أثناء تدريب YOLOv11
قبل أن ننتقل إلى الحلول، من المهم فهم المشكلات التي قد تواجهينها:
- انقطاع GPU في Colab: إذا كنتِ تستخدمين النسخة المجانية من Google Colab، فإن وحدة المعالجة الرسومية لها حد زمني يتراوح بين 6 إلى 12 ساعة يوميًا، ويتم تجديده أسبوعيًا تقريبًا. هذا يعني أن التدريب قد يتوقف فجأة.
- فقدان التقدم: إذا لم تقومي بحفظ النقاط التفتيشية (Checkpoints) بانتظام، قد تضطرين لإعادة التدريب من البداية بعد كل انقطاع.
- صعوبة إعادة الاتصال: أحيانًا، يرفض Colab إعادة تخصيص GPU بعد الانقطاع، مما يؤخر عملكِ.
- بطء العملية: قد يستغرق تدريب الموديل ساعات طويلة إذا لم يتم تحسين الإعدادات.
لحسن الحظ، يمكن التغلب على هذه التحديات باستخدام أدوات مثل Colab وKaggle بذكاء، وهذا ما سنناقشه بالتفصيل.
لماذا Kaggle أفضل من Colab لتدريب YOLOv11؟
على الرغم من أن Google Colab يُعتبر أداة رائعة للمبتدئين بفضل واجهته البسيطة ودعمه لـ GPU مجانًا، إلا أن Kaggle يتفوق في بعض الجوانب:
- وقت GPU أطول: يوفر Kaggle ما يصل إلى 20 ساعة من استخدام GPU أسبوعيًا في النسخة المجانية، وهو أكثر من Colab.
- بيئة مدمجة: يتيح لكِ Kaggle رفع Dataset الخاص بكِ، كتابة الكود، وتشغيل التدريب في مكان واحد دون الحاجة إلى ربط خدمات خارجية مثل Google Drive.
- استقرار أفضل: على عكس Colab، يقل احتمال انقطاع الجلسة في Kaggle إذا تم إعداد العملية بشكل صحيح.
لذلك، إذا كنتِ تبحثين عن خيار موثوق ومجاني، فإن Kaggle هو الخيار الأمثل. لكن، لا تقلقي إذا كنتِ تفضلين Colab؛ سأشرح كيفية تحسين تجربتكِ في كلا الخيارين.
خطوات تدريب YOLOv11 على Dataset مخصص
الآن، دعينا ننتقل إلى الجزء العملي. سأوضح لكِ كيفية إعداد بيئة التدريب وحفظ التقدم باستخدام Checkpoints، سواء على Kaggle أو Colab.
1. إعداد Dataset الخاص بكِ
أول خطوة هي تحضير مجموعة البيانات الخاصة بكِ بصيغة متوافقة مع YOLOv11. عادةً، تحتاجين إلى:
- الصور: مجلد يحتوي على الصور التي تريدين تدريب الموديل عليها.
- التعليقات التوضيحية (Annotations): ملفات نصية بصيغة
.txt
تحدد مواقع الأشياء في كل صورة (Bounding Boxes) مع تسمياتها. - ملف التكوين: ملف
.yaml
يحدد مسارات الصور، عدد الفئات (Classes)، وأسماءها.
إذا لم تكوني قد أعددتِ Dataset بعد، يمكنكِ استخدام أدوات مثل Roboflow لتسهيل عملية التحضير.
2. رفع Dataset إلى Kaggle أو Colab
- على Kaggle:
- سجلي الدخول إلى حسابكِ على Kaggle.
- انقري على “Datasets” ثم “New Dataset”، وقومي برفع مجلد Dataset الخاص بكِ.
- احفظي المسار الذي سيظهر لاحقًا لاستخدامه في الكود.
- على Colab:
- ارفعي Dataset إلى Google Drive.
- اربطي Colab بـ Drive باستخدام الأمر التالي في خلية الكود:
from google.colab import drive drive.mount('/content/drive')
3. تثبيت YOLOv11
YOLOv11 متاح من خلال مكتبة Ultralytics. لتثبيته:
- في Kaggle أو Colab، شغلي الأمر التالي:
!pip install ultralytics
- تأكدي من أن لديكِ إصدار Python 3.7 أو أحدث.
4. كتابة الكود للتدريب مع Checkpoints
لضمان عدم فقدان التقدم، يجب حفظ النقاط التفتيشية (Checkpoints) بعد كل عدد معين من Epochs. إليكِ نموذج كود بسيط:
from ultralytics import YOLO
# تحميل الموديل
model = YOLO('yolov11n.pt') # يمكنكِ اختيار إصدار آخر مثل yolov11s.pt
# مسار Dataset
data_path = '/path/to/your/data.yaml' # استبدلي بالمسار الفعلي
# تدريب الموديل
model.train(
data=data_path,
epochs=50, # عدد Epochs
imgsz=640, # حجم الصورة
batch=16, # حجم الدفعة
save_period=5, # حفظ Checkpoint كل 5 Epochs
project='runs/train', # مجلد حفظ النتائج
name='exp1' # اسم التجربة
)
- save_period: يحدد عدد Epochs بين كل حفظ. إذا انقطع التدريب، يمكنكِ استئنافه من آخر Checkpoint.
5. استئناف التدريب بعد الانقطاع
إذا توقف التدريب، يمكنكِ استئنافه باستخدام آخر Checkpoint:
model = YOLO('runs/train/exp1/weights/last.pt') # مسار آخر Checkpoint
model.train(
data=data_path,
epochs=50,
imgsz=640,
batch=16,
resume=True # استئناف التدريب
)
6. تحسين استخدام GPU
- في Kaggle: تأكدي من تفعيل GPU من إعدادات الـ Notebook (Settings > Accelerator > GPU).
- في Colab: اختاري GPU من Runtime > Change Runtime Type.
نصائح لتجنب المشكلات أثناء التدريب
- اختيار حجم Batch مناسب: إذا كان GPU يتوقف بسبب الذاكرة، قللي حجم الـ Batch (مثل 8 بدلًا من 16).
- تقليل حجم الصورة: استخدمي
imgsz=416
بدلًا من 640 إذا كان التدريب بطيئًا جدًا. - الاشتراك في Colab Pro: إذا كنتِ بحاجة إلى وقت GPU أطول، يمكنكِ الاشتراك في Colab Pro للحصول على أولوية وموارد أفضل.
- مراقبة الموارد: استخدمي أوامر مثل
!nvidia-smi
لمراقبة استهلاك GPU.
مقارنة بين Kaggle وColab: أيهما تختارين؟
- Kaggle: مثالي إذا كنتِ تريدين بيئة مستقرة ووقت GPU أطول، خاصة للمشاريع الطويلة.
- Colab: مناسب للتجارب السريعة أو إذا كنتِ معتادة على ربط Google Drive.
في النهاية، أنصحكِ باستخدام Kaggle لتدريب YOLOv11 لأنه يوفر تجربة أكثر سلاسة واستدامة.
كيف تستفيدين من YOLOv11 في مشاريع الأفلييت؟
إذا كنتِ تعملين في مجال الأفلييت، يمكنكِ استخدام YOLOv11 في تحليل الصور أو الفيديوهات للترويج لمنتجات معينة. على سبيل المثال:
- تطوير أداة تكتشف المنتجات في الصور وتربطها بروابط الأفلييت.
- تحسين تجربة العملاء من خلال تقديم توصيات دقيقة بناءً على تحليل المحتوى البصري.
الخلاصة
تدريب موديل YOLOv11 على Dataset مخصص ليس بالأمر المعقد إذا اتبعتِ الخطوات الصحيحة واستخدمتِ الأدوات المناسبة. سواء اخترتِ Kaggle أو Google Colab، تأكدي من حفظ Checkpoints بانتظام لتجنب فقدان التقدم، واستخدمي الموارد بحكمة لضمان تجربة سلسة. الآن، حان الوقت لتجربة هذه الخطوات بنفسكِ والبدء في بناء مشروعكِ الخاص. هل لديكِ أسئلة إضافية؟ شاركيني إياها في التعليقات على مدونة أفلييت مصر!