ابدأ العمل مع YOLOv5 🚀 في Docker
مرحبًا بك في دليل بدء التشغيل السريع ل Ultralytics YOLOv5 Docker! يوفر هذا البرنامج التعليمي إرشادات خطوة بخطوة لإعداد وتشغيل YOLOv5 داخل حاوية Docker. يُمكّنك استخدام Docker من تشغيل YOLOv5 في بيئة معزولة ومتسقة، مما يسهل عملية النشر وإدارة التبعية عبر أنظمة مختلفة. يستفيد هذا النهج من استخدام الحاويات لحزم التطبيق وتوابعه معًا.
للحصول على طرق إعداد بديلة، ضع في اعتبارك دفتر ملاحظات كولاب
, جهاز التعلم العميق الافتراضي GCPأو أمازون AWS الإرشادات. للاطلاع على نظرة عامة على استخدام Docker مع نماذج Ultralytics راجع دليل بدء التشغيل السريع ل Ultralytics Docker.
المتطلبات الأساسية
قبل أن تبدأ، تأكد من تثبيت ما يلي:
- Docker: قم بتنزيل Docker وتثبيته من موقع Docker الرسمي. Docker ضروري لإنشاء الحاويات وإدارتها.
- برامج تشغيلNVIDIA (مطلوبة ل GPU دعم): تأكد من تثبيت الإصدار 455.23 أو أعلى من برامج تشغيل NVIDIA . يمكنك تنزيل أحدث برامج التشغيل من موقعNVIDIA على الويب.
- مجموعة أدواتNVIDIA Container Toolkit (مطلوبة لدعم GPU ): تسمح مجموعة الأدوات هذه لحاويات Docker بالوصول إلى وحدات معالجة الرسومات NVIDIA في جهازك المضيف. اتبع دليل تثبيت مجموعة أدوات حاوياتNVIDIA Container Toolkit الرسمي للحصول على تعليمات مفصلة.
إعداد مجموعة أدوات حاوية NVIDIA GPU مستخدموGPU )
أولاً، تحقق أولاً من تثبيت برامج تشغيل NVIDIA بشكل صحيح عن طريق تشغيل:
nvidia-smi
يجب أن يعرض هذا الأمر معلومات حول GPU(وحدات) GPU وإصدار برنامج التشغيل المثبت.
بعد ذلك، قم بتثبيت مجموعة أدوات NVIDIA Container Toolkit. الأوامر أدناه نموذجية للأنظمة المستندة إلى دبيان مثل Ubuntu، ولكن راجع الدليل الرسمي المرتبط أعلاه للحصول على تعليمات خاصة بتوزيعك:
# Add NVIDIA package repositories (refer to official guide for latest setup)
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
# Update package list and install the toolkit
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
# Configure Docker to use the NVIDIA runtime
sudo nvidia-ctk runtime configure --runtime=docker
# Restart Docker service to apply changes
sudo systemctl restart docker
أخيرًا، تحقق من تكوين وقت تشغيل NVIDIA وإتاحته ل Docker:
docker info | grep -i runtime
يجب أن ترى nvidia
المدرجة كأحد أوقات التشغيل المتاحة.
الخطوة 1: اسحب صورة Docker YOLOv5
توفر 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.
الخطوة 2: تشغيل حاوية Docker Container
بمجرد سحب الصورة، يمكنك تشغيلها كحاوية.
استخدام CPU فقط
لتشغيل مثيل حاوية تفاعلي باستخدام CPU فقط، استخدم -it
العلم. العلم --ipc=host
تسمح العلامة بمشاركة مساحة أسماء IPC للمضيف، وهو أمر مهم للوصول إلى الذاكرة المشتركة.
# Run an interactive container instance using CPU
sudo docker run -it --ipc=host $t
استخدام GPU
لتمكين الوصول إلى GPU داخل الحاوية، استخدم الدالة --gpus
العلم. يتطلب ذلك تثبيت مجموعة أدوات حاويات NVIDIA Container Toolkit بشكل صحيح.
# Run with access to all available GPUs
sudo docker run -it --ipc=host --gpus all $t
# Run with access to specific GPUs (e.g., GPUs 2 and 3)
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t
ارجع إلى مرجع تشغيل Docker للمزيد من التفاصيل حول خيارات الأوامر.
تركيب الدلائل المحلية
للعمل مع ملفاتك المحلية (مجموعات البيانات، أوزان النماذج، إلخ) داخل الحاوية، استخدم -v
لتحميل دليل مضيف في الحاوية:
# Mount /path/on/host (your local machine) to /path/in/container (inside the container)
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t
استبدل /path/on/host
بالمسار الفعلي على جهازك و /path/in/container
بالمسار المطلوب داخل حاوية Docker (على سبيل المثال, /usr/src/datasets
).
الخطوة 3: استخدام YOLOv5 🚀 داخل حاوية Docker
أنت الآن داخل حاوية YOLOv5 Docker 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
استكشف الوثائق لمعرفة الاستخدام التفصيلي للأوضاع المختلفة:
تعرّف على المزيد حول مقاييس التقييم مثل الدقة، والاستدعاء، وخطة العمل المتوسطية. فهم تنسيقات التصدير المختلفة مثل ONNX, CoreMLوTFLite، واستكشف خيارات نشر النماذج المختلفة. تذكر إدارة أوزان نموذجك بفعالية.
تهانينا! لقد قمت بإعداد YOLOv5 وتشغيله بنجاح داخل حاوية Docker.