البدء السريع
تثبيت Ultralytics
يوفر Ultralytics طرق تثبيت مختلفة بما في ذلك pip و conda و Docker. يمكنك تثبيت YOLOv8 عن طريق حزمة ultralytics
من خلال pip للإصدار الأحدث والمستقر أو من خلال استنساخ مستودع Ultralytics على GitHub للحصول على الإصدار الأحدث. يمكن استخدام Docker لتنفيذ الحزمة في حاوية معزولة، وتجنب التثبيت المحلي.
ملاحظة
🚧 تم بناء وثائقنا متعددة اللغات حاليًا، ونعمل بجد لتحسينها. شكرًا لك على صبرك! 🙏
تثبيت
قم بتثبيت حزمة ultralytics
باستخدام pip، أو قم بتحديث التثبيت الحالي عن طريق تشغيل pip install -U ultralytics
. قم بزيارة مؤشر Python Package Index (PyPI) للحصول على مزيد من التفاصيل حول حزمة ultralytics
: https://pypi.org/project/ultralytics/.
يمكنك أيضًا تثبيت حزمة ultralytics
مباشرة من مستودع GitHub repository. قد يكون ذلك مفيدًا إذا كنت ترغب في الحصول على الإصدار التجريبي الأحدث. تأكد من تثبيت أداة الأوامر Git على نظامك. يُثبّت الأمر @main
الفرع main
ويمكن تعديله إلى فرع آخر، على سبيل المثال @my-branch
، أو يمكن إزالته تمامًا للانتقال إلى الفرع الرئيسي main
.
Conda هو مدير حزم بديل لـ pip ويمكن استخدامه أيضًا للتثبيت. قم بزيارة Anaconda للحصول على مزيد من التفاصيل على https://anaconda.org/conda-forge/ultralytics. يمكن العثور على مستودع Ultralytics feedstock لتحديث حزمة conda على https://github.com/conda-forge/ultralytics-feedstock/.
ملاحظة
إذا كنت تقوم بالتثبيت في بيئة CUDA، فإن الممارسة الجيدة هي تثبيت ultralytics
, pytorch
و pytorch-cuda
في نفس الأمر للسماح لمدير حزم conda بحل أي تعارضات، أو وإلا فقوم بتثبيت pytorch-cuda
في نهاية الأمر للسماح له بتجاوز حزمة pytorch
المحددة لوحدة المعالجة المركزية إذا لزم الأمر.
صورة Docker في Conda
تتوفر أيضًا صور Docker لـ Conda لـ Ultralytics من DockerHub. تستند هذه الصور إلى Miniconda3 وهي وسيلة بسيطة لبدء استخدام ultralytics
في بيئة Conda.
# قم بتعيين اسم الصورة بوصفه متغير
t=ultralytics/ultralytics:latest-conda
# اسحب أحدث صورة ultralytics من Docker Hub
sudo docker pull $t
# قم بتشغيل صورة ultralytics في حاوية مع دعم GPU
sudo docker run -it --ipc=host --gpus all $t # all GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t # قد يتم تحديد GPUs
قم بنسخ مستودع ultralytics
إذا كنت مهتمًا بالمساهمة في التطوير أو ترغب في تجربة الشفرة المصدرية الأحدث. بعد الاستنساخ، انتقل إلى الدليل وقم بتثبيت الحزمة في وضع التحرير -e
باستخدام pip.
تمكنك من استخدام Docker بسهولة لتنفيذ حزمة ultralytics
في حاوية معزولة، مما يضمن أداءً سلسًا ومتسقًا في مختلف البيئات. عن طريق اختيار إحدى صور Docker الأصلية لـ ultralytics
من Docker Hub، لن تتجنب فقط تعقيد التثبيت المحلي ولكنك ستستفيد أيضًا من وصول إلى بيئة عمل متحققة وفعالة. يقدم Ultralytics 5 صور Docker مدعومة رئيسية، يتم تصميم كل منها لتوفير توافق عالي وكفاءة لمنصات وحالات استخدام مختلفة:
- Dockerfile: صورة GPU الموصى بها للتدريب.
- Dockerfile-arm64: محسّن لبنية ARM64، مما يتيح النشر على أجهزة مثل Raspberry Pi ومنصات أخرى تعتمد على ARM64.
- Dockerfile-cpu: إصدار مناسب للتحكم بوحدة المعالجة المركزية فقط بدون دعم لل GPU.
- Dockerfile-jetson: مصمم خصيصًا لأجهزة NVIDIA Jetson، ويدمج دعمًا لل GPU المحسن لهذه المنصات.
- Dockerfile-python: صورة صغيرة بها فقط Python والتبعيات الضرورية، مثالية للتطبيقات والتطوير الخفيف.
- Dockerfile-conda: قائمة على Miniconda3 مع تثبيت conda لحزمة ultralytics.
فيما يلي الأوامر للحصول على أحدث صورة وتشغيلها:
# قم بتعيين اسم الصورة بوصفه متغير
t=ultralytics/ultralytics:latest
# اسحب أحدث صورة ultralytics من Docker Hub
sudo docker pull $t
# قم بتشغيل صورة ultralytics في حاوية مع دعم GPU
sudo docker run -it --ipc=host --gpus all $t # all GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t # قد يتم تحديد GPUs
يقوم الأمر أعلاه بتهيئة حاوية Docker بأحدث صورة ultralytics
. يُسند العلامة -it
جهازًا افتراضيًا TTY ويحافظ على فتح stdin لتمكينك من التفاعل مع الحاوية. تعيين العلامة --ipc=host
مساحة اسم IPC (Inter-Process Communication) إلى المضيف، وهو أمر ضروري لمشاركة الذاكرة بين العمليات. تُمكّن العلامة --gpus all
الوصول إلى كل وحدات المعالجة المركزية الرسومية المتاحة داخل الحاوية، مما هو أمر حاسم للمهام التي تتطلب حسابات GPU.
ملاحظة: للعمل مع الملفات على جهازك المحلي داخل الحاوية، استخدم مجلدات Docker لتوصيل دليل محلي بالحاوية:
# مجلد الدليل المحلي بالحاوية
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t
قم بتغيير /path/on/host
بمسار الدليل على جهازك المحلي، و /path/in/container
باالمسار المطلوب داخل حاوية Docker للوصول إليه.
للاستفادة القصوى من استخدام Docker المتقدم، لا تتردد في استكشاف دليل Ultralytics Docker.
راجع ملف requirements.txt
الخاص بـ ultralytics
هنا للحصول على قائمة المتطلبات. يُرجى ملاحظة أن جميع الأمثلة أعلاه يتم تثبيت جميع المتطلبات المطلوبة.
شاهد: دليل فتع Ultralytics YOLO السريع
نصيحة
يختلف متطلبات PyTorch حسب نظام التشغيل ومتطلبات CUDA، لذا يُوصَى بتثبيت PyTorch أولاً باستخدام التعليمات الموجودة في https://pytorch.org/get-started/locally.
استخدم Ultralytics مع واجهة سطر الأوامر (CLI)
تتيح واجهة سطر الأوامر (CLI) في Ultralytics تشغيل أوامر بسيطة بدون الحاجة إلى بيئة Python. لا تحتاج CLI إلى أي تخصيص أو كود Python. يمكنك ببساطة تشغيل جميع المهام من الطرفية باستخدام الأمر yolo
. تحقق من دليل CLI لمعرفة المزيد حول استخدام YOLOv8 من سطر الأوامر.
مثال
تستخدم أوامر Ultralytics yolo
الصيغة التالية:
TASK
(اختياري) أحد التالي (detect, segment, classify, pose)MODE
(مطلوب) واحد من (train, val, predict, export, track)ARGS
(اختياري) أزواج "arg=value" مثلimgsz=640
التي تستبدل القيم الافتراضية.
راجع جميع ARGS
هنا أو باستخدام الأمر yolo cfg
في سطر الأوامر.
قم بتدريب نموذج اكتشاف لمدة 10 حلقات مع سعر تعلم بدءي 0.01
تنبؤ بفيديو YouTube باستخدام نموذج تجزئة معتمد مسبقًا عند حجم الصورة 320:
التحقق من نموذج اكتشاف معتمد مسبقًا على دُفعَة واحدة وحجم صورة قدره 640:
قم بتصدير نموذج فئة YOLOv8n إلى تنسيق ONNX على حجم صورة 224 بواسطة 128 (لا يلزم TASK)
تحذير
يجب تمرير الوسوم كأزواج "arg=val"، وأن تُفصل بعلامة تساوي =
وأن تُفصل بمسافات بين الأزواج. لا تستخدم بادئات الوسوم --
أو فواصل ,
بين الوسوم.
- `yolo predict model=yolov8n.pt imgsz=640 conf=0.25` ✅
- `yolo predict model yolov8n.pt imgsz 640 conf 0.25` ❌ (مفقود العلامة المساواة)
- `yolo predict model=yolov8n.pt, imgsz=640, conf=0.25` ❌ (لا تستخدم `,`)
- `yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25` ❌ (لا تستخدم `--`)
استخدم Ultralytics مع Python
تسمح واجهة Python في YOLOv8 بالتكامل السلس في مشاريع Python الخاصة بك، مما يجعل من السهل تحميل النموذج وتشغيله ومعالجة نتائجه. المصممة ببساطة وسهولة الاستخدام في الاعتبار، تمكن واجهة Python المستخدمين من تنفيذ الكشف على الكائنات والتجزئة والتصنيف في مشاريعهم. يجعل هذا واجهة YOLOv8 Python أداة قيمة لأي شخص يرغب في دمج هذه الوظائف في مشاريعهم باسياتو.
على سبيل المثال، يمكن للمستخدمين تحميل نموذج، تدريبه، تقييم أدائه على مجموعة التحقق، وحتى تصديره إلى تنسيق ONNX ببضعة أسطر فقط من الشفرة. تحقق من دليل Python لمعرفة المزيد حول استخدام YOLOv8 داخل مشاريعك الخاصة.
مثال
from ultralytics import YOLO
# أنشئ نموذج YOLO جديد من البداية
model = YOLO('yolov8n.yaml')
# قم بتحميل نموذج YOLO معتمد مسبقًا (موصَى به للتدريب)
model = YOLO('yolov8n.pt')
# قم بتدريب النموذج باستخدام مجموعة البيانات 'coco128.yaml' لمدة 3 حلقات
results = model.train(data='coco128.yaml', epochs=3)
# قم بتقييم أداء النموذج على مجموعة التحقق
results = model.val()
# قم بإجراء الكشف على صورة باستخدام النموذج
results = model('https://ultralytics.com/images/bus.jpg')
# قم بتصدير النموذج إلى تنسيق ONNX
success = model.export(format='onnx')
إعدادات Ultralytics
يوفر مكتبة Ultralytics نظامًا قويًا لإدارة الإعدادات لتمكين التحكم بمحاكاة تفصيلية لتجاربك. من خلال استخدام SettingsManager
في الوحدة ultralytics.utils
، يمكن للمستخدمين الوصول بسهولة إلى إعداداتهم وتعديلها. يتم تخزينها في ملف YAML ويمكن عرضها أو تعديلها إما مباشرة في بيئة Python أو من خلال واجهة سطر الأوامر (CLI).
فحص الإعدادات
للحصول على فهم للتكوين الحالي لإعداداتك، يمكنك عرضها مباشرةً:
عرض الإعدادات
يُمكنك استخدام Python لعرض الإعدادات الخاصة بك. ابدأ بـاستيراد الكائن settings
من وحدة ultralytics
. استخدم الأوامر التالية لطباعة الإعدادات والعودة منها:
تعديل الإعدادات
يسمح لك Ultralytics بتعديل الإعدادات بسهولة. يمكن تنفيذ التغييرات بالطرق التالية:
تحديث الإعدادات
داخل بيئة Python، اطلب الطريقة update
على الكائن settings
لتغيير إعداداتك:
فهم الإعدادات
يوفر الجدول أدناه نظرة عامة على الإعدادات المتاحة للضبط في Ultralytics. يتم توضيح كل إعداد بالإضافة إلى قيمة مثالية ونوع البيانات ووصف موجز.
الاسم | القيمة المثالية | نوع البيانات | الوصف |
---|---|---|---|
settings_version |
'0.0.4' |
str |
إصدار إعدادات Ultralytics (مختلف عن إصدار Ultralytics pip) |
datasets_dir |
'/path/to/datasets' |
str |
المسار الذي يتم تخزينه فيه مجموعات البيانات |
weights_dir |
'/path/to/weights' |
str |
المسار الذي يتم تخزينه فيه أوزان النموذج |
runs_dir |
'/path/to/runs' |
str |
المسار الذي يتم تخزينه فيه تشغيل التجارب |
uuid |
'a1b2c3d4' |
str |
مُعرِّف فريد لإعدادات الحالية |
sync |
True |
bool |
ما إذا كان يتم مزامنة التحليلات وحوادث الأعطال إلى HUB |
api_key |
'' |
str |
HUB الخاص بـ Ultralytics API Key |
clearml |
True |
bool |
ما إذا كان يتم استخدام ClearML لتسجيل التجارب |
comet |
True |
bool |
ما إذا كان يتم استخدام Comet ML لتتبع وتصور التجارب |
dvc |
True |
bool |
ما إذا كان يتم استخدام DVC لتتبع التجارب والتحكم في النسخ |
hub |
True |
bool |
ما إذا كان يتم استخدام Ultralytics HUB للتكامل |
mlflow |
True |
bool |
ما إذا كان يتم استخدام MLFlow لتتبع التجارب |
neptune |
True |
bool |
ما إذا كان يتم استخدام Neptune لتتبع التجارب |
raytune |
True |
bool |
ما إذا كان يتم استخدام Ray Tune لضبط الحساسية |
tensorboard |
True |
bool |
ما إذا كان يتم استخدام TensorBoard للتصور |
wandb |
True |
bool |
ما إذا كان يتم استخدام Weights & Biases لتسجيل البيانات |
أثناء تنقلك في مشاريعك أو تجاربك، تأكد من مراجعة هذه الإعدادات لضمان تكوينها بشكل مثالي وفقًا لاحتياجاتك.