أمن جاهز للمؤسسات: متوافقة مع ISO 27001 و SOC 2 Type I.

Link to this sectionابدأ مع YOLOv5 🚀 في Docker#

مرحبًا بك في دليل البدء السريع لـ Ultralytics YOLOv5 Docker! يوفر هذا البرنامج التعليمي تعليمات خطوة بخطوة لإعداد وتشغيل YOLOv5 داخل حاوية Docker. يتيح لك استخدام Docker تشغيل YOLOv5 في بيئة معزولة ومتسقة، مما يبسط النشر وإدارة التبعيات عبر الأنظمة المختلفة. يستفيد هذا النهج من الحاويات لتجميع التطبيق وتبعيته معًا.

لطرق الإعداد البديلة، يمكنك الاطلاع على Colab Notebook Open In Colab Open In Kaggle، أو أدلة GCP Deep Learning VM، أو Amazon AWS. للحصول على نظرة عامة حول استخدام Docker مع نماذج Ultralytics، راجع Ultralytics Docker Quickstart Guide.

Link to this sectionالمتطلبات الأساسية#

قبل البدء، تأكد من تثبيت ما يلي:

  1. Docker: قم بتنزيل وتثبيت Docker من موقع Docker الرسمي. يُعد Docker ضروريًا لإنشاء الحاويات وإدارتها.
  2. تعريفات NVIDIA (مطلوبة لدعم GPU): تأكد من تثبيت تعريفات NVIDIA الإصدار 455.23 أو أحدث. يمكنك تنزيل أحدث التعريفات من موقع NVIDIA.
  3. NVIDIA Container Toolkit (مطلوب لدعم GPU): تسمح هذه المجموعة لحاويات Docker بالوصول إلى وحدات معالجة الرسومات NVIDIA الخاصة بجهازك المضيف. اتبع دليل تثبيت NVIDIA Container Toolkit الرسمي للحصول على تعليمات مفصلة.

Link to this sectionإعداد NVIDIA Container Toolkit (لمستخدمي GPU)#

أولاً، تحقق من تثبيت تعريفات NVIDIA بشكل صحيح عن طريق تشغيل:

nvidia-smi

يجب أن يعرض هذا الأمر معلومات حول وحدة معالجة الرسومات (GPU) الخاصة بك وإصدار التعريف المثبت.

بعد ذلك، قم بتثبيت NVIDIA Container Toolkit. الأوامر أدناه نموذجية للأنظمة المستندة إلى Debian مثل Ubuntu والأنظمة المستندة إلى RHEL مثل Fedora/CentOS، ولكن ارجع إلى الدليل الرسمي المرتبط أعلاه للحصول على تعليمات خاصة بتوزيعك:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
  | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
    | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

قم بتحديث قوائم الحزم وتثبيت NVIDIA Container Toolkit:

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

Link to this sectionتحقق من أجهزة CDI باستخدام Docker#

قم بتشغيل nvidia-ctk cdi list للتأكد من توفر أجهزة GPU CDI (تقوم خدمة nvidia-cdi-refresh الخاصة بمجموعة الأدوات بإنشاء المواصفات وصيانتها تلقائياً على إصدار مجموعة أدوات >= 1.18):

nvidia-ctk cdi list

يجب أن ترى إدخالات مثل nvidia.com/gpu=0 و nvidia.com/gpu=all. على نظام Linux، تتطلب طلبات أجهزة CDI إصدار Docker >= 28.2.0 و NVIDIA Container Toolkit >= 1.18. قد تفقد العلامة القديمة --gpus all الوصول إلى GPU بعد إعادة تحميل البرنامج الخفي (daemon) للمضيف، لذا قم بترقية مضيفي Linux الأقدم واستخدم --device بدلاً من ذلك.

Link to this sectionالخطوة 1: سحب صورة YOLOv5 Docker#

توفر Ultralytics صور YOLOv5 رسمية على Docker Hub. تتبع العلامة latest أحدث التزام في المستودع، مما يضمن حصولك دائمًا على أحدث إصدار. اسحب الصورة باستخدام الأمر التالي:

# Define the image name with tag
t=ultralytics/yolov5:latest

# Pull the latest YOLOv5 image from Docker Hub
sudo docker pull $t

يمكنك تصفح جميع الصور المتاحة في مستودع Ultralytics YOLOv5 Docker Hub.

Link to this sectionالخطوة 2: تشغيل حاوية Docker#

بمجرد سحب الصورة، يمكنك تشغيلها كحاوية.

Link to this sectionاستخدام CPU فقط#

لتشغيل مثيل حاوية تفاعلي باستخدام CPU فقط، استخدم العلم -it. يسمح العلم --ipc=host بمشاركة مساحة اسم IPC للمضيف، وهو أمر مهم للوصول إلى الذاكرة المشتركة.

# Run an interactive container instance using CPU
sudo docker run -it --ipc=host $t

Link to this sectionاستخدام GPU#

لتمكين الوصول إلى GPU داخل الحاوية، استخدم علامة --device nvidia.com/gpu=... CDI. يتطلب هذا تثبيت NVIDIA Container Toolkit بشكل صحيح.

# Run with access to all available GPUs
sudo docker run -it --ipc=host --device nvidia.com/gpu=all $t

# Run with access to specific GPUs (e.g., GPUs 2 and 3)
sudo docker run -it --ipc=host --device nvidia.com/gpu=2 --device nvidia.com/gpu=3 $t

راجع مرجع تشغيل Docker لمزيد من التفاصيل حول خيارات الأوامر.

Link to this sectionتركيب الدلائل المحلية#

للعمل مع ملفاتك المحلية (مجموعات البيانات، أوزان النماذج، وما إلى ذلك) داخل الحاوية، استخدم العلم -v لتركيب دليل مضيف داخل الحاوية:

# Mount /path/on/host (your local machine) to /path/in/container (inside the container)
sudo docker run -it --ipc=host --device nvidia.com/gpu=all -v /path/on/host:/path/in/container $t

استبدل /path/on/host بالمسار الفعلي على جهازك و /path/in/container بالمسار المطلوب داخل حاوية Docker (على سبيل المثال، /usr/src/datasets).

Link to this sectionالخطوة 3: استخدام YOLOv5 🚀 داخل حاوية Docker#

أنت الآن داخل حاوية YOLOv5 Docker قيد التشغيل! من هنا، يمكنك تنفيذ أوامر YOLOv5 القياسية لمهام مختلفة مثل تعلم الآلة و التعلم العميق مثل اكتشاف الكائنات.

# Train a YOLOv5 model on your custom dataset (ensure data is mounted or downloaded)
python train.py --data your_dataset.yaml --weights yolov5s.pt --img 640 # Start training

# Validate the trained model's performance (Precision, Recall, mAP)
python val.py --weights path/to/your/best.pt --data your_dataset.yaml # Validate accuracy

# Run inference on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos # Perform detection

# Export the trained model to various formats like ONNX, CoreML, or TFLite for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite # Export model

استكشف التوثيق لمعرفة الاستخدام التفصيلي للأوضاع المختلفة:

تعرف على المزيد حول مقاييس التقييم مثل Precision و Recall و mAP. افهم تنسيقات التصدير المختلفة مثل ONNX و CoreML و TFLite، واستكشف خيارات نشر النموذج المتنوعة. تذكر إدارة أوزان النموذج الخاصة بك بفعالية.

Running YOLOv5 inside a Docker container on GCP

لقد نجحت في إعداد وتشغيل YOLOv5 داخل حاوية Docker.

التعليقات