YOLO Vision 2026:

Ultralytics YOLOv5 🚀 على مثيل AWS للتعلّم العميق: دليلك الشامل#

قد يبدو إعداد بيئة التعلّم العميق عالية الأداء أمرًا صعبًا، ولا سيما للمبتدئين. لكن لا داعي للقلق! 🛠️ يقدّم هذا الدليل شرحًا تفصيليًا خطوة بخطوة لتشغيل Ultralytics YOLOv5 على مثيل AWS للتعلّم العميق. ومن خلال الاستفادة من قوة خدمات Amazon Web Services (AWS)، يمكن حتى للمبتدئين في تعلّم الآلة (ML) البدء بسرعة وبتكلفة فعّالة. وتجعل قابلية التوسّع في منصة AWS هذه المنصة مثالية لكلٍّ من التجارب والنشر في بيئات الإنتاج.

تشمل خيارات البدء السريع الأخرى لـ YOLOv5 دفتر Google Colab Open In Colab، وبيئات Kaggle Open In Kaggle، وآلة GCP الافتراضية للتعلّم العميق، وصورة Docker مُنشأة مسبقًا متاحة على Docker Hub Docker Pulls.

الخطوة 1: تسجيل الدخول إلى وحدة تحكم AWS#

ابدأ بإنشاء حساب أو سجّل الدخول إلى وحدة تحكم AWS Management Console. بعد تسجيل الدخول، انتقل إلى لوحة معلومات خدمة EC2، حيث يمكنك إدارة خوادمك الافتراضية (المثيلات).

صفحة تسجيل الدخول إلى AWS Management Console

الخطوة 2: تشغيل مثيلك#

من لوحة معلومات EC2، انقر على زر Launch Instance. يؤدي ذلك إلى بدء عملية إنشاء خادم افتراضي جديد مُهيّأ وفقًا لاحتياجاتك.

زر Launch Instance

اختيار صورة جهاز Amazon المناسبة (AMI)#

يُعد اختيار AMI الصحيحة أمرًا بالغ الأهمية، إذ تحدد نظام التشغيل والبرامج المثبّتة مسبقًا لمثيلك. اكتب 'التعلّم العميق' في شريط البحث، ثم اختر أحدث AMI للتعلّم العميق المستندة إلى Ubuntu (ما لم تكن لديك متطلبات محددة لنظام تشغيل مختلف). تأتي AMI للتعلّم العميق من Amazon مُهيّأة مسبقًا بأُطر عمل التعلّم العميق الشائعة (مثل PyTorch، الذي يستخدمه YOLOv5) وبرامج تشغيل GPU اللازمة، مما يبسّط عملية الإعداد بدرجة كبيرة.

اختيار AMI للتعلّم العميق في AWS EC2

اختيار نوع المثيل#

بالنسبة إلى المهام المكثفة، مثل تدريب نماذج التعلّم العميق، يُنصح بشدة باختيار نوع مثيل مُسرَّع بواسطة GPU. يمكن لوحدات GPU تقليل الوقت اللازم لتدريب النموذج بدرجة كبيرة مقارنةً بوحدات CPU. وعند اختيار حجم المثيل، تأكد من أن سعة الذاكرة (RAM) كافية لنموذجك ومجموعة بياناتك.

ملاحظة: يُعد حجم النموذج ومجموعة البيانات عاملين حاسمين. إذا كانت مهمة ML تتطلب ذاكرة أكبر مما يوفّره المثيل المحدد، فستحتاج إلى اختيار نوع مثيل أكبر لتجنّب مشكلات الأداء أو الأخطاء.

استكشف أنواع مثيلات GPU المتاحة في صفحة أنواع مثيلات EC2، ولا سيما ضمن فئة الحوسبة المُسرَّعة.

اختيار نوع مثيل GPU في AWS EC2

للحصول على معلومات تفصيلية حول مراقبة استخدام GPU وتحسينه، راجع دليل AWS بشأن مراقبة GPU وتحسينه. قارن التكاليف باستخدام تسعير عند الطلب، واستكشف الوفورات المحتملة من خلال تسعير المثيلات الفورية.

تهيئة مثيلك#

فكّر في استخدام مثيلات Amazon EC2 الفورية لتحقيق نهج أكثر فعالية من حيث التكلفة. تتيح لك المثيلات الفورية تقديم عروض على سعة EC2 غير المستخدمة، وغالبًا بخصم كبير مقارنةً بأسعار عند الطلب. بالنسبة إلى المهام التي تتطلب الاستمرارية (حفظ البيانات حتى في حال انقطاع المثيل الفوري)، اختر طلبًا مستمرًا. ويضمن ذلك استمرار وحدة التخزين لديك.

تهيئة طلب مثيل فوري

تابع الخطوات من 4 إلى 7 في معالج تشغيل المثيل لتهيئة التخزين، وإضافة العلامات، وإعداد مجموعات الأمان (تأكد من أن المنفذ 22 الخاص بـ SSH مفتوح من عنوان IP الخاص بك)، ومراجعة إعداداتك قبل النقر على Launch. ستحتاج أيضًا إلى إنشاء زوج مفاتيح أو اختيار زوج مفاتيح موجود مسبقًا للوصول الآمن عبر SSH.

الخطوة 3: الاتصال بمثيلك#

بمجرد أن تظهر حالة مثيلك على أنها 'running'، حدده من لوحة معلومات EC2. انقر على زر Connect لعرض خيارات الاتصال. استخدم مثال أمر SSH المتوفر في الوحدة الطرفية المحلية لديك (مثل Terminal على macOS/Linux أو PuTTY/WSL على Windows) لإنشاء اتصال آمن. ستحتاج إلى ملف المفتاح الخاص (.pem) الذي أنشأته أو اخترته أثناء التشغيل.

خيارات اتصال SSH بمثيل AWS EC2

الخطوة 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 للاطلاع على أدلة تفصيلية حول التدريب، والتحقق، والتنبؤ (الاستدلال)، والتصدير.

إضافات اختيارية: زيادة ذاكرة Swap#

إذا كنت تعمل مع مجموعات بيانات كبيرة جدًا أو واجهت قيودًا على الذاكرة أثناء التدريب، فقد تساعد زيادة ذاكرة Swap في مثيلك أحيانًا. تتيح مساحة Swap للنظام استخدام مساحة القرص بوصفها ذاكرة 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 للتعلّم العميق، وثبّتَّ Ultralytics YOLOv5، وأصبحت مستعدًا لتنفيذ مهام الكشف عن الأجسام. سواء كنت تجري تجارب باستخدام نماذج مدرَّبة مسبقًا أو تنفّذ التدريب على بياناتك الخاصة، فإن هذا الإعداد القوي يوفّر أساسًا قابلًا للتوسّع لمشروعاتك في الرؤية الحاسوبية. إذا واجهت أي مشكلات، فاستشر وثائق AWS الشاملة وموارد مجتمع Ultralytics المفيدة، مثل الأسئلة الشائعة. نتمنى لك كشفًا موفقًا!

التعليقات