تخطي إلى المحتوى

دليل التشغيل السريع ل Docker Quickstart Guide for Ultralytics

Ultralytics حزمة Docker المرئية

هذا الدليل بمثابة مقدمة شاملة لإعداد بيئة Docker لمشاريعك Ultralytics . Docker هي منصة لتطوير التطبيقات وشحنها وتشغيلها في حاويات. وهي مفيدة بشكل خاص لضمان تشغيل البرنامج بنفس الطريقة دائمًا، بغض النظر عن مكان نشره. لمزيد من التفاصيل، قم بزيارة مستودع Ultralytics Docker على Docker Hub.

إصدار صورة Docker عمليات السحب من الرصيف

ما ستتعلمه

  • إعداد Docker مع دعم NVIDIA
  • تثبيت Ultralytics صور Docker
  • تشغيل Ultralytics في حاوية Docker مع دعم CPU أو GPU
  • استخدام خادم عرض مع Docker لإظهار نتائج الكشف Ultralytics
  • تركيب الدلائل المحلية في الحاوية

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

  • تأكد من تثبيت Docker على نظامك. إذا لم يكن كذلك، فيمكنك تنزيله وتثبيته من موقع Docker على الويب.
  • تأكد من أن نظامك يحتوي على NVIDIA GPU وبرامج تشغيل NVIDIA مثبتة.

إعداد Docker مع دعم NVIDIA

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

nvidia-smi

التثبيت NVIDIA وقت تشغيل Docker Runtime

والآن، لنقم بتثبيت وقت تشغيل NVIDIA Docker لتمكين دعم GPU في حاويات Docker:

# Add NVIDIA package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(lsb_release -cs)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

# Install NVIDIA Docker runtime
sudo apt-get update
sudo apt-get install -y nvidia-docker2

# Restart Docker service to apply changes
sudo systemctl restart docker

التحقق من وقت التشغيل NVIDIA مع Docker

تشغيل docker info | grep -i runtime للتأكد من أن nvidia في قائمة أوقات التشغيل:

docker info | grep -i runtime

تثبيت Ultralytics صور دوكر

Ultralytics العديد من صور Docker المحسّنة لمختلف المنصات وحالات الاستخدام:

  • Dockerfile: GPU صورة، مثالية للتدريب.
  • Dockerfile-arm64: لمعمارية ARM64، مناسبة لأجهزة مثل Raspberry Pi.
  • Dockerfile-cpu: CPU-إصدار فقط للبيئات الاستدلالية وغيرGPU .
  • Dockerfile-jetson: مُحسَّن للأجهزة NVIDIA جيتسون.
  • Dockerfile-python: الحد الأدنى من بيئة Python للتطبيقات خفيفة الوزن.
  • Dockerfile-conda: يتضمن حزمة Miniconda3 و Ultralytics المثبتة عبر Conda.

لسحب أحدث صورة:

# Set image name as a variable
t=ultralytics/ultralytics:latest

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

تشغيل Ultralytics في حاوية Docker Container

فيما يلي كيفية تنفيذ حاوية Ultralytics Docker :

باستخدام CPU

# Run with all GPUs
sudo docker run -it --ipc=host $t

استخدام وحدات معالجة الرسومات

# Run with all GPUs
sudo docker run -it --ipc=host --gpus all $t

# Run specifying which GPUs to use
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t

إن -it تعيّن علامة "tTY" زائفة وتبقي stdin مفتوحًا، مما يسمح لك بالتفاعل مع الحاوية. إن --ipc=host تتيح العلامة مشاركة مساحة أسماء IPC للمضيف، وهي ضرورية لمشاركة الذاكرة بين العمليات. إن --gpus تسمح للحاوية بالوصول إلى وحدات معالجة الرسومات الخاصة بالمضيف.

تشغيل Ultralytics في حاوية Docker Container

فيما يلي كيفية تنفيذ حاوية Ultralytics Docker :

باستخدام CPU

# Run with all GPUs
sudo docker run -it --ipc=host $t

استخدام وحدات معالجة الرسومات

# Run with all GPUs
sudo docker run -it --ipc=host --gpus all $t

# Run specifying which GPUs to use
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t

إن -it تعيّن علامة "tTY" زائفة وتبقي stdin مفتوحًا، مما يسمح لك بالتفاعل مع الحاوية. إن --ipc=host تتيح العلامة مشاركة مساحة أسماء IPC للمضيف، وهي ضرورية لمشاركة الذاكرة بين العمليات. إن --gpus تسمح للحاوية بالوصول إلى وحدات معالجة الرسومات الخاصة بالمضيف.

ملاحظة حول إمكانية الوصول إلى الملفات

للعمل مع الملفات الموجودة على جهازك المحلي داخل الحاوية، يمكنك استخدام وحدات تخزين Docker:

# Mount a local directory into 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.

قم بتشغيل تطبيقات واجهة المستخدم الرسومية (GUI) في حاوية Docker

تجريبي للغاية - المستخدم يتحمل جميع المخاطر

التعليمات التالية تجريبية. تشكل مشاركة مقبس X11 مع حاوية Docker مخاطر أمنية محتملة. لذلك، يوصى باختبار هذا الحل فقط في بيئة خاضعة للرقابة. لمزيد من المعلومات، راجع هذه المصادر حول كيفية استخدام xhost(1)(2).

يُستخدم Docker بشكل أساسي في حاويات تطبيقات الخلفية وبرامج CLI ، ولكن يمكنه أيضًا تشغيل البرامج الرسومية. في عالم لينكس، هناك خادمان رئيسيان للرسوم البيانية يتعاملان مع العرض الرسومي: X11 (المعروف أيضًا باسم نظام النوافذ X) و Wayland. قبل البدء، من الضروري تحديد خادم الرسومات الذي تستخدمه حاليًا. قم بتشغيل هذا الأمر لمعرفة ذلك:

env | grep -E -i 'x11|xorg|wayland'

إعداد وتهيئة خادم عرض X11 أو خادم عرض Wayland خارج نطاق هذا الدليل. إذا لم يُرجع الأمر أعلاه أي شيء، فستحتاج إلى البدء بإعداد أي منهما لنظامك قبل المتابعة.

تشغيل حاوية Docker باستخدام واجهة المستخدم الرسومية

مثال على ذلك

استخدام وحدات معالجة الرسومات
If you're using [GPUs](#using-gpus), you can add the `--gpus all` flag to the command.

إذا كنت تستخدم X11، يمكنك تشغيل الأمر التالي للسماح لحاوية Docker بالوصول إلى مقبس X11:

xhost +local:docker && docker run -e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v ~/.Xauthority:/root/.Xauthority \
-it --ipc=host $t

يقوم هذا الأمر بتعيين DISPLAY متغير البيئة لشاشة المضيف، ويقوم بتحميل مقبس X11، ويقوم بتعيين .Xauthority إلى الحاوية. إن xhost +local:docker يسمح لحاوية Docker بالوصول إلى خادم X11.

بالنسبة إلى Wayland، استخدم الأمر التالي:

xhost +local:docker && docker run -e DISPLAY=$DISPLAY \
-v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:/tmp/$WAYLAND_DISPLAY \
--net=host -it --ipc=host $t

يقوم هذا الأمر بتعيين DISPLAY متغير البيئة إلى شاشة عرض المضيف، ويقوم بتحميل مقبس Wayland، ويسمح لحاوية Docker بالوصول إلى خادم Wayland.

استخدام Docker مع واجهة المستخدم الرسومية

يمكنك الآن عرض تطبيقات رسومية داخل حاوية Docker الخاصة بك. على سبيل المثال، يمكنك تشغيل الأمر التالي CLI لتصور التنبؤات من نموذجYOLO11 :

yolo predict model=yolo11n.pt show=True
الاختبار

هناك طريقة بسيطة للتحقق من أن مجموعة Docker لديها حق الوصول إلى خادم X11 وهي تشغيل حاوية باستخدام برنامج واجهة المستخدم الرسومية مثل xclock أو xeyes. بدلاً من ذلك، يمكنك أيضًا تثبيت هذه البرامج في حاوية Ultralytics Docker لاختبار الوصول إلى خادم X11 لخادم العرض GNU-Linux الخاص بك. إذا واجهتك أي مشاكل، ففكر في ضبط متغير البيئة -e QT_DEBUG_PLUGINS=1. يتيح تعيين متغير البيئة هذا إخراج معلومات التصحيح، مما يساعد في عملية استكشاف الأخطاء وإصلاحها.

عند الانتهاء من واجهة Docker GUI

إبطال الوصول

في كلتا الحالتين، لا تنسَ إلغاء الوصول من مجموعة Docker عند الانتهاء.

xhost -local:docker
هل تريد عرض نتائج الصور مباشرةً في المنصة؟

ارجع إلى الدليل التالي حول عرض نتائج الصورة باستخدام محطة طرفية


تهانينا! لقد تم إعدادك الآن لاستخدام Ultralytics مع Docker وجاهز للاستفادة من إمكانياته القوية. للحصول على طرق التثبيت البديلة، لا تتردد في استكشاف وثائق البدء السريعUltralytics .

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

كيف أقوم بإعداد Ultralytics مع Docker؟

لإعداد Ultralytics مع Docker، تأكد أولاً من تثبيت Docker على نظامك. إذا كان لديك NVIDIA GPU ، فقم بتثبيت وقت تشغيل Docker NVIDIA Docker لتمكين دعم GPU . بعد ذلك، اسحب أحدث صورة Ultralytics Docker من Docker Hub باستخدام الأمر التالي:

sudo docker pull ultralytics/ultralytics:latest

للاطلاع على الخطوات التفصيلية، راجع دليل Docker Quickstart Guide الخاص بنا.

ما هي فوائد استخدام صور Ultralytics Docker لمشاريع التعلم الآلي؟

يضمن استخدام صور Ultralytics Docker بيئة متسقة عبر الأجهزة المختلفة، وتكرار نفس البرامج والتبعيات. وهذا مفيد بشكل خاص للتعاون بين الفرق، وتشغيل النماذج على أجهزة مختلفة، والحفاظ على قابلية التكرار. بالنسبة للتدريب المستند إلى GPU ، يوفر Ultralytics صور Docker المحسّنة مثل Dockerfile للاستخدام العام GPU و Dockerfile-jetson لأجهزة NVIDIA جيتسون. استكشف Ultralytics Docker Hub لمزيد من التفاصيل.

كيف يمكنني تشغيل Ultralytics YOLO في حاوية Docker مع دعم GPU ؟

أولاً، تأكد من تثبيت وقت تشغيل NVIDIA Docker وتهيئته. ثم استخدم الأمر التالي لتشغيل Ultralytics YOLO مع دعم GPU :

sudo docker run -it --ipc=host --gpus all ultralytics/ultralytics:latest

يقوم هذا الأمر بإعداد حاوية Docker مع وصول GPU . لمزيد من التفاصيل، راجع دليل Docker Quickstart Guide.

كيف يمكنني تصور نتائج التنبؤ YOLO في حاوية Docker مع خادم عرض؟

لتصور نتائج التنبؤات YOLO باستخدام واجهة المستخدم الرسومية في حاوية Docker، تحتاج إلى السماح ل Docker بالوصول إلى خادم العرض الخاص بك. بالنسبة للأنظمة التي تعمل بنظام X11، فإن الأمر هو:

xhost +local:docker && docker run -e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v ~/.Xauthority:/root/.Xauthority \
-it --ipc=host ultralytics/ultralytics:latest

بالنسبة للأنظمة التي تعمل بنظام Wayland، استخدم:

xhost +local:docker && docker run -e DISPLAY=$DISPLAY \
-v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:/tmp/$WAYLAND_DISPLAY \
--net=host -it --ipc=host ultralytics/ultralytics:latest

يمكن العثور على مزيد من المعلومات في قسم تشغيل تطبيقات واجهة المستخدم الرسومية (GUI) في قسم حاوية Docker.

هل يمكنني تحميل الدلائل المحلية في حاوية Ultralytics Docker؟

نعم، يمكنك تحميل الدلائل المحلية في حاوية Ultralytics Docker باستخدام -v العلم:

sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container ultralytics/ultralytics:latest

استبدل /path/on/host مع الدليل الموجود على جهازك المحلي و /path/in/container بالمسار المطلوب داخل الحاوية. يتيح لك هذا الإعداد العمل مع ملفاتك المحلية داخل الحاوية. للمزيد من المعلومات، ارجع إلى القسم ذي الصلة في تركيب الدلائل المحلية.

📅 تم إنشاؤها منذ 1 سنة مضت ✏️ تم التحديث منذ 2 شهر

التعليقات