Ultralytics YOLOv5 🚀 على مثيل AWS Deep Learning: دليلك الكامل
قد يبدو إعداد بيئة تعلم عميق عالية الأداء أمرًا شاقًا، خاصة بالنسبة للقادمين الجدد. ولكن لا تخف! 🛠️ يقدم هذا الدليل شرحًا تفصيليًا خطوة بخطوة لتشغيل Ultralytics YOLOv5 على مثيل AWS Deep Learning. من خلال الاستفادة من قوة Amazon Web Services (AWS)، يمكن حتى لأولئك الجدد في تعلم الآلة (ML) البدء بسرعة وفعالية من حيث التكلفة. إن قابلية التوسع لمنصة AWS تجعلها مثالية لكل من التجريب و النشر في الإنتاج.
تتضمن خيارات البدء السريع الأخرى لـ YOLOv5 Google Colab Notebook , بيئات Kaggle
, جهاز افتراضي للتعلم العميق من GCP، وصورة Docker الجاهزة مسبقًا المتوفرة على Docker Hub
.
الخطوة 1: تسجيل الدخول إلى وحدة تحكم AWS
ابدأ بإنشاء حساب أو تسجيل الدخول إلى AWS Management Console. بمجرد تسجيل الدخول، انتقل إلى لوحة معلومات خدمة EC2، حيث يمكنك إدارة الخوادم الافتراضية (النسخ) الخاصة بك.
الخطوة الثانية: تشغيل المثيل الخاص بك
من لوحة معلومات EC2، انقر فوق زر إطلاق مثيل. يبدأ هذا عملية إنشاء خادم افتراضي جديد مصمم خصيصًا لتلبية احتياجاتك.
تحديد Amazon Machine Image (AMI) المناسبة
يعد اختيار AMI الصحيح أمرًا بالغ الأهمية. يحدد هذا نظام التشغيل والبرامج المثبتة مسبقًا لمثيلك. في شريط البحث، اكتب 'التعلم العميق' وحدد أحدث AMI للتعلم العميق المستندة إلى Ubuntu (ما لم يكن لديك متطلبات محددة لنظام تشغيل مختلف). تأتي AMIs للتعلم العميق من Amazon مهيأة مسبقًا مع أطر عمل التعلم العميق الشائعة (مثل PyTorch، المستخدمة بواسطة YOLOv5) و برامج تشغيل GPU الضرورية، مما يبسط عملية الإعداد بشكل كبير.
اختيار نوع المثيل
بالنسبة للمهام الصعبة مثل تدريب نماذج التعلم العميق، يوصى بشدة باختيار نوع مثيل مُسرَّع بواسطة وحدة معالجة الرسوميات (GPU). يمكن لوحدات معالجة الرسوميات (GPUs) أن تقلل بشكل كبير من الوقت المطلوب لتدريب النموذج مقارنة بوحدات المعالجة المركزية (CPUs). عند اختيار حجم المثيل، تأكد من أن سعة الذاكرة (RAM) كافية لنموذجك ومجموعة البيانات الخاصة بك.
ملاحظة: حجم النموذج ومجموعة البيانات الخاصة بك هما عاملان حاسمان. إذا كانت مهمة تعلم الآلة الخاصة بك تتطلب ذاكرة أكبر مما توفره المثيل المحدد، فستحتاج إلى اختيار نوع مثيل أكبر لتجنب مشكلات الأداء أو الأخطاء.
استكشف أنواع مثيلات GPU المتاحة في صفحة أنواع مثيلات EC2، خاصةً ضمن فئة الحوسبة المعجلة.
للحصول على معلومات مفصلة حول مراقبة وتحسين استخدام وحدة معالجة الرسوميات (GPU)، راجع دليل AWS حول مراقبة وتحسين وحدة معالجة الرسوميات (GPU). قارن التكاليف باستخدام أسعار الطلب حسب الحاجة واستكشف الوفورات المحتملة مع تسعير المثيلات الفورية.
تكوين المثيل الخاص بك
ضع في اعتبارك استخدام مثيلات Amazon EC2 الفورية للحصول على نهج أكثر فعالية من حيث التكلفة. تتيح لك المثيلات الفورية المزايدة على سعة EC2 غير المستخدمة، غالبًا بخصم كبير مقارنة بأسعار الطلب عند الطلب. بالنسبة للمهام التي تتطلب استمرارية (حفظ البيانات حتى إذا انقطع المثيل الفوري)، اختر طلبًا مستمرًا. يضمن ذلك استمرار وحدة تخزين التخزين الخاصة بك.
تابع الخطوات من 4 إلى 7 من معالج تشغيل المثيل لتكوين التخزين وإضافة العلامات وإعداد مجموعات الأمان (تأكد من أن منفذ SSH 22 مفتوح من عنوان IP الخاص بك) ومراجعة إعداداتك قبل النقر فوق Launch. ستحتاج أيضًا إلى إنشاء أو تحديد زوج مفاتيح موجود للوصول الآمن عبر SSH.
الخطوة الثالثة: الاتصال بالمثيل الخاص بك
بمجرد أن تظهر حالة المثيل الخاص بك على أنها 'قيد التشغيل'، حدده من لوحة معلومات EC2. انقر على اتصال زر لعرض خيارات الاتصال. استخدم مثال أمر SSH المقدم في جهازك الطرفي المحلي (مثل Terminal على macOS/Linux أو PuTTY/WSL على Windows) لإنشاء اتصال آمن. ستحتاج إلى ملف المفتاح الخاص (.pem
) الذي قمت بإنشائه أو تحديده أثناء التشغيل.
الخطوة 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 للحصول على أدلة مفصلة حول التدريب، و التحقق من الصحة، و التنبؤ (الاستدلال)، و التصدير.
إضافات اختيارية: زيادة ذاكرة المبادلة
إذا كنت تعمل مع مجموعات بيانات كبيرة جدًا أو واجهت قيودًا في الذاكرة أثناء التدريب، فإن زيادة ذاكرة التبديل على المثيل الخاص بك يمكن أن يساعد في بعض الأحيان. تسمح مساحة التبديل للنظام باستخدام مساحة القرص كذاكرة وصول عشوائي افتراضية.
# 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 المفيدة مثل الأسئلة الشائعة. استمتع بالاكتشاف!