كيفية تثبيت Ultralytics YOLO باستخدام Conda#
يتناول هذا الدليل إعداد بيئة Conda لمشاريع Ultralytics. Conda نظام مفتوح المصدر لإدارة الحزم والبيئات، ويُعد بديلًا ممتازًا لـ pip لتثبيت الحزم والتبعيات. وتجعل بيئاته المعزولة منه خيارًا مناسبًا على نحو خاص لأعمال التعلّم الآلي وعلوم البيانات. لمزيد من التفاصيل، تفضّل بزيارة حزمة Ultralytics Conda على Anaconda، واطّلع على مستودع تغذية Ultralytics للحصول على تحديثات الحزم على GitHub.
يغطي هذا الدليل كيفية إنشاء بيئة باستخدام Ultralytics، وتشغيل الاستدلال، واستخدام صورة Docker لـ Conda، وتسريع عمليات التثبيت باستخدام libmamba.
المتطلبات الأساسية#
ينبغي تثبيت Anaconda أو Miniconda على نظامك. إن لم يكن أي منهما مثبتًا، فقم بتنزيله وتثبيته من Anaconda أو Miniconda.
تثبيت Ultralytics#
أنشئ بيئة Conda جديدة تتضمن Ultralytics من قناة conda-forge، ثم فعّلها. ثبّت Python وUltralytics وtorchvision (وهي ليست من تبعيات حزمة conda-forge) ضمن الأمر نفسه حتى يتمكن conda من حلّ الإصدارات الحالية والمتوافقة معًا:
conda create --name ultralytics-env -c conda-forge python=3.11 ultralytics torchvision -y
conda activate ultralytics-envإذا كنت تعمل في بيئة مُمكّنة لـ CUDA، فأضف الحزمة الفوقية pytorch-gpu من conda-forge إلى الأمر نفسه حتى يتمكن conda من حلّ إصدار PyTorch مُمكّن لـ CUDA:
conda create --name ultralytics-env -c conda-forge python=3.11 ultralytics torchvision pytorch-gpu -y
conda activate ultralytics-envملاحظة حول بيئة ROCm (GPU من AMD، Linux)#
لتسريع GPU من AMD على Linux باستخدام ROCm، لا تتوفر حزم PyTorch ROCm بصيغة wheels عبر Conda، ويجب تثبيتها باستخدام pip. استخدم بيئة Conda للعزل، ثم ثبّت PyTorch ROCm وUltralytics عبر pip:
conda create --name ultralytics-rocm python=3.12 -y
conda activate ultralytics-rocm
pip install "torch[device-all]" "torchvision[device-all]" --index-url https://stable.repo.amd.com/rocm/whl-next/
pip install ultralyticsراجع صفحة البدء باستخدام PyTorch لمعرفة إصدارات ROCm المدعومة، ودليل GPU من AMD لإعداد الاستدلال باستخدام MIGraphX، الذي يتطلب Python 3.11 أو أحدث على Linux x86_64.
استخدام Ultralytics#
بعد تثبيت Ultralytics، يمكنك الآن البدء باستخدام ميزاته القوية في اكتشاف الأجسام وتقسيم الكائنات وغير ذلك. على سبيل المثال، لتشغيل التنبؤ على صورة، يمكنك تنفيذ ما يلي:
from ultralytics import YOLO
model = YOLO("yolo26n.pt") # تهيئة النموذج
results = model("path/to/image.jpg") # تنفيذ الاستدلال
results[0].show() # عرض نتائج الصورة الأولىصورة Ultralytics Conda لـ Docker#
يستخدم ملف Dockerfile الخاص بـ Conda إصدارات conda-forge من PyTorch 2.13 وtorchvision 0.28 وCUDA 13.0. وقد تتأخر إصدارات conda-forge عن إصدارات PyTorch عبر pip المستخدمة في صورة GPU القياسية. تم تعطيل النشر التلقائي لـ latest-conda، لذا أنشئ الصورة الحالية محليًا:
git clone https://github.com/ultralytics/ultralytics
cd ultralytics
t=ultralytics-conda:local
sudo docker build -f docker/Dockerfile-conda -t $t .شغّل الصورة:
# Run the Ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --device nvidia.com/gpu=all $t # all GPUs
sudo docker run -it --ipc=host --device nvidia.com/gpu=2 --device nvidia.com/gpu=3 $t # specify GPUsعلى Linux، تتطلب طلبات أجهزة CDI إصدار Docker >= 28.2.0 وNVIDIA Container Toolkit >= 1.18. قد يؤدي الخيار القديم --gpus all إلى فقدان الوصول إلى GPU بعد إعادة تحميل البرنامج الخفي للمضيف، لذا حدّث مضيفات Linux الأقدم واستخدم --device بدلًا منه. راجع دليل البدء السريع لـ Docker لمزيد من التفاصيل.
تسريع التثبيت باستخدام Libmamba#
libmamba هو محلّل سريع ومتعدد المنصات ويراعي التبعيات، ويحل محل المحلّل التقليدي في Conda. تستخدم إصدارات Conda 23.10 وما بعدها libmamba بالفعل بوصفه المحلّل الافتراضي، لذا تكون معظم عمليات التثبيت أسرع مباشرةً.
إذا كنت تستخدم إصدارًا أقدم من Conda، فيمكنك تفعيل libmamba يدويًا:
-
أولًا، ثبّت الحزمة
conda-libmamba-solver:conda install conda-libmamba-solver -
بعد ذلك، هيّئ Conda لاستخدام
libmambaبوصفه المحلّل:conda config --set solver libmamba
لقد أعددت بيئة Conda بنجاح، وثبّت حزمة Ultralytics، وأصبحت الآن جاهزًا لاستكشاف ميزاتها. للاطلاع على مزيد من البرامج التعليمية والأمثلة المتقدمة، راجع وثائق Ultralytics.
الأسئلة الشائعة#
إن إعداد بيئة Conda لمشاريع Ultralytics أمر بسيط ويضمن إدارة سلسة للحزم. أنشئ البيئة باستخدام Python وUltralytics من قناة conda-forge في أمر واحد، ليتمكن conda من حلّ تبعياتهما معًا، ثم فعّلها:
conda create --name ultralytics-env -c conda-forge python=3.11 ultralytics torchvision -y conda activate ultralytics-envConda نظام متين لإدارة الحزم والبيئات، ويوفر مزايا عديدة مقارنةً بـ pip. فهو يدير التبعيات بكفاءة ويضمن توافق جميع المكتبات اللازمة. وتمنع بيئات Conda المعزولة حدوث تعارضات بين الحزم، وهو أمر بالغ الأهمية في مشاريع علوم البيانات وتعلّم الآلة. إضافةً إلى ذلك، يدعم Conda توزيع الحزم الثنائية، ما يسرّع عملية التثبيت.
نعم، يمكنك تحسين الأداء باستخدام بيئة مُمكّنة لـ CUDA. أنشئ البيئة باستخدام
ultralyticsوالحزمة الفوقيةpytorch-gpuمن conda-forge ضمن الأمر نفسه، حتى يتم حلّ إصدار PyTorch مُمكّن لـ CUDA إلى جانبها:conda create --name ultralytics-env -c conda-forge python=3.11 ultralytics torchvision pytorch-gpu -y conda activate ultralytics-envيتيح هذا الإعداد تسريع GPU، وهو أمر بالغ الأهمية للمهام المكثفة مثل تدريب نماذج التعلّم العميق والاستدلال بها. لمزيد من المعلومات، راجع دليل تثبيت Ultralytics.
يوفر ملف Dockerfile الخاص بـ Conda بيئة conda-forge معزولة تتضمن PyTorch الداعم لـ CUDA. اتبع تعليمات البناء المحلي، ثم شغّله باستخدام خيارات GPU الموضحة هناك. وترد صورة GPU القياسية المنشورة والبدائل الأخرى في دليل Docker.
تستخدم إصدارات Conda 23.10 وما بعدها المحلّل السريع
libmambaافتراضيًا. أما في إصدارات Conda الأقدم، فيمكنك تفعيله يدويًا بتثبيت الحزمةconda-libmamba-solverأولًا:conda install conda-libmamba-solverثم هيّئ Conda لاستخدام
libmambaبوصفه المحلّل:conda config --set solver libmambaيوفر هذا الإعداد إدارة أسرع وأكثر كفاءة للحزم. لمزيد من النصائح حول تحسين بيئتك، اقرأ عن تثبيت libmamba.