Link to this sectionUltralytics YOLOv5 🚀 على مثيل AWS Deep Learning: دليلك الشامل#
قد يبدو إعداد بيئة تعلم عميق عالية الأداء أمراً شاقاً، خاصة للمبتدئين. ولكن لا تقلق! 🛠️ يقدم هذا الدليل خطوات تفصيلية لتشغيل Ultralytics YOLOv5 على مثيل AWS Deep Learning. من خلال الاستفادة من قوة Amazon Web Services (AWS)، يمكن حتى للمبتدئين في التعلم الآلي (ML) البدء بسرعة وبتكلفة معقولة. إن قابلية التوسع التي توفرها منصة AWS تجعلها مثالية للتجارب والنشر في بيئات الإنتاج.
تتضمن خيارات التشغيل السريع الأخرى لـ YOLOv5 دفتر ملاحظات Google Colab ، وبيئات Kaggle
، وGCP Deep Learning VM، وصورة Docker الجاهزة الخاصة بنا والمتاحة على Docker Hub
.
Link to this sectionالخطوة 1: تسجيل الدخول إلى وحدة تحكم AWS#
ابدأ بإنشاء حساب أو تسجيل الدخول إلى AWS Management Console. بمجرد تسجيل الدخول، انتقل إلى لوحة تحكم خدمة EC2، حيث يمكنك إدارة خوادمك الافتراضية (المثيلات).

Link to this sectionالخطوة 2: تشغيل المثيل الخاص بك#
من لوحة تحكم EC2، انقر فوق زر Launch Instance. يؤدي هذا إلى بدء عملية إنشاء خادم افتراضي جديد مصمم خصيصاً لتلبية احتياجاتك.

Link to this sectionاختيار صورة Amazon Machine Image (AMI) المناسبة#
يعد اختيار AMI الصحيحة أمراً بالغ الأهمية، فهي تحدد نظام التشغيل والبرامج المثبتة مسبقاً لمثلك. في شريط البحث، اكتب 'Deep Learning' واختر أحدث إصدار من Deep Learning AMI المستند إلى Ubuntu (ما لم تكن لديك متطلبات خاصة لنظام تشغيل آخر). تأتي صور Deep Learning AMI من أمازون مجهزة مسبقاً بـ أطر عمل التعلم العميق الشائعة (مثل PyTorch، المستخدم في YOLOv5) وبرامج تشغيل GPU اللازمة، مما يسهل عملية الإعداد بشكل كبير.

Link to this sectionاختيار نوع المثيل#
بالنسبة للمهام الصعبة مثل تدريب نماذج التعلم العميق، يوصى بشدة باختيار نوع مثيل مدعوم بـ GPU. يمكن أن تقلل وحدات GPU بشكل كبير من الوقت المطلوب لتدريب النموذج مقارنة بـ CPUs. عند اختيار حجم المثيل، تأكد من أن سعة الذاكرة (RAM) كافية لنموذجك ومجموعة البيانات الخاصة بك.
ملاحظة: حجم النموذج ومجموعة البيانات الخاصة بك عوامل حاسمة. إذا كانت مهمة التعلم الآلي الخاصة بك تتطلب ذاكرة أكبر مما يوفره المثيل المحدد، فستحتاج إلى اختيار نوع مثيل أكبر لتجنب مشاكل الأداء أو الأخطاء.
استكشف أنواع مثيلات GPU المتاحة على صفحة أنواع مثيلات EC2، لا سيما تحت فئة Accelerated Computing.

للحصول على معلومات مفصلة حول مراقبة وتحسين استخدام GPU، راجع دليل AWS حول مراقبة وتحسين GPU. قارن التكاليف باستخدام التسعير عند الطلب واستكشف المدخرات المحتملة مع تسعير المثيلات الفورية (Spot Instance).
Link to this sectionتكوين المثيل الخاص بك#
فكر في استخدام مثيلات Amazon EC2 Spot للحصول على نهج أكثر فعالية من حيث التكلفة. تسمح لك مثيلات Spot بالمزايدة على سعة EC2 غير المستخدمة، وغالباً ما يكون ذلك بخصم كبير مقارنة بأسعار الطلب. بالنسبة للمهام التي تتطلب الاستمرارية (حفظ البيانات حتى في حالة انقطاع مثيل Spot)، اختر طلباً مستمراً (persistent request). وهذا يضمن استمرار حجم التخزين الخاص بك.

تابع عبر الخطوات 4-7 من معالج تشغيل المثيل لتكوين التخزين، وإضافة العلامات، وإعداد مجموعات الأمان (تأكد من أن منفذ SSH 22 مفتوح من عنوان IP الخاص بك)، ومراجعة إعداداتك قبل النقر فوق Launch. ستحتاج أيضاً إلى إنشاء زوج مفاتيح أو اختيار زوج موجود للوصول الآمن عبر SSH.
Link to this sectionالخطوة 3: الاتصال بالمثيل الخاص بك#
بمجرد أن تصبح حالة المثيل 'قيد التشغيل' (running)، حدده من لوحة تحكم EC2. انقر فوق زر Connect لعرض خيارات الاتصال. استخدم مثال أمر SSH المقدم في محطتك المحلية (مثل Terminal على macOS/Linux أو PuTTY/WSL على Windows) لإنشاء اتصال آمن. ستحتاج إلى ملف المفتاح الخاص (.pem) الذي أنشأته أو اخترته أثناء التشغيل.

Link to this sectionالخطوة 4: تشغيل Ultralytics YOLOv5#
الآن بعد أن أصبحت متصلاً عبر SSH، يمكنك إعداد وتشغيل YOLOv5. أولاً، استنسخ مستودع YOLOv5 الرسمي من GitHub وانتقل إلى الدليل. بعد ذلك، قم بتثبيت التبعيات المطلوبة باستخدام pip. يوصى باستخدام بيئة Python 3.8 أو أحدث. سيتم تنزيل النماذج ومجموعات البيانات الضرورية تلقائياً من أحدث إصدار لـ YOLOv5 عند تشغيل أوامر مثل التدريب أو الكشف.
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install required packages
pip install -r requirements.txtمع جاهزية البيئة، يمكنك البدء في استخدام YOLOv5 لمهام مختلفة:
# Train a YOLOv5 model on a custom dataset (e.g., coco128.yaml)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640
# Validate the performance (Precision, Recall, mAP) of a trained model (e.g., yolov5s.pt)
python val.py --weights yolov5s.pt --data coco128.yaml --img 640
# Run inference (object detection) on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos/ --img 640
# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
# See https://docs.ultralytics.com/modes/export/ for more details
python export.py --weights yolov5s.pt --include onnx coreml tflite --img 640راجع وثائق Ultralytics للحصول على أدلة تفصيلية حول التدريب، والتحقق، والتنبؤ (الاستدلال)، والتصدير.
Link to this sectionإضافات اختيارية: زيادة ذاكرة التبادل (Swap Memory)#
إذا كنت تعمل مع مجموعات بيانات كبيرة جداً أو واجهت قيوداً في الذاكرة أثناء التدريب، فإن زيادة ذاكرة التبادل على مثيلك قد تساعد أحياناً. تسمح مساحة التبادل للنظام باستخدام مساحة القرص كذاكرة وصول عشوائي (RAM) افتراضية.
# Allocate a 64GB swap file (adjust size as needed)
sudo fallocate -l 64G /swapfile
# Set correct permissions
sudo chmod 600 /swapfile
# Set up the file as a Linux swap area
sudo mkswap /swapfile
# Enable the swap file
sudo swapon /swapfile
# Verify the swap memory is active
free -hتهانينا! 🎉 لقد نجحت في إعداد مثيل AWS Deep Learning، وتثبيت Ultralytics YOLOv5، وأنت الآن جاهز لأداء مهام اكتشاف الكائنات. سواء كنت تجرّب نماذج مدربة مسبقاً أو تتدرب على بياناتك الخاصة، يوفر هذا الإعداد القوي أساساً قابلاً للتطوير لمشاريع الرؤية الحاسوبية الخاصة بك. في حال واجهت أي مشاكل، استشر وثائق AWS الشاملة وموارد مجتمع Ultralytics المفيدة مثل الأسئلة الشائعة (FAQ). كشفاً سعيداً!