Ultralytics YOLO27:
Get Started

البدء السريع باستخدام Ultralytics YOLOv5 🚀 على AzureML#

مرحبًا بك في دليل البدء السريع لـ Ultralytics YOLOv5 على Microsoft Azure Machine Learning (AzureML)! سيرشدك هذا الدليل إلى إعداد YOLOv5 على مثيل حوسبة AzureML، بدءًا من إنشاء بيئة افتراضية ووصولًا إلى تدريب النموذج وإجراء الاستدلال به.

ما Azure؟#

Azure منصة حوسبة سحابية شاملة من Microsoft. وتوفر مجموعة واسعة من الخدمات، تشمل القدرة الحاسوبية وقواعد البيانات وأدوات التحليلات وإمكانات تعلّم الآلة وحلول الشبكات. وتمكّن Azure المؤسسات من إنشاء التطبيقات والخدمات ونشرها وإدارتها عبر مراكز بيانات تديرها Microsoft، ما يسهّل نقل أحمال العمل من البنية التحتية المحلية إلى السحابة.

ما Azure Machine Learning (AzureML)؟#

Azure Machine Learning (AzureML) خدمة سحابية متخصصة مصممة لتطوير نماذج تعلّم الآلة وتدريبها ونشرها. وتوفر بيئة تعاونية تضم أدوات ملائمة لعلماء البيانات والمطورين من جميع مستويات الخبرة. وتشمل ميزاتها الرئيسية تعلّم الآلة المؤتمت (AutoML)، وواجهة لإنشاء النماذج بالسحب والإفلات، ومجموعة أدوات تطوير برمجيات Python قوية تتيح تحكمًا أدق في دورة حياة تعلّم الآلة. وتبسّط AzureML عملية دمج النمذجة التنبؤية في التطبيقات.

المتطلبات الأساسية#

لمتابعة هذا الدليل، ستحتاج إلى اشتراك Azure نشط وإمكانية الوصول إلى مساحة عمل AzureML. إذا لم تكن قد أعددت مساحة عمل، فيُرجى الرجوع إلى وثائق Azure الرسمية لإنشائها.

إنشاء مثيل حوسبة#

يوفر مثيل الحوسبة في AzureML محطة عمل مُدارة على السحابة لعلماء البيانات.

  1. انتقل إلى مساحة عمل AzureML.
  2. حدّد Compute في اللوحة الجانبية اليسرى.
  3. انتقل إلى علامة التبويب Compute instances وانقر على New.
  4. هيّئ المثيل باختيار موارد CPU أو GPU المناسبة لاحتياجاتك من التدريب أو الاستدلال.
Azure ML create compute instance interface

فتح طرفية#

بعد تشغيل مثيل الحوسبة، يمكنك الوصول إلى طرفيته مباشرةً من استوديو AzureML.

  1. انتقل إلى قسم Notebooks في اللوحة الجانبية اليسرى.
  2. اعثر على مثيل الحوسبة في قائمة الاختيار المنسدلة أعلى الصفحة.
  3. انقر على خيار Terminal أسفل مستعرض الملفات لفتح واجهة سطر أوامر للمثيل.

موضع زر فتح الطرفية في Azure ML

إعداد YOLOv5 وتشغيله#

لنُعِدّ البيئة الآن ونشغّل Ultralytics YOLOv5.

1. إنشاء بيئة افتراضية#

من أفضل الممارسات استخدام بيئة افتراضية لإدارة التبعيات. سنستخدم Conda، المثبّت مسبقًا على مثيلات حوسبة AzureML. للاطلاع على دليل تفصيلي لإعداد Conda، راجع دليل البدء السريع لـ Conda من Ultralytics.

أنشئ بيئة Conda (مثلًا yolov5env) بإصدار محدد من Python، ثم فعّلها:

conda create --name yolov5env -y python=3.10 # Create a new Conda environment
conda activate yolov5env                     # Activate the environment
conda install pip -y                         # Ensure pip is installed

2. استنساخ مستودع YOLOv5#

استنسخ مستودع Ultralytics YOLOv5 الرسمي من GitHub باستخدام Git:

git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5                                       # Navigate into the directory

3. تثبيت التبعيات#

ثبّت حزم Python اللازمة المدرجة في ملف requirements.txt. كما نثبّت ONNX لإتاحة تصدير النماذج.

pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0"      # Install ONNX for exporting

4. تنفيذ مهام YOLOv5#

بعد اكتمال الإعداد، يمكنك الآن تدريب نموذج YOLOv5 والتحقق من صحته وإجراء الاستدلال به وتصديره.

  • درّب النموذج على مجموعة بيانات مثل COCO128. لمزيد من التفاصيل، راجع البرنامج التعليمي تدريب بيانات مخصصة.

    # Start training using yolov5s pretrained weights on the COCO128 dataset
    python train.py --data coco128.yaml --weights yolov5s.pt --img 640 --epochs 10 --batch 16
  • تحقّق من صحة أداء النموذج المدرّب باستخدام مقاييس مثل Precision وRecall وmAP. شغّل python val.py --help للاطلاع على جميع الخيارات.

    # Validate the yolov5s model on the COCO128 validation set
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640
  • أجرِ الاستدلال على صور أو مقاطع فيديو جديدة. راجع دليل البدء السريع لـ YOLOv5 لمعرفة مصادر الاستدلال المدعومة.

    # Run inference with yolov5s on sample images
    python detect.py --weights yolov5s.pt --source data/images --img 640
  • صدّر النموذج إلى تنسيقات مختلفة مثل ONNX وTensorRT أو CoreML لنشره. راجع البرنامج التعليمي تصدير النماذج وصفحة تكامل ONNX.

    # Export yolov5s to ONNX format
    python export.py --weights yolov5s.pt --include onnx --img 640

استخدام دفتر ملاحظات#

إذا كنت تفضّل تجربة تفاعلية، يمكنك تشغيل هذه الأوامر ضمن دفتر ملاحظات AzureML. ستحتاج إلى إنشاء نواة IPython مخصصة مرتبطة ببيئة Conda لديك.

إنشاء نواة IPython جديدة#

شغّل الأوامر التالية في طرفية مثيل الحوسبة:

# Ensure your Conda environment is active
# conda activate yolov5env

# Install ipykernel if not already present
conda install ipykernel -y

# Create a new kernel linked to your environment
python -m ipykernel install --user --name yolov5env --display-name "Python (yolov5env)"

بعد إنشاء النواة، حدّث المتصفح. عند فتح ملف دفتر ملاحظات .ipynb أو إنشائه، اختر النواة الجديدة ("Python (yolov5env)") من قائمة النوى المنسدلة أعلى اليسار.

تشغيل الأوامر في خلايا دفتر الملاحظات#

  • خلايا Python: يُنفّذ الرمز البرمجي في خلايا Python تلقائيًا باستخدام نواة yolov5env المحددة.

  • خلايا Bash: لتشغيل أوامر الصدفة، استخدم الأمر السحري %%bash في بداية الخلية. تذكّر تفعيل بيئة Conda في كل خلية Bash، إذ لا ترث هذه الخلايا تلقائيًا سياق بيئة نواة دفتر الملاحظات.

    %%bash
    source activate yolov5env # Activate environment within the cell
    
    # Example: Run validation using the activated environment
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640

تهانينا! لقد أعددت Ultralytics YOLOv5 وشغّلته بنجاح على AzureML. لمزيد من الاستكشاف، يمكنك الاطلاع على تكاملات Ultralytics الأخرى أو وثائق YOLOv5 التفصيلية. وقد تجد أيضًا وثائق AzureML مفيدة في حالات الاستخدام المتقدمة، مثل التدريب الموزع أو نشر نموذج كنقطة نهاية.

الأسئلة الشائعة#

  • يكفي مثيل CPU للاستدلال والتشغيلات الاختبارية القصيرة على COCO128، لكن التدريب الفعلي يتطلب حجمًا مزودًا بوحدة GPU. اختر آلة افتراضية مزودة بوحدة GPU عند إنشاء مثيل الحوسبة، وتأكد من أن PyTorch يتعرف عليها باستخدام python -c "import torch; print(torch.cuda.is_available())".

  • لا ترث خلايا Bash بيئة نواة دفتر الملاحظات. ابدأ كل خلية %%bash باستخدام source activate yolov5env، أو شغّل خلايا Python بنواة Python (yolov5env) التي أنشأتها.

  • تستمر الملفات الموجودة ضمن مشاركة ملفات مساحة العمل المثبّتة في ~/cloudfiles بعد الإيقاف، وتكون مرئية من مثيلات الحوسبة الأخرى. وتظل الملفات الموجودة في أي مكان آخر على قرص المثيل محفوظة ما دام المثيل قائمًا، لكنها تُفقد عند حذفه.

  • نعم. تتيح لك pip install ultralytics تدريب YOLO26 والتحقق من صحته وتصديره باستخدام CLI لـ yolo ضمن بيئة Conda نفسها. راجع دليل البدء السريع لـ AzureML للاطلاع على شرح استخدام الحزمة.

التعليقات