Add Hindi हिन्दी and Arabic العربية Docs translations (#6428)

Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
pull/6431/head
Glenn Jocher 1 year ago committed by GitHub
parent b6baae584c
commit 02bf8003a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      README.md
  2. 2
      README.zh-CN.md
  3. 127
      docs/ar/datasets/index.md
  4. 82
      docs/ar/index.md
  5. 93
      docs/ar/models/index.md
  6. 94
      docs/ar/modes/benchmark.md
  7. 108
      docs/ar/modes/export.md
  8. 77
      docs/ar/modes/index.md
  9. 217
      docs/ar/modes/predict.md
  10. 360
      docs/ar/modes/track.md
  11. 286
      docs/ar/modes/train.md
  12. 86
      docs/ar/modes/val.md
  13. 326
      docs/ar/quickstart.md
  14. 172
      docs/ar/tasks/classify.md
  15. 185
      docs/ar/tasks/detect.md
  16. 55
      docs/ar/tasks/index.md
  17. 186
      docs/ar/tasks/pose.md
  18. 189
      docs/ar/tasks/segment.md
  19. 2
      docs/build_reference.py
  20. 4
      docs/de/datasets/index.md
  21. 2
      docs/de/index.md
  22. 4
      docs/de/models/index.md
  23. 4
      docs/de/modes/benchmark.md
  24. 4
      docs/de/modes/export.md
  25. 6
      docs/de/modes/predict.md
  26. 8
      docs/de/modes/track.md
  27. 16
      docs/de/modes/train.md
  28. 4
      docs/de/modes/val.md
  29. 12
      docs/de/quickstart.md
  30. 10
      docs/de/tasks/classify.md
  31. 10
      docs/de/tasks/detect.md
  32. 2
      docs/de/tasks/index.md
  33. 10
      docs/de/tasks/pose.md
  34. 10
      docs/de/tasks/segment.md
  35. 4
      docs/en/datasets/classify/caltech101.md
  36. 4
      docs/en/datasets/classify/caltech256.md
  37. 4
      docs/en/datasets/classify/cifar10.md
  38. 4
      docs/en/datasets/classify/cifar100.md
  39. 2
      docs/en/datasets/classify/fashion-mnist.md
  40. 4
      docs/en/datasets/classify/imagenet.md
  41. 4
      docs/en/datasets/classify/imagenet10.md
  42. 6
      docs/en/datasets/classify/imagenette.md
  43. 2
      docs/en/datasets/classify/imagewoof.md
  44. 2
      docs/en/datasets/classify/index.md
  45. 4
      docs/en/datasets/classify/mnist.md
  46. 8
      docs/en/datasets/detect/argoverse.md
  47. 6
      docs/en/datasets/detect/coco.md
  48. 6
      docs/en/datasets/detect/coco8.md
  49. 6
      docs/en/datasets/detect/globalwheat2020.md
  50. 4
      docs/en/datasets/detect/index.md
  51. 6
      docs/en/datasets/detect/objects365.md
  52. 8
      docs/en/datasets/detect/open-images-v7.md
  53. 6
      docs/en/datasets/detect/sku-110k.md
  54. 6
      docs/en/datasets/detect/visdrone.md
  55. 6
      docs/en/datasets/detect/voc.md
  56. 6
      docs/en/datasets/detect/xview.md
  57. 4
      docs/en/datasets/index.md
  58. 8
      docs/en/datasets/obb/dota-v2.md
  59. 4
      docs/en/datasets/obb/index.md
  60. 6
      docs/en/datasets/pose/coco.md
  61. 6
      docs/en/datasets/pose/coco8-pose.md
  62. 4
      docs/en/datasets/pose/index.md
  63. 6
      docs/en/datasets/pose/tiger-pose.md
  64. 6
      docs/en/datasets/segment/coco.md
  65. 6
      docs/en/datasets/segment/coco8-seg.md
  66. 8
      docs/en/datasets/segment/index.md
  67. 2
      docs/en/datasets/track/index.md
  68. 2
      docs/en/guides/hyperparameter-tuning.md
  69. 2
      docs/en/guides/sahi-tiled-inference.md
  70. 6
      docs/en/help/privacy.md
  71. 2
      docs/en/hub/app/android.md
  72. 4
      docs/en/hub/datasets.md
  73. 6
      docs/en/hub/inference_api.md
  74. 4
      docs/en/hub/models.md
  75. 6
      docs/en/hub/projects.md
  76. 6
      docs/en/integrations/comet.md
  77. 2
      docs/en/integrations/mlflow.md
  78. 6
      docs/en/integrations/openvino.md
  79. 6
      docs/en/integrations/ray-tune.md
  80. 2
      docs/en/integrations/roboflow.md
  81. 6
      docs/en/models/fast-sam.md
  82. 2
      docs/en/models/index.md
  83. 6
      docs/en/models/mobile-sam.md
  84. 4
      docs/en/models/rtdetr.md
  85. 12
      docs/en/models/sam.md
  86. 4
      docs/en/models/yolo-nas.md
  87. 4
      docs/en/models/yolov3.md
  88. 2
      docs/en/models/yolov4.md
  89. 4
      docs/en/models/yolov5.md
  90. 4
      docs/en/models/yolov6.md
  91. 2
      docs/en/models/yolov7.md
  92. 4
      docs/en/models/yolov8.md
  93. 4
      docs/en/modes/benchmark.md
  94. 4
      docs/en/modes/export.md
  95. 24
      docs/en/modes/predict.md
  96. 12
      docs/en/modes/track.md
  97. 18
      docs/en/modes/train.md
  98. 4
      docs/en/modes/val.md
  99. 16
      docs/en/quickstart.md
  100. 2
      docs/en/reference/cfg/__init__.md
  101. Some files were not shown because too many files have changed in this diff Show More

@ -4,7 +4,7 @@
<img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/main/im/banner-yolo-vision-2023.png"></a> <img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/main/im/banner-yolo-vision-2023.png"></a>
</p> </p>
[中文](https://docs.ultralytics.com/zh/) | [한국어](https://docs.ultralytics.com/ko/) | [日本語](https://docs.ultralytics.com/ja/) | [Русский](https://docs.ultralytics.com/ru/) | [Deutsch](https://docs.ultralytics.com/de/) | [Français](https://docs.ultralytics.com/fr/) | [Español](https://docs.ultralytics.com/es/) | [Português](https://docs.ultralytics.com/pt/) [中文](https://docs.ultralytics.com/zh/) | [한국어](https://docs.ultralytics.com/ko/) | [日本語](https://docs.ultralytics.com/ja/) | [Русский](https://docs.ultralytics.com/ru/) | [Deutsch](https://docs.ultralytics.com/de/) | [Français](https://docs.ultralytics.com/fr/) | [Español](https://docs.ultralytics.com/es/) | [Português](https://docs.ultralytics.com/pt/) | [ि](https://docs.ultralytics.com/hi/) | [العربية](https://docs.ultralytics.com/ar/)
<br> <br>
<div> <div>

@ -4,7 +4,7 @@
<img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/main/im/banner-yolo-vision-2023.png"></a> <img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/main/im/banner-yolo-vision-2023.png"></a>
</p> </p>
[中文](https://docs.ultralytics.com/zh/) | [한국어](https://docs.ultralytics.com/ko/) | [日本語](https://docs.ultralytics.com/ja/) | [Русский](https://docs.ultralytics.com/ru/) | [Deutsch](https://docs.ultralytics.com/de/) | [Français](https://docs.ultralytics.com/fr/) | [Español](https://docs.ultralytics.com/es/) | [Português](https://docs.ultralytics.com/pt/) [中文](https://docs.ultralytics.com/zh/) | [한국어](https://docs.ultralytics.com/ko/) | [日本語](https://docs.ultralytics.com/ja/) | [Русский](https://docs.ultralytics.com/ru/) | [Deutsch](https://docs.ultralytics.com/de/) | [Français](https://docs.ultralytics.com/fr/) | [Español](https://docs.ultralytics.com/es/) | [Português](https://docs.ultralytics.com/pt/) | [ि](https://docs.ultralytics.com/hi/) | [العربية](https://docs.ultralytics.com/ar/)
<br> <br>
<div> <div>

@ -0,0 +1,127 @@
---
comments: true
description: استكشف مجموعات بيانات الرؤية الحاسوبية المدعومة بواسطة Ultralytics لكشف الكائنات وتجزئة الصور وتقدير الركض وتصنيف الصور وتعقب الأجسام المتعددة.
keywords: الرؤية الحاسوبية ، مجموعات البيانات ، Ultralytics ، يوه ، كشف الكائنات ، تجزئة النموذج ، تقدير الركض ، تصنيف الصور ، تعقب الأجسام المتعددة
---
# نظرة عامة على مجموعات البيانات
توفر Ultralytics الدعم لمجموعة متنوعة من مجموعات البيانات لتسهيل المهام الخاصة بالرؤية الحاسوبية مثل الكشف وتجزئة الكائنات وتقدير الركض وتصنيف الصور وتعقب الأجسام المتعددة. فيما يلي قائمة بالمجموعات الرئيسية التي يدعمها Ultralytics ، تليها ملخص لكل مهمة في الرؤية الحاسوبية ومجموعات البيانات المتعلقة بها.
!!! Note
🚧 قسم الوثائق ذو اللغات المتعددة قيد الإنشاء حاليًا ، ونعمل بجد لتحسينه. نشكرك على صبرك! 🙏
## [مجموعات بيانات الكشف](../../datasets/detect/index.md)
يعد كشف الكائنات بواسطة صندوق محيط هو تقنية في الرؤية الحاسوبية تتضمن كشف الكائنات وتمييزها في الصورة عن طريق رسم صندوق محيط حول كل كائن.
- [Argoverse](../../datasets/detect/argoverse.md): مجموعة بيانات تحتوي على بيانات تتبع ثلاثية الأبعاد وتنبؤ الحركة من البيئات الحضرية مع توجيه البيانات بشكل جيد.
- [COCO](../../datasets/detect/coco.md): مجموعة بيانات كبيرة مصممة للكشف والتجزئة والتسمية تحتوي على أكثر من 200 ألف صورة معتمدة.
- [COCO8](../../datasets/detect/coco8.md): يحتوي على أول 4 صور من COCO التدريب و COCO val ، مناسب للاختبار السريع.
- [Global Wheat 2020](../../datasets/detect/globalwheat2020.md): مجموعة بيانات من صور رؤوس القمح جمعت من جميع أنحاء العالم لمهام الكشف والتحديد الموضعي.
- [Objects365](../../datasets/detect/objects365.md): مجموعة بيانات كبيرة وعالية الجودة لاكتشاف الكائنات بتصنيفات 365 وأكثر من 600 ألف صورة مرتبطة.
- [OpenImagesV7](../../datasets/detect/open-images-v7.md): مجموعة بيانات شاملة من جوجل تحتوي على 1.7 مليون صورة للتدريب و 42 ألف صورة للتحقق.
- [SKU-110K](../../datasets/detect/sku-110k.md): مجموعة بيانات تتضمن الكشف المكثف للكائنات في بيئات البيع بالتجزئة مع أكثر من 11 ألف صورة و 1.7 مليون صندوق بيانات محيط.
- [VisDrone](../../datasets/detect/visdrone.md): مجموعة بيانات تحتوي على كشف الكائنات ونماذج تعقب لأجسام متعددة من الصور الملتقطة بواسطة طائرات بدون طيار بأكثر من 10 ألف صورة وتسلسلات فيديو.
- [VOC](../../datasets/detect/voc.md): مجموعة بيانات Pascal Visual Object Classes (VOC) لكشف الكائنات والتجزئة بـ20 فئة من الكائنات وأكثر من 11 ألف صورة.
- [xView](../../datasets/detect/xview.md): مجموعة بيانات لكشف الكائنات في الصور الملتقطة من الأعلى بـ 60 فئة من الكائنات وأكثر من مليون كائن محدد ملحوظ.
## [مجموعات بيانات التجزئة النمطية](../../datasets/segment/index.md)
تعتبر التجزئة النمطية تقنية في الرؤية الحاسوبية تتطلب تحديد أجسام وتحديد مكانها في مستوى البكسل في الصورة.
- [COCO](../../datasets/segment/coco.md): مجموعة بيانات كبيرة مصممة للكشف والتجزئة والتسمية تحتوي على أكثر من 200 ألف صورة معتمدة.
- [COCO8-seg](../../datasets/segment/coco8-seg.md): مجموعة بيانات أصغر لمهام التجزئة النمطية ، تحتوي على مجموعة فرعية من 8 صور COCO مع تسميات التجزئة.
## [تقدير الركض](../../datasets/pose/index.md)
تقدير الركض هو تقنية تُستخدم لتحديد وضع الكائن مقارنةً بالكاميرا أو نظام الإحداثيات العالمية.
- [COCO](../../datasets/pose/coco.md): مجموعة بيانات كبيرة بتعليقات وضع الإنسان المصممة لمهام تقدير الركض.
- [COCO8-pose](../../datasets/pose/coco8-pose.md): مجموعة بيانات أصغر لمهام تقدير الركض ، تحتوي على مجموعة فرعية من 8 صور COCO مع تغييرات في وضع الإنسان.
- [تقدير الركض النمر](../../datasets/pose/tiger-pose.md): مجموعة بيانات مدمجة تتكون من 263 صورة مركزة على النمور ، مع 12 نقطة مرجعية لكل نمر لمهام تقدير الركض.
## [التصنيف](../../datasets/classify/index.md)
تصنيف الصورة هو مهمة في الرؤية الحاسوبية تتضمن تصنيف صورة في فئة أو أكثر محددة مسبقًا بناءً على محتواها البصري.
- [كالتك 101](../../datasets/classify/caltech101.md): مجموعة بيانات تحتوي على صور لـ 101 فئة من الكائنات لمهام تصنيف الصور.
- [كالتك 256](../../datasets/classify/caltech256.md): نسخة موسعة من Caltech 101 بـ 256 فئة من الكائنات وصور أكثر تحديًا.
- [CIFAR-10](../../datasets/classify/cifar10.md): مجموعة بيانات تحتوي على 60 ألف صورة ملونة بحجم 32x32 بكسل في 10 فئات ، مع 6 آلاف صورة لكل فئة.
- [CIFAR-100](../../datasets/classify/cifar100.md): نسخة موسعة من CIFAR-10 بـ 100 فئة من الكائنات و 600 صورة لكل فئة.
- [Fashion-MNIST](../../datasets/classify/fashion-mnist.md): مجموعة بيانات تتكون من 70,000 صورة رمادية لـ 10 فئات من الملابس لمهام تصنيف الصور.
- [ImageNet](../../datasets/classify/imagenet.md): مجموعة بيانات بمقياس كبير لكشف الكائنات وتصنيف الصور بأكثر من 14 مليون صورة و 20,000 فئة.
- [ImageNet-10](../../datasets/classify/imagenet10.md): نسخة أصغر من ImageNet مع 10 فئات للاختبار والتجربة الأسرع.
- [Imagenette](../../datasets/classify/imagenette.md): مجموعة فرعية أصغر لـ ImageNet تحتوي على 10 فئات يمكن التمييز بينها بسهولة للتدريب والاختبار الأسرع.
- [Imagewoof](../../datasets/classify/imagewoof.md): نسخة أكثر تحديًا من ImageNet تحتوي على 10 فئات من فئات كلاب العنبر لمهام تصنيف الصور.
- [MNIST](../../datasets/classify/mnist.md): مجموعة بيانات تتكون من 70,000 صورة رمادية للأرقام المكتوبة يدويًا لمهام تصنيف الصور.
## [صناديق الحدود الموجهة (OBB)](../../datasets/obb/index.md)
صناديق الحدود الموجهة (OBB) هي طريقة في الرؤية الحاسوبية لاكتشاف الكائنات ذات زوايا في الصور باستخدام صناديق حدود مدورة تمت تدويرها ، وغالبًا ما يتم تطبيقها على صور الأقمار الصناعية والطائرات بدون طيار.
- [DOTAv2](../../datasets/obb/dota-v2.md): مجموعة بيانات OBB الجوية الشهيرة بـ 1.7 مليون حالة و 11,268 صورة.
## [تتبع الكائنات المتعددة](../../datasets/track/index.md)
تعتبر تتبع الكائنات المتعددة تقنية في الرؤية الحاسوبية تتضمن كشف وتتبع عدة كائنات معًا عبر الزمن في سلسلة فيديو.
- [Argoverse](../../datasets/detect/argoverse.md): مجموعة بيانات تحتوي على بيانات تتبع ثلاثية الأبعاد وتنبؤ الحركة من البيئات الحضرية مع توجيه البيانات بشكل جيد لمهام تتبع الكائنات المتعددة.
- [VisDrone](../../datasets/detect/visdrone.md): مجموعة بيانات تحتوي على كشف الكائنات ونماذج تتبع لأجسام متعددة من الصور الملتقطة بواسطة طائرات بدون طيار بأكثر من 10 ألف صورة وتسلسلات فيديو.
## المساهمة في مجموعات بيانات جديدة
تشمل المساهمة في مجموعة بيانات جديدة عدة خطوات لضمان توافقها مع البنية القائمة. فيما يلي الخطوات اللازمة:
### الخطوات المطلوبة للمساهمة في مجموعة بيانات جديدة
1. **جمع الصور**: اجمع الصور التي تنتمي إلى مجموعة البيانات. يمكن جمع هذه الصور من مصادر مختلفة مثل قواعد البيانات العامة أو مجموعتك الخاصة.
2. **وضع تعليقات على الصور**: قم بإضافة تعليقات على هذه الصور مع صناديق الحدود أو الشرائح أو النقاط التي تعتمد على المهمة.
3. **تصدير التعليقات**: قم بتحويل هذه التعليقات إلى تنسيق الملف *.txt *.txt المدعوم من Ultralytics.
4. **تنظيم مجموعة البيانات**: قم بترتيب مجموعة البيانات الخاصة بك في البنية المجلدات الصحيحة. يجب أن تحتوي على مجلدات أعلى المستوى `train/` و `val/` ، وداخل كل منهما ، مجلدات فرعية للـ `images/` و `labels/`.
```
dataset/
├── train/
│ ├── images/
│ └── labels/
└── val/
├── images/
└── labels/
```
5. **إنشاء ملف `data.yaml`**: في المجلد الجذري لمجموعة البيانات الخاصة بك ، قم بإنشاء ملف `data.yaml` يصف المجموعة البيانات والفئات وغيرها من المعلومات الضرورية.
6. **تحسين الصور (اختياري)**: إذا كنت ترغب في تقليل حجم مجموعة البيانات لمزيد من الكفاءة في المعالجة ، فيمكنك تحسين الصور باستخدام الكود أدناه. لا يلزم ذلك ، ولكنه موصى به لأحجام مجموعات البيانات الأصغر وسرعات التنزيل الأسرعة.
7. **ضغط مجموعة البيانات**: قم بضغط مجلد مجموعة البيانات بالكامل وضعه في ملف zip.
8. **الوثائق وإرسال طلب السحب (PR)**: قم بإنشاء صفحة وثائق تصف مجموعة البيانات الخاصة بك وكيف تتوافق مع الإطار القائم. بعد ذلك ، قدم طلب سحب (PR). راجع [مبادئ المساهمة في Ultralytics](https://docs.ultralytics.com/help/contributing) لمزيد من التفاصيل حول كيفية تقديم طلب السحب (PR).
### كود مثال لتحسين وضغط مجموعة البيانات
!!! Example "تحسين وضغط مجموعة البيانات"
=== "Python"
```python
from pathlib import Path
from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory
# تعيين مسار مجلد مجموعة البيانات
path = Path('path/to/dataset')
# تحسين الصور في مجموعة البيانات (اختياري)
for f in path.rglob('*.jpg'):
compress_one_image(f)
# ضغط مجلد مجموعة البيانات في ملف زيب
zip_directory(path)
```
باتباع هذه الخطوات ، يمكنك المساهمة في مجموعة بيانات جديدة تتكامل بشكل جيد مع البنية القائمة لـ Ultralytics.

@ -0,0 +1,82 @@
---
comments: true
description: استكشف دليل كامل لـ Ultralytics YOLOv8 ، نموذج كشف الكائنات وتجزئة الصور ذو السرعة العالية والدقة العالية. تثبيت المحررة ، والتنبؤ ، والتدريب والمزيد.
keywords: Ultralytics، YOLOv8، كشف الكائنات، تجزئة الصور، التعلم الآلي، التعلم العميق، الرؤية الحاسوبية، YOLOv8 installation، YOLOv8 prediction، YOLOv8 training، تاريخ YOLO، تراخيص YOLO
---
<div align="center">
<p>
<a href="https://yolovision.ultralytics.com" target="_blank">
<img width="1024" src="https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/banner-yolov8.png" alt="Ultralytics YOLO banner"></a>
</p>
<a href="https://github.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-github.png" width="3%" alt="Ultralytics GitHub"></a>
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
<a href="https://www.linkedin.com/company/ultralytics/"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-linkedin.png" width="3%" alt="Ultralytics LinkedIn"></a>
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
<a href="https://twitter.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-twitter.png" width="3%" alt="Ultralytics Twitter"></a>
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
<a href="https://youtube.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-youtube.png" width="3%" alt="Ultralytics YouTube"></a>
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
<a href="https://www.tiktok.com/@ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-tiktok.png" width="3%" alt="Ultralytics TikTok"></a>
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
<a href="https://www.instagram.com/ultralytics/"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-instagram.png" width="3%" alt="Ultralytics Instagram"></a>
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
<a href="https://ultralytics.com/discord"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-discord.png" width="3%" alt="Ultralytics Discord"></a>
<br>
<br>
<a href="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml"><img src="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml/badge.svg" alt="Ultralytics CI"></a>
<a href="https://codecov.io/github/ultralytics/ultralytics"><img src="https://codecov.io/github/ultralytics/ultralytics/branch/main/graph/badge.svg?token=HHW7IIVFVY" alt="Ultralytics Code Coverage"></a>
<a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="YOLOv8 Citation"></a>
<a href="https://hub.docker.com/r/ultralytics/ultralytics"><img src="https://img.shields.io/docker/pulls/ultralytics/ultralytics?logo=docker" alt="Docker Pulls"></a>
<br>
<a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run on Gradient"/></a>
<a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a>
<a href="https://www.kaggle.com/ultralytics/yolov8"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open In Kaggle"></a>
</div>
يتم تقديم [Ultralytics](https://ultralytics.com) [YOLOv8](https://github.com/ultralytics/ultralytics) ، أحدث إصدار من نموذج كشف الكائنات وتجزئة الصور المشهورة للوقت الفعلي. يعتمد YOLOv8 على التطورات المتقدمة في التعلم العميق والرؤية الحاسوبية ، ويقدم أداءً فائقًا من حيث السرعة والدقة. يجعل التصميم البسيط له مناسبًا لمختلف التطبيقات وقابلًا للتكيف بسهولة مع منصات الأجهزة المختلفة ، من الأجهزة الحافة إلى واجهات برمجة التطبيقات في السحابة.
استكشف أدلة YOLOv8 ، وهي مورد شامل يهدف إلى مساعدتك في فهم واستخدام ميزاته وقدراته. سواء كنت ممارسًا في مجال التعلم الآلي من ذوي الخبرة أو جديدًا في هذا المجال ، فإن الهدف من هذا المركز هو تحقيق الحد الأقصى لإمكانات YOLOv8 في مشاريعك.
!!! Note
🚧 تم تطوير وثائقنا متعددة اللغات حاليًا ، ونعمل بجد لتحسينها. شكراً لصبرك! 🙏
## من أين أبدأ
- **تثبيت** `ultralytics` بواسطة pip والبدء في العمل في دقائق &nbsp; [:material-clock-fast: ابدأ الآن](quickstart.md){ .md-button }
- **توقع** الصور ومقاطع الفيديو الجديدة بواسطة YOLOv8 &nbsp; [:octicons-image-16: توقع على الصور](modes/predict.md){ .md-button }
- **تدريب** نموذج YOLOv8 الجديد على مجموعة البيانات المخصصة الخاصة بك &nbsp; [:fontawesome-solid-brain: قم بتدريب نموذج](modes/train.md){ .md-button }
- **استكشاف** مهام YOLOv8 مثل التجزئة والتصنيف والوضع والتتبع &nbsp; [:material-magnify-expand: استكشاف المهام](tasks/index.md){ .md-button }
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/LNwODJXcvt4?si=7n1UvGRLSd9p5wKs"
title="مشغل فيديو يوتيوب" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong> مشاهدة: </strong> كيفية تدريب نموذج YOLOv8 على مجموعة بيانات مخصصة في <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb" target="_blank">جوجل كولاب</a>.
</p>
## YOLO: نبذة تاريخية
تم تطوير [YOLO](https://arxiv.org/abs/1506.02640) (You Only Look Once) ، نموذج شهير لكشف الكائنات وتجزئة الصور ، من قبل جوزيف ريدمون وعلي فرهادي في جامعة واشنطن. في عام 2015 ، حققت YOLO شهرة سريعة بفضل سرعتها العالية ودقتها.
- [YOLOv2](https://arxiv.org/abs/1612.08242) ، الذي تم إصداره في عام 2016 ، قام بتحسين النموذج الأصلي من خلال دمج التطبيع التشغيلي ، ومربعات الربط ، ومجموعات الأبعاد.
- [YOLOv3](https://pjreddie.com/media/files/papers/YOLOv3.pdf) ، الذي تم إطلاقه في عام 2018 ، قدم تحسينات إضافية لأداء النموذج باستخدام شبكة ظهر أكثر كفاءة ومرشحات متعددة وتجميع هرم المساحة.
- تم إصدار [YOLOv4](https://arxiv.org/abs/2004.10934) في عام 2020 ، وقدم ابتكارات مثل زيادة المساعدات في البيانات ، ورأس جديد للكشف غير المرتبط بالمرابط ، ووظيفة فقدان جديدة.
- [YOLOv5](https://github.com/ultralytics/yolov5) قام بتحسين أداء النموذج وأضاف ميزات جديدة مثل تحسين ثوابت النموذج ، وتعقب التجارب المتكامل والتصدير التلقائي إلى تنسيقات التصدير الشهيرة.
- [YOLOv6](https://github.com/meituan/YOLOv6) تم تَوْزيعه على [Meituan](https://about.meituan.com/) في عام 2022 وهو قيد الاستخدام في العديد من روبوتات التسليم الذاتي للشركة.
- [YOLOv7](https://github.com/WongKinYiu/yolov7) أضاف مهمات إضافية مثل تقدير الوضع على مجموعة بيانات نقاط COCO الرئيسية.
- [YOLOv8](https://github.com/ultralytics/ultralytics) هو أحدث إصدار من YOLO بواسطة Ultralytics. باعتباره نموذجًا حديثًا وفريدًا من نوعه ، فإن YOLOv8 يبني على نجاح الإصدارات السابقة ، ويقدم ميزات وتحسينات جديدة لتحسين الأداء والمرونة والكفاءة. يدعم YOLOv8 مجموعة كاملة من مهام الذكاء الصناعي للرؤية ، بما في ذلك [الكشف](tasks/detect.md) ، [التجزئة](tasks/segment.md) ، [تقدير الوضع](tasks/pose.md) ، [التتبع](modes/track.md) ، و [التصنيف](tasks/classify.md). تتيح هذه القابلية للتكيف للمستخدمين استغلال قدرات YOLOv8 في تطبيقات ومجالات متنوعة.
## تراخيص YOLO: كيف يتم ترخيص Ultralytics YOLO؟
يوفر Ultralytics خيارين للترخيص لاستيعاب الحالات الاستخدام المتنوعة:
- **ترخيص AGPL-3.0**: هذا الترخيص مفتوح المصدر والمعتمد من [OSI](https://opensource.org/licenses/) وهو مثالي للطلاب والهواة ، ويشجع على التعاون المفتوح ومشاركة المعرفة. راجع ملف [LICENSE](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) لمزيد من التفاصيل.
- **ترخيص المؤسسة**: صمم للاستخدام التجاري ، يسمح هذا الترخيص بدمج سلس للبرمجيات ونماذج AI الخاصة بشركة Ultralytics في السلع والخدمات التجارية ، وتفادي متطلبات المصدر المفتوح لـ AGPL-3.0. إذا تشمل سيناريو الخاص بك تضمين حلولنا في عرض تجاري ، فيرجى التواصل من خلال [Ultralytics Licensing](https://ultralytics.com/license).
تم تصميم استراتيجية الترخيص الخاصة بنا لضمان أن أي تحسينات على مشاريعنا مفتوحة المصدر يتم إرجاعها إلى المجتمع. نحمل مبادئ المصدر المفتوح قريبة من قلوبنا ❤ ، ومهمتنا هي ضمان أن يمكن استخدام وتوسيع مساهماتنا بطرق تعود بالنفع على الجميع.

@ -0,0 +1,93 @@
---
comments: true
description: استكشف مجموعة متنوعة من عائلة YOLO، SAM، MobileSAM، FastSAM، YOLO-NAS ونماذج RT-DETR المدعومة بواسطة Ultralytics. ابدأ مع أمثلة للإستخدام باستخدام واجهة سطر الأوامر ولغة البايثون.
keywords: Ultralytics، مستندات، YOLO، SAM، MobileSAM، FastSAM، YOLO-NAS، RT-DETR، نماذج، هندسات، Python، CLI
---
# النماذج المدعومة بواسطة Ultralytics
مرحبًا بك في مستندات نماذج Ultralytics! نحن نقدم دعمًا لمجموعة واسعة من النماذج، وكل نموذج مصمم لمهام محددة مثل [كشف الكائنات](../tasks/detect.md)، [تجزئة الحالات](../tasks/segment.md)، [تصنيف الصور](../tasks/classify.md)، [تقدير الوضع](../tasks/pose.md)، و[تتبع العديد من الكائنات](../modes/track.md). إذا كنت مهتمًا بالمساهمة في بنية نموذجك في Ultralytics ، تحقق من [دليل المساهمة](../../help/contributing.md).
!!! Note
🚧 مستنداتنا متعددة اللغات قيد الإنشاء حاليًا ونحن نعمل بجد لتحسينها. شكرا لك على صبرك! 🙏
## النماذج المميزة
فيما يلي بعض النماذج الرئيسية المدعمة:
1. **[YOLOv3](../../models/yolov3.md)**: الإصدار الثالث من عائلة نموذج YOLO، والذي أنشأه جوزيف ريدمون، والمعروف بقدرته على الكشف في الوقت الحقيقي بكفاءة.
2. **[YOLOv4](../../models/yolov4.md)**: تحديث لنموذج YOLOv3 الأصلي من قبل اليكسي بوتشكوفسكي في عام 2020.
3. **[YOLOv5](../../models/yolov5.md)**: إصدار محسن لبنية YOLO بواسطة Ultralytics ، يقدم أداءً أفضل وتفاوتات سرعة مقارنة بالإصدارات السابقة.
4. **[YOLOv6](../../models/yolov6.md)**: تم إصداره بواسطة [ميتوان](https://about.meituan.com/) في عام 2022 ، ويستخدم في العديد من روبوتات التسليم الذاتي للشركة.
5. **[YOLOv7](../../models/yolov7.md)**: نماذج YOLO المحدثة التي تم إطلاقها في عام 2022 من قبل أصحاب YOLOv4.
6. **[YOLOv8](../../models/yolov8.md)**: أحدث إصدار من عائلة YOLO ، ويتميز بقدرات محسنة مثل تجزئة الحالات، وتقدير النقاط الرئيسة، والتصنيف.
7. **[Segment Anything Model (SAM)](../../models/sam.md)**: نموذج Segment Anything Model (SAM) من Meta.
8. **[Mobile Segment Anything Model (MobileSAM)](../../models/mobile-sam.md)**: MobileSAM لتطبيقات الهواتف المحمولة ، من جامعة Kyung Hee.
9. **[Fast Segment Anything Model (FastSAM)](../../models/fast-sam.md)**: FastSAM من مجموعة تحليل الصور والفيديو، معهد الأتمتة، الأكاديمية الصينية للعلوم.
10. **[YOLO-NAS](../../models/yolo-nas.md)**: نماذج YOLO للبحث في تصميم العمارة العصبية.
11. **[Realtime Detection Transformers (RT-DETR)](../../models/rtdetr.md)**: نماذج PaddlePaddle Realtime Detection Transformer (RT-DETR) من Baidu.
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/MWq1UxqTClU?si=nHAW-lYDzrz68jR0"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>شاهد:</strong> قم بتشغيل نماذج Ultralytics YOLO في بضعة أسطر من الكود.
</p>
## البدء: أمثلة للإستخدام
!!! Example "مثال"
=== "Python"
يمكن تمرير نماذج PyTorch مدربة سابقًا بتنسيق `*.pt` بالإضافة إلى ملفات التكوين بتنسيق `*.yaml` إلى فئات `YOLO()`، `SAM()`، `NAS()` و `RTDETR()` لإنشاء نموذج في Python:
```python
from ultralytics import YOLO
# قم بتحميل نموذج YOLOv8n المدرب بـ COCO المسبق
model = YOLO('yolov8n.pt')
# عرض معلومات النموذج (اختياري)
model.info()
# قم بتدريب النموذج على مجموعة بيانات COCO8 لمدة 100 حقبة
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
# قم بتشغيل الاستدلال مع نموذج YOLOv8n على صورة 'bus.jpg'
results = model('path/to/bus.jpg')
```
=== "CLI"
هناك أوامر CLI متاحة لتشغيل النماذج مباشرةً:
```bash
# قم بتحميل نموذج YOLOv8n المدرب بـ COCO المسبق و تدريبه على مجموعة بيانات COCO8 لمدة 100 حقبة
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
# قم بتحميل نموذج YOLOv8n المدرب بـ COCO المسبق و قم بتشغيل الاستدلال على صورة 'bus.jpg'
yolo predict model=yolov8n.pt source=path/to/bus.jpg
```
## المساهمة في نماذج جديدة
هل ترغب في المساهمة بنموذجك في Ultralytics؟ رائع! نحن مفتوحون دائمًا لتوسيع مجموعة النماذج الخاصة بنا.
1. **انسخ المستودع**: ابدأ بإنشاء فرع جديد في مستودع [Ultralytics GitHub repository ](https://github.com/ultralytics/ultralytics).
2. **نسخ Fork الخاص بك**: نسخ Fork الخاص بك إلى جهاز الكمبيوتر المحلي الخاص بك وأنشئ فرعًا جديدًا للعمل عليه.
3. **اتبع نموذجك**: قم بإضافة نموذجك وفقًا لمعايير البرمجة والتوجيهات المقدمة في [دليل المساهمة](../../help/contributing.md).
4. **اختبر بدقة**: تأكد من اختبار نموذجك بدقة ، سواء بشكل منفصل أم كجزء من السلسلة.
5. **أنشئ طلبًا للدمج**: بمجرد أن تكون راضيًا عن نموذجك، قم بإنشاء طلب للدمج إلى البرنامج الرئيسي للمراجعة.
6. **استعراض ودمج الكود**: بعد المراجعة، إذا كان نموذجك يلبي معاييرنا، فسيتم دمجه في البرنامج الرئيسي.
للخطوات المفصلة ، استشر [دليل المساهمة](../../help/contributing.md).

@ -0,0 +1,94 @@
---
comments: true
description: تعرف على كيفية قياس سرعة ودقة YOLOv8 عبر تنسيقات التصدير المختلفة. احصل على رؤى حول مقاييس mAP50-95 وaccuracy_top5 والمزيد.
keywords: Ultralytics، YOLOv8، اختبار الأداء، قياس السرعة، قياس الدقة، مقاييس mAP50-95 وaccuracy_top5، ONNX، OpenVINO، TensorRT، تنسيقات تصدير YOLO
---
# اختبار النموذج باستخدام Ultralytics YOLO
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics YOLO ecosystem and integrations">
## المقدمة
بمجرد أن يتم تدريب نموذجك وتحقق صحته ، فإن الخطوة التالية بشكل منطقي هي تقييم أدائه في سيناريوهات العالم الحقيقي المختلفة. يوفر وضع الاختبار في Ultralytics YOLOv8 هذا الهدف من خلال توفير إطار قوي لتقييم سرعة ودقة النموذج عبر مجموعة من صيغ التصدير.
## لماذا هو اختبار الأداء مهم؟
- **قرارات مستنيرة:** اكتساب رؤى حول التنازلات بين السرعة والدقة.
- **تخصيص الموارد:** فهم كيفية أداء تنسيقات التصدير المختلفة على أجهزة مختلفة.
- **تحسين:** تعلم أي تنسيق تصدير يقدم أفضل أداء لحالتك الاستخدامية المحددة.
- **كفاءة التكلفة:** استخدام الموارد الأجهزة بشكل أكثر كفاءة بناءً على نتائج الاختبار.
### المقاييس الرئيسية في وضع الاختبار
- **mAP50-95:** لكشف الكائنات وتقسيمها وتحديد الوضع.
- **accuracy_top5:** لتصنيف الصور.
- **وقت التتبع:** الوقت المستغرق لكل صورة بالميلي ثانية.
### تنسيقات التصدير المدعومة
- **ONNX:** لأفضل أداء على وحدة المعالجة المركزية.
- **TensorRT:** لأقصى استفادة من وحدة المعالجة الرسومية.
- **OpenVINO:** لتحسين الأجهزة من إنتل.
- **CoreML و TensorFlow SavedModel وما إلى ذلك:** لتلبية احتياجات النشر المتنوعة.
!!! Tip "نصيحة"
* قم بتصدير إلى نموذج ONNX أو OpenVINO لزيادة سرعة وحدة المعالجة المركزية بمقدار 3 مرات.
* قم بتصدير إلى نموذج TensorRT لزيادة سرعة وحدة المعالجة الرسومية بمقدار 5 مرات.
## أمثلة على الاستخدام
قم بتشغيل اختبارات YOLOv8n على جميع تنسيقات التصدير المدعومة بما في ذلك ONNX و TensorRT وما إلى ذلك. انظر القسم الموجود أدناه للحصول على قائمة كاملة من وسيطات التصدير.
!!! Example "مثال"
=== "Python"
```python
from ultralytics.utils.benchmarks import benchmark
# اختبار على وحدة المعالجة الرسومية
benchmark(model='yolov8n.pt', data='coco8.yaml', imgsz=640, half=False, device=0)
```
=== "CLI"
```bash
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0
```
## وسيطات
توفر الوسائط مثل `model` و `data` و `imgsz` و `half` و `device` و `verbose` مرونة للمستخدمين لضبط الاختبارات حسب احتياجاتهم المحددة ومقارنة أداء تنسيقات التصدير المختلفة بسهولة.
| المفتاح | القيمة | الوصف |
|-----------|---------|---------------------------------------------------------------------------------------------------|
| `model` | `None` | مسار إلى ملف النموذج ، على سبيل المثال yolov8n.pt ، yolov8n.yaml |
| `data` | `None` | مسار إلى YAML يشير إلى مجموعة بيانات اختبار الأداء (بتحتوى على بيانات `val`) |
| `imgsz` | `640` | حجم الصورة كرقم ، أو قائمة (h ، w) ، على سبيل المثال (640، 480) |
| `half` | `False` | تقليل دقة العدد العشرى للأبعاد (FP16 quantization) |
| `int8` | `False` | تقليل دقة العدد الصحيح 8 بت (INT8 quantization) |
| `device` | `None` | الجهاز الذى ستعمل عليه العملية ، على سبيل المثال cuda device=0 أو device=0,1,2,3 أو device=cpu |
| `verbose` | `False` | عدم المتابعة عند حدوث خطأ (مقدار منطقى)، أو مستوى الكشف عند تجاوز حد القيمة المطلوبة (قيمة عائمة) |
## صيغ التصدير
سيحاول التطبيق تشغيل الاختبارات تلقائيًا على جميع صيغ التصدير الممكنة الموجودة أدناه.
| Format | `format` Argument | Model | Metadata | Arguments |
|--------------------------------------------------------------------|-------------------|---------------------------|----------|-----------------------------------------------------|
| [PyTorch](https://pytorch.org/) | - | `yolov8n.pt` | ✅ | - |
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov8n.torchscript` | ✅ | `imgsz`, `optimize` |
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n.onnx` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `opset` |
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n_openvino_model/` | ✅ | `imgsz`, `half`, `int8` |
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n.engine` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `workspace` |
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n.mlpackage` | ✅ | `imgsz`, `half`, `int8`, `nms` |
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n_saved_model/` | ✅ | `imgsz`, `keras`, `int8` |
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n.pb` | ❌ | `imgsz` |
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n.tflite` | ✅ | `imgsz`, `half`, `int8` |
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n_edgetpu.tflite` | ✅ | `imgsz` |
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n_web_model/` | ✅ | `imgsz` |
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n_paddle_model/` | ✅ | `imgsz` |
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n_ncnn_model/` | ✅ | `imgsz`, `half` |
انظر تفاصيل التصدير الكاملة في الصفحة [Export](https://docs.ultralytics.com/modes/export/)

@ -0,0 +1,108 @@
---
comments: true
description: دليل خطوة بخطوة حول تصدير نماذج YOLOv8 الخاصة بك إلى تنسيقات مختلفة مثل ONNX و TensorRT و CoreML وغيرها للنشر. استكشف الآن!.
keywords: YOLO، YOLOv8، Ultralytics، تصدير النموذج، ONNX، TensorRT، CoreML، TensorFlow SavedModel، OpenVINO، PyTorch، تصدير النموذج
---
# تصدير النموذج باستخدام يولو من Ultralytics
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="إكوسيستم يولو من Ultralytics والتكاملات">
## مقدمة
الهدف النهائي لتدريب نموذج هو نشره لتطبيقات العالم الحقيقي. يوفر وضع التصدير في يولو من Ultralytics مجموعة متنوعة من الخيارات لتصدير النموذج المدرب إلى تنسيقات مختلفة، مما يجعله يمكن استخدامه في مختلف الأنظمة والأجهزة. يهدف هذا الدليل الشامل إلى مساعدتك في فهم تفاصيل تصدير النموذج، ويعرض كيفية تحقيق أقصى توافق وأداء.
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/WbomGeoOT_k?si=aGmuyooWftA0ue9X"
title="مشغل فيديو YouTube" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>شاهد:</strong> كيفية تصدير نموذج Ultralytics YOLOv8 التدريب المخصص وتشغيل الاستدلال المباشر على كاميرا الويب.
</p>
## لماذا اختيار وضع تصدير YOLOv8؟
- **التنوع:** تصدير إلى تنسيقات متعددة بما في ذلك ONNX و TensorRT و CoreML ، وغيرها.
- **الأداء:** الحصول على سرعة تسريع تصل إلى 5 أضعاف باستخدام TensorRT وسرعة تسريع معالج الكمبيوتر المركزي بنسبة 3 أضعاف باستخدام ONNX أو OpenVINO.
- **التوافقية:** جعل النموذج قابلاً للنشر على الأجهزة والبرامج المختلفة.
- **سهولة الاستخدام:** واجهة سطر الأوامر البسيطة وواجهة برمجة Python لتصدير النموذج بسرعة وسهولة.
### الميزات الرئيسية لوضع التصدير
إليك بعض من الميزات المميزة:
- **تصدير بنقرة واحدة:** أوامر بسيطة لتصدير إلى تنسيقات مختلفة.
- **تصدير الدُفعات:** تصدير نماذج قادرة على العمل مع الدُفعات.
- **تنفيذ محسَّن:** يتم تحسين النماذج المصدرة لتوفير وقت تنفيذ أسرع.
- **فيديوهات تعليمية:** مرشدين وفيديوهات تعليمية لتجربة تصدير سلسة.
!!! Tip "نصيحة"
* صدّر إلى ONNX أو OpenVINO للحصول على تسريع معالج الكمبيوتر المركزي بنسبة 3 أضعاف.
* صدّر إلى TensorRT للحصول على تسريع وحدة المعالجة الرسومية بنسبة 5 أضعاف.
## أمثلة للاستخدام
قم بتصدير نموذج YOLOv8n إلى تنسيق مختلف مثل ONNX أو TensorRT. انظر الجدول أدناه للحصول على قائمة كاملة من وسائط التصدير.
!!! Example "مثال"
=== "بايثون"
```python
from ultralytics import YOLO
# قم بتحميل نموذج
model = YOLO('yolov8n.pt') # تحميل نموذج رسمي
model = YOLO('path/to/best.pt') # تحميل نموذج مدرب مخصص
# قم بتصدير النموذج
model.export(format='onnx')
```
=== "واجهة سطر الأوامر"
```bash
yolo export model=yolov8n.pt format=onnx # تصدير نموذج رسمي
yolo export model=path/to/best.pt format=onnx # تصدير نموذج مدرب مخصص
```
## الوسائط
تشير إعدادات تصدير YOLO إلى التكوينات والخيارات المختلفة المستخدمة لحفظ أو تصدير النموذج للاستخدام في بيئات أو منصات أخرى. يمكن أن تؤثر هذه الإعدادات على أداء النموذج وحجمه وتوافقه مع الأنظمة المختلفة. تشمل بعض إعدادات تصدير YOLO الشائعة تنسيق ملف النموذج المصدر (مثل ONNX وتنسيق TensorFlow SavedModel) والجهاز الذي سيتم تشغيل النموذج عليه (مثل المعالج المركزي أو وحدة المعالجة الرسومية) ووجود ميزات إضافية مثل الأقنعة أو التسميات المتعددة لكل مربع. قد تؤثر عوامل أخرى قد تؤثر عملية التصدير تشمل المهمة النموذجة المحددة التي يتم استخدام النموذج لها ومتطلبات أو قيود البيئة أو المنصة المستهدفة. من المهم أن ننظر بعناية ونقوم بتكوين هذه الإعدادات لضمان أن النموذج المصدر هو محسَّن للحالة الاستخدام المقصودة ويمكن استخدامه بشكل فعال في البيئة المستهدفة.
| المفتاح | القيمة | الوصف |
|-------------|-----------------|-----------------------------------------------------------------------|
| `format` | `'torchscript'` | التنسيق المراد تصديره |
| `imgsz` | `640` | حجم الصورة كمقدار علمي أو قائمة (h ، w) ، على سبيل المثال (640 ، 480) |
| `keras` | `False` | استخدام Keras لتصدير TF SavedModel |
| `optimize` | `False` | TorchScript: الأمثل للجوال |
| `half` | `False` | تكميم FP16 |
| `int8` | `False` | تكميم INT8 |
| `dynamic` | `False` | ONNX/TensorRT: المحاور الديناميكية |
| `simplify` | `False` | ONNX/TensorRT: تبسيط النموذج |
| `opset` | `None` | ONNX: إصدار opset (اختياري ، الافتراضي هو الأحدث) |
| `workspace` | `4` | TensorRT: حجم مساحة العمل (GB) |
| `nms` | `False` | CoreML: إضافة NMS |
## تنسيقات التصدير
صيغ تصدير YOLOv8 المتاحة في الجدول أدناه. يمكنك التصدير إلى أي تنسيق باستخدام الوسيطة `format` ، مثل `format='onnx'` أو `format='engine'`.
| التنسيق | وسيطة format | النموذج | البيانات الوصفية | الوسائط |
|--------------------------------------------------------------------|---------------|---------------------------|------------------|-----------------------------------------------------|
| [بايثورش](https://pytorch.org/) | - | `yolov8n.pt` | ✅ | - |
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `تورتشسيريبت` | `yolov8n.torchscript` | ✅ | `imgsz`, `optimize` |
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n.onnx` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `opset` |
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n_openvino_model/` | ✅ | `imgsz`, `half`, `int8` |
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n.engine` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `workspace` |
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n.mlpackage` | ✅ | `imgsz`, `half`, `int8`, `nms` |
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n_saved_model/` | ✅ | `imgsz`, `keras`, `int8` |
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n.pb` | ❌ | `imgsz` |
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n.tflite` | ✅ | `imgsz`, `half`, `int8` |
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n_edgetpu.tflite` | ✅ | `imgsz` |
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n_web_model/` | ✅ | `imgsz` |
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n_paddle_model/` | ✅ | `imgsz` |
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n_ncnn_model/` | ✅ | `imgsz`, `half` |

@ -0,0 +1,77 @@
---
comments: true
description: من التدريب إلى التتبع، استفد من YOLOv8 مع Ultralytics. احصل على نصائح وأمثلة لكل وضع مدعوم بما في ذلك التحقق والتصدير واختبار الأداء.
keywords: Ultralytics, YOLOv8, التعلم الآلي، كشف الكائنات، التدريب، التحقق، التنبؤ، التصدير، التتبع، اختبار الأداء
---
# أوضاع Ultralytics YOLOv8
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="بيئة عمل Ultralytics YOLO والتكاملات">
## المقدمة
YOLOv8 من Ultralytics ليست مجرد نموذج لكشف الكائنات آخر؛ إنها إطار متعدد الاستخدامات مصمم لتغطية دورة حياة نماذج التعلم الآلي بأكملها - من امتصاص البيانات وتدريب النموذج إلى التحقق والنشر وتتبع الواقع الحقيقي. يخدم كل وضع غرضًا محددًا وهو مصمم لتوفير المرونة والكفاءة المطلوبة للمهام والحالات الاستخدام المختلفة.
!!! Note
🚧 توثيقنا متعدد اللغات قيد الإنشاء حاليًا، ونحن نعمل بجهد لتحسينه. شكرًا لك على صبرك! 🙏
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/j8uQc0qB91s?si=dhnGKgqvs7nPgeaM"
title="مشغل فيديو يوتيوب" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>شاهد:</strong> برنامج التعليم Ultralytics: تدريب، التحقق، التنبؤ، التصدير، واختبار الأداء.
</p>
### أوضاع مختصرة
فهم ال**أوضاع** المختلفة المدعومة بواسطة Ultralytics YOLOv8 مهم جدًا للاستفادة القصوى من النماذج الخاصة بك:
- وضع **التدريب**: قم بضبط نموذجك على مجموعة بيانات مخصصة أو محملة مسبقًا.
- وضع **التحقق**: نقطة فحص بعد التدريب لتقييم أداء النموذج.
- وضع **التنبؤ**: اطلق قوة التنبؤ الخاصة بنموذجك على البيانات الحقيقية.
- وضع **التصدير**: قم بتجهيز نموذجك للاستخدام في صيغ مختلفة.
- وضع **التتبع**: قم بتوسيع نموذج الكشف عن الكائنات الخاص بك إلى تطبيقات التتبع في الوقت الحقيقي.
- وضع **اختبار الأداء**: قم بتحليل سرعة ودقة نموذجك في بيئات نشر متنوعة.
يهدف هذا الدليل الشامل إلى تقديم لمحة عامة ونصائح عملية حول كل وضع، لمساعدتك في استغلال كامل إمكانات YOLOv8.
## [وضع التدريب](train.md)
يتم استخدام وضع التدريب لتدريب نموذج YOLOv8 على مجموعة بيانات مخصصة. في هذا الوضع، يتم تدريب النموذج باستخدام مجموعة البيانات والمعلمات الهايبر للحصول على دقة في توقع الفئات ومواقع الكائنات في الصورة.
[أمثلة التدريب](train.md){ .md-button .md-button--primary}
## [وضع التحقق](val.md)
يتم استخدام وضع التحقق للتحقق من نموذج YOLOv8 بعد تدريبه. في هذا الوضع، يتم تقييم النموذج على مجموعة التحقق لقياس دقته وأداء التعميم. يمكن استخدام هذا الوضع لتعديل المعلمات الهايبر للنموذج لتحسين أدائه.
[أمثلة التحقق](val.md){ .md-button .md-button--primary}
## [وضع التنبؤ](predict.md)
يتم استخدام وضع التنبؤ لإجراء تنبؤات باستخدام نموذج YOLOv8 المدرب على صور أو فيديوهات جديدة. في هذا الوضع، يتم تحميل النموذج من ملف الفحص، ويمكن للمستخدم توفير الصور أو مقاطع الفيديو لإجراء استدلال. يقوم النموذج بتوقع الفئات ومواقع الكائنات في الصور أو مقاطع الفيديو المدخلة.
[أمثلة التنبؤ](predict.md){ .md-button .md-button--primary}
## [وضع التصدير](export.md)
يتم استخدام وضع التصدير لتصدير نموذج YOLOv8 إلى صيغة يمكن استخدامها للنشر. في هذا الوضع، يتم تحويل النموذج إلى صيغة يمكن استخدامها من قبل تطبيقات البرامج الأخرى أو الأجهزة الأجهزة. يكون هذا الوضع مفيدًا عند نشر النموذج في بيئات الإنتاج.
[أمثلة التصدير](export.md){ .md-button .md-button--primary}
## [وضع التتبع](track.md)
يتم استخدام وضع التتبع لتتبع الكائنات في الوقت الحقيقي باستخدام نموذج YOLOv8. في هذا الوضع، يتم تحميل النموذج من ملف الفحص، ويمكن للمستخدم توفير تيار فيديو مباشر لأداء تتبع الكائنات في الوقت الفعلي. يكون هذا الوضع مفيدًا لتطبيقات مثل أنظمة المراقبة أو السيارات ذاتية القيادة.
[أمثلة التتبع](track.md){ .md-button .md-button--primary}
## [وضع اختبار الأداء](benchmark.md)
يتم استخدام وضع اختبار الأداء لتقييم سرعة ودقة صيغ التصدير المختلفة لـ YOLOv8. تقدم الاختبارات معلومات حول حجم الصيغة المصدر، معيار الأداء `mAP50-95` (لكشف الكائنات والتقسيم والتصوير) أو المعيار `accuracy_top5` (للتصنيف)، ووقت الاستدلال بالملي ثانية لكل صورة في صيغ التصدير المختلفة مثل ONNX و OpenVINO و TensorRT وغيرها. يمكن لهذه المعلومات مساعدة المستخدمين على اختيار صيغة التصدير الأمثل لحالتهم الاستخدامية المحددة بناءً على متطلبات السرعة والدقة.
[أمثلة اختبار الأداء](benchmark.md){ .md-button .md-button--primary}

@ -0,0 +1,217 @@
---
comments: true
description: اكتشف كيفية استخدام وضع التنبؤ YOLOv8 لمهام مختلفة. تعرّف على مصادر التنبؤ المختلفة مثل الصور ومقاطع الفيديو وتنسيقات البيانات المختلفة.
keywords: Ultralytics، YOLOv8، وضع التنبؤ، مصادر التنبؤ، مهام التنبؤ، وضع التدفق، معالجة الصور، معالجة الفيديو، التعلم الآلي، الذكاء الاصطناعي
---
# التنبؤ بالنموذج باستخدام Ultralytics YOLO
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="البيئة والتكامل الخاصة بنظام Ultralytics YOLO">
## المقدمة
في عالم التعلم الآلي ورؤية الحاسوب، يُطلق على عملية استخلاص المعنى من البيانات البصرية اسم "الاستدلال" أو "التنبؤ". يوفر YOLOv8 من Ultralytics ميزة قوية تُعرف بـ**وضع التنبؤ** والتي تم تصميمها خصيصًا للاستدلال في الوقت الحقيقي وبأداء عال على مجموعة واسعة من مصادر البيانات.
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/QtsI0TnwDZs?si=ljesw75cMO2Eas14"
title="مشغل الفيديو" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>شاهد:</strong> كيفية استخراج النتائج من نموذج Ultralytics YOLOv8 لمشاريع مخصصة.
</p>
## التطبيقات في العالم الحقيقي
| التصنيع | الرياضة | السلامة |
|:-------------------------------------------------:|:----------------------------------------------------:|:-------------------------------------------:|
| ![Vehicle Spare Parts Detection][car spare parts] | ![Football Player Detection][football player detect] | ![People Fall Detection][human fall detect] |
| كشف قطع غيار المركبات | كشف لاعبي كرة القدم | كشف سقوط الأشخاص |
## لماذا يجب استخدام Ultralytics YOLO لعمليات التنبؤ؟
فيما يلي الأسباب التي يجب أخذها في الاعتبار عند الاستفادة من وضع التنبؤ YOLOv8 لاحتياجات التنبؤ المختلفة:
- **التنوع:** قادر على التنبؤ على الصور ومقاطع الفيديو، وحتى التدفقات الحية.
- **الأداء:** مصمم للتطبيقات في الوقت الحقيقي والمعالجة عالية السرعة دون التضحية بالدقة.
- **سهولة الاستخدام:** واجهات Python والواجهة السطرية لتسريع النشر والاختبار.
- **قابلية التخصيص العالية:** إعدادات ومعلمات مختلفة لضبط سلوك التنبؤ النموذج وفقًا لمتطلباتك المحددة.
### الميزات الرئيسية لوضع التنبؤ
تم تصميم وضع التنبؤ الخاص بـ YOLOv8 ليكون قويًا ومتعدد الاستخدامات، ويتميز بما يلي:
- **توافق متعدد مصادر البيانات:** سواء كانت بياناتك عبارة عن صور فردية أو مجموعة من الصور أو ملفات فيديو أو تدفقات فيديو في الوقت الحقيقي، سيتمكن وضع التنبؤ من التعامل معها جميعًا.
- **وضع التدفق الحي:** استخدم ميزة التدفق لإنشاء مولد فعّال لكائنات "النتائج" باستخدام الذاكرة. قم بتمكين هذا بتعيين `stream=True` في طريقة استدعاء المتنبئ.
- **معالجة دُفعات:** القدرة على معالجة العديد من الصور أو إطارات الفيديو في دُفعة واحدة، مما يزيد أكثر من سرعة التنبؤ.
- **سهل التكامل:** يسهل الدمج مع خطوط الأنابيب البيانية الحالية ومكونات البرامج الأخرى بفضل واجهة برمجة التطبيقات المرنة.
تُرجع نماذج Ultralytics YOLO إما قائمة Python من كائنات "النتائج" أو مُنشئ برمجياً فعّال لكائنات الـ "النتائج" في حال تم تمرير `stream=True` إلى النموذج أثناء عملية التنبؤ:
!!! Example "التنبؤ"
=== "العودة بقائمة واحدة باستخدام `stream=False`"
```python
from ultralytics import YOLO
# تحميل نموذج
model = YOLO('yolov8n.pt') # نموذج YOLOv8n المُدرَّب مسبقًا
# تشغيل التنبؤ بدُفعة على قائمة من الصور
results = model(['im1.jpg', 'im2.jpg']) # العودة بقائمة من كائنات 'النتائج'
# معالجة قائمة النتائج
for result in results:
boxes = result.boxes # كائن Boxes لمخرجات bbox
masks = result.masks # كائن Masks لمخرجات قنوات الفصل العنقودي
keypoints = result.keypoints # كائن Keypoints لمخرجات الاتجاهات
probs = result.probs # كائن Probs لمخرجات التصنيف
```
=== "العودة بمُنشئ فعال مع `stream=True`"
```python
from ultralytics import YOLO
# تحميل نموذج
model = YOLO('yolov8n.pt') # نموذج YOLOv8n المُدرَّب مسبقًا
# تشغيل التنبؤ بدُفعة على قائمة من الصور
results = model(['im1.jpg', 'im2.jpg'], stream=True) # العودة بمُنشئ فعال لكائنات 'النتائج'
# معالجة المُنشئ الفعال
for result in results:
boxes = result.boxes # كائن Boxes لمخرجات bbox
masks = result.masks # كائن Masks لمخرجات قنوات الفصل العنقودي
keypoints = result.keypoints # كائن Keypoints لمخرجات الاتجاهات
probs = result.probs # كائن Probs لمخرجات التصنيف
```
## مصادر التنبؤ
يمكن لـ YOLOv8 معالجة أنواع مختلفة من مصادر الإدخال لعملية الاستدلال، على النحو الموضح في الجدول أدناه. تشمل المصادر الصور الثابتة وتيارات الفيديو وتنسيقات مختلفة للبيانات. يشير الجدول أيضًا إلى ما إذا كان يمكن استخدام كل مصدر في وضع التدفق باستخدام الوسيط `stream=True` ✅. يعتبر وضع التدفق مفيدًا لمعالجة مقاطع الفيديو أو التدفقات الحية حيث يقوم بإنشاء مُنشئ للنتائج بدلاً من تحميل جميع الإطارات في الذاكرة.
!!! Tip "طراز"
استخدم `stream=True` لمعالجة مقاطع الفيديو الطويلة أو مجموعات البيانات الكبيرة لإدارة الذاكرة بكفاءة. عندما تكون القيمة مساوية لـ `stream=False`، يتم تخزين النتائج لجميع الإطارات أو نقاط البيانات في الذاكرة، والتي يمكن أن تتراكم بسرعة وتُسبِّب أخطاء الذاكرة غير الكافية للمدخلات الكبيرة. على النقيض من ذلك، يستخدم التدفق `stream=True` مولدًا يُبقي نتائج الإطار الحالي أو نقطة البيانات الحالية في الذاكرة فقط، مما يقلل بشكل كبير من استهلاك الذاكرة ويمنع مشكلات عدم كفاية الذاكرة.
| مصدر | الوسيط | النوع | الملاحظات |
|------------------|--------------------------------------------|-----------------|----------------------------------------------------------------------------------------------|
| صورة | `'صورة.jpg'` | `str` or `Path` | ملف صورة واحدة. |
| رابط URL | `'https://ultralytics.com/images/bus.jpg'` | `str` | رابط URL لصورة ما. |
| لقطة شاشة برمجية | `'الشاشة'` | `str` | قم بالتقاط لقطة شاشة برمجية. |
| PIL | `Image.open('im.jpg')` | `PIL.Image` | الصيغة HWC مع قنوات RGB. |
| OpenCV | `cv2.imread('im.jpg')` | `np.ndarray` | الصيغة HWC مع قنوات BGR `uint8 (0-255)`. |
| numpy | `np.zeros((640,1280,3))` | `np.ndarray` | الصيغة HWC مع قنوات BGR `uint8 (0-255)`. |
| torch | `torch.zeros(16,3,320,640)` | `torch.Tensor` | الصيغة BCHW مع قنوات RGB `float32 (0.0-1.0)`. |
| CSV | `'المصادر.csv'` | `str` or `Path` | ملف CSV يحتوي على مسارات الصور أو مقاطع الفيديو أو المجلدات. |
| فيديو ✅ | `'الفيديو.mp4'` | `str` or `Path` | ملف فيديو بتنسيقات مثل MP4 و AVI وما إلى ذلك. |
| الدليل ✅ | `'المسار/'` | `str` or `Path` | مسار إلى مجلد يحتوي على صور أو مقاطع فيديو. |
| glob ✅ | `'المسار/*.jpg'` | `str` | نمط glob لمطابقة عدة ملفات. استخدم حرف `*` كحرطوم. |
| يوتيوب ✅ | `'https://youtu.be/LNwODJXcvt4'` | `str` | رابط URL إلى فيديو يوتيوب. |
| تدفق ✅ | `'rtsp://example.com/media.mp4'` | `str` | عنوان URL لبروتوكولات التدفق مثل RTSP و RTMP و TCP أو عنوان IP. |
| تدفق متعدد ✅ | `'list.streams'` | `str` or `Path` | ملف نصي `*.streams` مع عنوان تدفق URL في كل صف، على سبيل المثال 8 تدفقات ستعمل بحجم دُفعة 8. |
فيما يلي أمثلة تعليمات برمجية لاستخدام كل نوع من مصدر:
!!! Example "مصادر التنبؤ"
=== "الصورة"
قم بأجراء عملية التنبؤ على ملف صورة.
```python
from ultralytics import YOLO
# تحميل نموذج YOLOv8n المدرب مسبقًا
model = YOLO('yolov8n.pt')
# تنشيط عملية التنبؤ لملف الصورة
source = 'المسار/إلى/الصورة.jpg'
# الجمع بين التنبؤ على المصدر
results = model(source) # قائمة كائنات النتائج
```
=== "لقطة شاشة برمجية"
قم بأجراء عملية التنبؤ على محتوى الشاشة الحالي كلقطة شاشة.
```python
from ultralytics import YOLO
# تحميل نموذج YOLOv8n المدرب مسبقًا
model = YOLO('yolov8n.pt')
# تعريف اللقطة الحالية كمصدر
source = 'الشاشة'
# الجمع بين التنبؤ على المصدر
results = model(source) # قائمة كائنات النتائج
```
=== "رابط URL"
قم بأجراء عملية التنبؤ على صورة موجودة على الإنترنت أو فيديو.
```python
from ultralytics import YOLO
# تحميل نموذج YOLOv8n المدرب مسبقًا
model = YOLO('yolov8n.pt')
# تعريف رابط الصورة أو الفيديو على الإنترنت
source = 'https://ultralytics.com/images/bus.jpg'
# الجمع بين التنبؤ على المصدر
results = model(source) # قائمة كائنات النتائج
```
=== "PIL"
قم بأجراء عملية التنبؤ على صورة مفتوحة بواسطة مكتبة Python Imaging Library (PIL).
```python
from PIL import Image
from ultralytics import YOLO
# تحميل نموذج YOLOv8n المدرب مسبقًا
model = YOLO('yolov8n.pt')
# فتح صورة باستخدام PIL
source = Image.open('المسار/إلى/الصورة.jpg')
# الجمع بين التنبؤ على المصدر
results = model(source) # قائمة كائنات النتائج
```
=== "OpenCV"
قم بأجراء عملية التنبؤ على صورة مُقروءة بواسطة OpenCV.
```python
import cv2
from ultralytics import YOLO
# تحميل نموذج YOLOv8n المدرب مسبقًا
model = YOLO('yolov8n.pt')
# قراءة صورة باستخدام OpenCV
source = cv2.imread('المسار/إلى/الصورة.jpg')
# الجمع بين التنبؤ على المصدر
results = model(source) # قائمة كائنات النتائج
```
=== "numpy"
قم بأجراء عملية التنبؤ على صورة مُمثلة كمصفوفة numpy.
```python
import numpy as np
from ultralytics import YOLO
# تحميل نموذج YOLOv8n المدرب مسبقًا
model = YOLO('yolov8n.pt')
# إنشاء مصفوفة numpy عشوائية في صيغة HWC (640, 640, 3) بقيم بين [0, 255] ونوع uint8
source = np.random.randint(low=0, high=255, size=(640, 640, 3), dtype='uint8')
# الجمع بين التنبؤ على المصدر
results = model(source) # قائمة كائنات النتائج
```
[car spare parts]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/a0f802a8-0776-44cf-8f17-93974a4a28a1
[football player detect]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/7d320e1f-fc57-4d7f-a691-78ee579c3442
[human fall detect]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/86437c4a-3227-4eee-90ef-9efb697bdb43

@ -0,0 +1,360 @@
---
comments: true
description: تعرف على كيفية استخدام Ultralytics YOLO لتتبع الكائنات في تدفقات الفيديو. أدلة لاستخدام مختلف المتتبعين وتخصيص إعدادات المتتبع.
keywords: Ultralytics، YOLO، تتبع الكائنات، تدفقات الفيديو، BoT-SORT، ByteTrack، دليل Python، دليل خط الأوامر (CLI)
---
# تتبع عدة كائنات باستخدام Ultralytics YOLO
<img width="1024" src="https://user-images.githubusercontent.com/26833433/243418637-1d6250fd-1515-4c10-a844-a32818ae6d46.png" alt="Multi-object tracking examples">
يعد تتبع الكائنات في مجال تحليل الفيديو مهمة حرجة ليس فقط في تحديد موقع وفئة الكائنات داخل الإطار، ولكن أيضًا في الحفاظ على هوية فريدة لكل كائن يتم اكتشافه مع تقدم الفيديو. تكاد التطبيقات لا تعد ولا تحصى - تتراوح من المراقبة والأمان إلى تحليل الرياضة الفورية.
## لماذا يجب اختيار Ultralytics YOLO لتتبع الكائنات؟
إن مخرجات المتتبعين في Ultralytics متسقة مع كشف الكائنات القياسي ولها قيمة مضافة من هويات الكائنات. هذا يجعل من السهل تتبع الكائنات في تدفقات الفيديو وأداء التحليلات التالية. إليك لماذا يجب أن تفكر في استخدام Ultralytics YOLO لتلبية احتياجات تتبع الكائنات الخاصة بك:
- **الكفاءة:** معالجة تدفقات الفيديو في الوقت الحقيقي دون المساومة على الدقة.
- **المرونة:** يدعم العديد من خوارزميات التتبع والتكوينات.
- **سهولة الاستخدام:** واجهة برمجة تطبيقات بسيطة للغاية وخيارات سطر الأوامر للاستدماج السريع والنشر.
- **إمكانية التخصيص:** سهل الاستخدام مع نماذج YOLO مدربة مخصصة، مما يسمح بالاكتمال في التطبيقات ذات النطاق الخاص.
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/hHyHmOtmEgs?si=VNZtXmm45Nb9s-N-"
title="مشغل فيديو YouTube" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>شاهد:</strong> كشف الكائنات وتتبعها باستخدام Ultralytics YOLOv8.
</p>
## تطبيقات في العالم الحقيقي
| النقل | البيع بالتجزئة | الاستزراع المائي |
|:----------------------------------:|:--------------------------------:|:----------------------------:|
| ![Vehicle Tracking][vehicle track] | ![People Tracking][people track] | ![Fish Tracking][fish track] |
| تتبع المركبات | تتبع الأشخاص | تتبع الأسماك |
## ملامح بلمحة
يوفر Ultralytics YOLO ميزات كشف الكائنات لتوفير تتبع فعال ومتعدد الاستخدامات للكائنات:
- **تتبع فوري:** تتبع الكائنات بسلاسة في مقاطع الفيديو ذات معدل الإطارات العالي.
- **دعم عدة متتبعين:** اختيار بين مجموعة متنوعة من خوارزميات التتبع المعتمدة.
- **تخصيص تكوينات المتتبع المتاحة:** ضبط خوارزمية التتبع لتلبية المتطلبات المحددة عن طريق ضبط مختلف المعلمات.
## متتبعون متاحون
يدعم Ultralytics YOLO الخوارزميات التالية للتتبع. يمكن تمكينها عن طريق تمرير ملف تكوين YAML ذي الصلة مثل "tracker=tracker_type.yaml":
* [BoT-SORT](https://github.com/NirAharon/BoT-SORT) - استخدم `botsort.yaml` لتمكين هذا المتتبع.
* [ByteTrack](https://github.com/ifzhang/ByteTrack) - استخدم `bytetrack.yaml` لتمكين هذا المتتبع.
المتتبع الافتراضي هو BoT-SORT.
## تتبع
لتشغيل المتتبع على تدفقات الفيديو، استخدم نموذج تحديد (Detect) أو قطع (Segment) أو وضع (Pose) مدرب مثل YOLOv8n و YOLOv8n-seg و YOLOv8n-pose.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتحميل نموذج رسمي أو مخصص
model = YOLO('yolov8n.pt') # قم بتحميل نموذج رسمي Detect
model = YOLO('yolov8n-seg.pt') # قم بتحميل نموذج رسمي Segment
model = YOLO('yolov8n-pose.pt') # قم بتحميل نموذج رسمي Pose
model = YOLO('path/to/best.pt') # قم بتحميل نموذج مخصص مدرب
# قم بتنفيذ التتبع باستخدام النموذج
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True) # التتبع باستخدام المتتبع الافتراضي
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True, tracker="bytetrack.yaml") # التتبع باستخدام متتبع ByteTrack
```
=== "CLI"
```bash
# قم بتنفيذ التتبع باستخدام مختلف النماذج باستخدام واجهة سطر الأوامر
yolo track model=yolov8n.pt source="https://youtu.be/LNwODJXcvt4" # نموذج Detect رسمي
yolo track model=yolov8n-seg.pt source="https://youtu.be/LNwODJXcvt4" # نموذج Segment رسمي
yolo track model=yolov8n-pose.pt source="https://youtu.be/LNwODJXcvt4" # نموذج Pose رسمي
yolo track model=path/to/best.pt source="https://youtu.be/LNwODJXcvt4" # تم تدريب نموذج مخصص
# تتبع عن طريق ByteTrack متتبع
yolo track model=path/to/best.pt tracker="bytetrack.yaml"
```
كما يظهر في الاستخدام أعلاه، يتوفر التتبع لجميع نماذج Detect و Segment و Pose التي تعمل على مقاطع الفيديو أو مصادر البث.
## الاعدادات
### معاملات التتبع
تتشارك إعدادات التتبع الخصائص مع وضع التوقعات (Predict)، مثل `conf` و `iou` و `show`. للحصول على مزيد من التكوينات، راجع صفحة النموذج [Predict](../modes/predict.md#inference-arguments).
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتكوين معلمات التتبع وقم بتشغيل التتبع
model = YOLO('yolov8n.pt')
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.3, iou=0.5, show=True)
```
=== "CLI"
```bash
# قم بتكوين معلمات التتبع وقم بتشغيل التتبع باستخدام واجهة سطر الأوامر
yolo track model=yolov8n.pt source="https://youtu.be/LNwODJXcvt4" conf=0.3, iou=0.5 show
```
### اختيار المتتبع
يتيح لك Ultralytics أيضًا استخدام ملف تكوين متتبع معدل. للقيام بذلك، أنقل نسخة من ملف تكوين المتتبع (مثل `custom_tracker.yaml`) من [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers) وقم بتعديل أي تكوينات (باستثناء `tracker_type`) حسب احتياجاتك.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتحميل النموذج وتشغيل التتبع باستخدام ملف تكوين مخصص
model = YOLO('yolov8n.pt')
results = model.track(source="https://youtu.be/LNwODJXcvt4", tracker='custom_tracker.yaml')
```
=== "CLI"
```bash
# قم بتحميل النموذج وتشغيل التتبع باستخدام ملف تكوين مخصص باستخدام واجهة سطر الأوامر
yolo track model=yolov8n.pt source="https://youtu.be/LNwODJXcvt4" tracker='custom_tracker.yaml'
```
للحصول على قائمة شاملة من وسائط تتبع، راجع الصفحة [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers).
## أمثلة Python
### الحفاظ على المسارات التكرارية
فيما يلي سكريبت Python باستخدام OpenCV (cv2) و YOLOv8 لتشغيل تتبع الكائنات على إطارات الفيديو. يفترض هذا السكريبت أنك قد قمت بالفعل بتثبيت الحزم اللازمة (opencv-python و ultralytics). المعامل `persist=True` يخبر المتتبع أن الصورة الحالية أو الإطار التالي في التسلسل ومن المتوقع أن يتوفر مسارات من الصورة السابقة في الصورة الحالية.
!!! Example "For-loop للتدفق مع التتبع"
```python
import cv2
from ultralytics import YOLO
# حمّل نموذج YOLOv8
model = YOLO('yolov8n.pt')
# افتح ملف الفيديو
video_path = "path/to/video.mp4"
cap = cv2.VideoCapture(video_path)
# تحلق عبر إطارات الفيديو
while cap.isOpened():
# قراءة الإطار من الفيديو
success, frame = cap.read()
if success:
# تشغيل تتبع YOLOv8 على الإطار ، وحفظ المسارات بين الإطارات
results = model.track(frame, persist=True)
# تصور النتائج على الإطار
annotated_frame = results[0].plot()
# عرض الإطار المعلق
cv2.imshow("YOLOv8 Tracking", annotated_frame)
# كسر اللوب في حالة الضغط على 'q'
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
# كسر اللوب في نهاية الفيديو
break
# إطلاق كائن التقاط الفيديو وإغلاق نافذة العرض
cap.release()
cv2.destroyAllWindows()
```
يرجى ملاحظة التغيير من `model(frame)` إلى `model.track(frame)` ، مما يمكن التتبع بدلاً من الكشف البسيط. سيتم تشغيل البرنامج المعدل على كل إطار فيديو وتصور النتائج وعرضها في نافذة. يمكن الخروج من الحلقة عن طريق الضغط على 'q'.
### رسم المسارات عبر الوقت
يمكن أن يوفر رسم المسارات الكائنية عبر الإطارات المتتالية إشارات قيمة حول أنماط الحركة والسلوك للكائنات المكتشفة في الفيديو. باستخدام Ultralytics YOLOv8 ، يعد تصوير هذه المسارات عملية سلسة وفعالة.
في المثال التالي ، نوضح كيفية استخدام قدرات يوكو 8 YOLO لتتبع الكائنات لرسم حركة الكائنات المكتشفة عبر إطارات الفيديو المتعددة. يتضمن هذا البرنامج فتح ملف فيديو وقراءته إطارًا بإطار ، واستخدام نموذج YOLO لتحديد وتتبع العديد من الكائنات. عن طريق الاحتفاظ بنقاط الوسط لمربعات الحدود المكتشفة وتوصيلها ، يمكننا رسم خطوط تمثل المسارات التي تم اتباعها بواسطة الكائنات التي تمت متابعتها.
!!! Example "رسم المسارات عبر إطارات الفيديو المتعددة"
```python
from collections import defaultdict
import cv2
import numpy as np
from ultralytics import YOLO
# حمّل نموذج YOLOv8
model = YOLO('yolov8n.pt')
# افتح ملف الفيديو
video_path = "path/to/video.mp4"
cap = cv2.VideoCapture(video_path)
# احفظ تاريخ المسارات
track_history = defaultdict(lambda: [])
# تحلق عبر إطارات الفيديو
while cap.isOpened():
# قراءة الإطار من الفيديو
success, frame = cap.read()
if success:
# تشغيل تتبع YOLOv8 على الإطار ، وحفظ المسارات بين الإطارات
results = model.track(frame, persist=True)
# الحصول على المربعات ومعرفات المسار
boxes = results[0].boxes.xywh.cpu()
track_ids = results[0].boxes.id.int().cpu().tolist()
# تصور النتائج على الإطار
annotated_frame = results[0].plot()
# رسم المسارات
for box, track_id in zip(boxes, track_ids):
x, y, w, h = box
track = track_history[track_id]
track.append((float(x), float(y))) # x, y نقطة الوسط
if len(track) > 30: # احتفظ بـ 90 مسارًا لـ 90 إطارًا
track.pop(0)
# رسم خطوط التتبع
points = np.hstack(track).astype(np.int32).reshape((-1, 1, 2))
cv2.polylines(annotated_frame, [points], isClosed=False, color=(230, 230, 230), thickness=10)
# عرض الإطار المعلق
cv2.imshow("YOLOv8 Tracking", annotated_frame)
# كسر اللوب في حالة الضغط على 'q'
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
# كسر اللوب في نهاية الفيديو
break
# إطلاق كائن التقاط الفيديو وإغلاق نافذة العرض
cap.release()
cv2.destroyAllWindows()
```
### التتبع متعدد الخيوط
يوفر التتبع متعدد الخيوط القدرة على تشغيل تتبع الكائنات على عدة تدفقات فيديو في وقت واحد. هذا مفيد بشكل خاص عند التعامل مع مدخلات فيديو متعددة ، مثل من كاميرات المراقبة المتعددة ، حيث يمكن أن يعزز المعالجة المتزامنة الكفاءة والأداء بشكل كبير.
في السكريبت البايثون المقدم ، نستخدم وحدة `threading` في Python لتشغيل عدة نسخ متزامنة من المتتبع. يكون لكل موضوع مسؤولية تشغيل المتتبع على ملف فيديو واحد ، وتعمل جميع الخيوط في الخلفية في نفس الوقت.
للتأكد من أن كل خيط يتلقى المعلمات الصحيحة (ملف الفيديو والنموذج المستخدم وفهرس الملف) ، نحدد وظيفة `run_tracker_in_thread` التي تقبل هذه المعلمات وتحتوي على حلقة المتابعة الرئيسية. هذه الوظيفة تقرأ إطار الفيديو الخاصة بالفيديو مباشرة من مصدر الملف الواحد ، وتشغيل المتتبع ، وعرض النتائج.
تستخدم في هذا المثال نموذجين مختلفين: 'yolov8n.pt' و 'yolov8n-seg.pt' ، يقوم كل منهما بتتبع الكائنات في ملف فيديو مختلف. تم تحديد ملفات الفيديو في `video_file1` و `video_file2`.
تعديل معلمات `daemon=True` في `threading.Thread` يعني أن هذه الخيوط ستتم إغلاقها بمجرد انتهاء البرنامج الرئيسي. ثم نبدأ الخيوط باستخدام `start ()` واستخدم `join ()` لجعل الخيط الرئيسي ينتظر حتى ينتهي خيطي المتتبع.
أخيرًا ، بعد اكتمال جميع الخيوط لمهمتها ، يتم إغلاق النوافذ التي تعرض النتائج باستخدام `cv2.destroyAllWindows()`.
!!! Example "Streaming for-loop with tracking"
```python
import threading
import cv2
from ultralytics import YOLO
def run_tracker_in_thread(filename, model, file_index):
"""
يشغل ملف فيديو أو مصدر تيار الكاميرا بالتزامن مع YOLOv8 النموذج باستخدام تعدد الخيوط.
هذه الوظيفة تلتقط إطارات الفيديو من ملف أو مصدر الكاميرا المعروف ، وتستخدم نموذج YOLOv8 لتتبع الكائنات.
يعمل البرنامج في خيطه الخاص للمعالجة المتزامنة.
Args:
filename (str): مسار ملف الفيديو أو معرف مصدر كاميرا الويب / خارجية.
model (obj): كائن نموذج YOLOv8.
file_index (int): مؤشر لتحديد الملف بشكل فريد ، يُستخدم لأغراض العرض.
ملاحظة:
اضغط على 'q' لإنهاء نافذة عرض الفيديو.
"""
video = cv2.VideoCapture(filename) # قراءة ملف الفيديو
while True:
ret, frame = video.read() # قراءة إطارات الفيديو
# إنهاء الدورة إذا لم يتبقى إطارات على الفيديوين
if not ret:
break
# تتبع كائنات في الإطارات إذا توفرت
results = model.track(frame, persist=True)
res_plotted = results[0].plot()
cv2.imshow(f"Tracking_Stream_{file_index}", res_plotted)
key = cv2.waitKey(1)
if key == ord('q'):
break
# إطلاق مصدري الفيديو
video.release()
# حمّل النماذج
model1 = YOLO('yolov8n.pt')
model2 = YOLO('yolov8n-seg.pt')
# حدد ملفات الفيديو للمتابعين
video_file1 = "path/to/video1.mp4" # مسار ملف الفيديو ، 0 لكاميرا الويب
video_file2 = 0 # مسار ملف الفيديو ، 0 لكاميرا الويب ، 1 لكاميرا خارجية
# إنشاء خيوط المتابع
tracker_thread1 = threading.Thread(target=run_tracker_in_thread, args=(video_file1, model1 ,1), daemon=True)
tracker_thread2 = threading.Thread(target=run_tracker_in_thread, args=(video_file2, model2, 2), daemon=True)
# بدء خيوط المتابع
tracker_thread1.start()
tracker_thread2.start()
# انتظر حتى ينتهي خيط المتابع
tracker_thread1.join()
tracker_thread2.join()
# Clean up and close windows
cv2.destroyAllWindows()
```
يمكن بسهولة توسيع هذا المثال للتعامل مع ملفات فيديو ونماذج أخرى من خلال إنشاء مزيد من الخيوط وتطبيق نفس المنهجية.
## المساهمة في المتتبعون الجديدون
هل أنت ماهر في التتبع متعدد الكائنات وقد نفذت أو صيغت بنجاح خوارزمية تتبع باستخدام Ultralytics YOLO؟ ندعوك للمشاركة في قسم المتتبعين لدينا في [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers)! قد تكون التطبيقات في العالم الحقيقي والحلول التي تقدمها لا تقدر بثمن للمستخدمين العاملين على مهام التتبع.
من خلال المساهمة في هذا القسم ، تساعد في توسيع نطاق حلول التتبع المتاحة في إطار Ultralytics YOLO ، مضيفًا طبقة أخرى من الوظائف والفعالية للمجتمع.
لبدء المساهمة ، يرجى الرجوع إلى [دليل المساهمة الخاص بنا](https://docs.ultralytics.com/help/contributing) للحصول على تعليمات شاملة حول تقديم طلب سحب (PR) 🛠. نتطلع بشكل كبير إلى ما ستجلبه للطاولة!
لنعزز معًا قدرات عملية التتبع لأجهزة Ultralytics YOLO 🙏!
[vehicle track]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/ee6e6038-383b-4f21-ac29-b2a1c7d386ab
[people track]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/93bb4ee2-77a0-4e4e-8eb6-eb8f527f0527
[fish track]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/a5146d0f-bfa8-4e0a-b7df-3c1446cd8142

@ -0,0 +1,286 @@
---
comments: true
description: دليل خطوة بخطوة لتدريب نماذج YOLOv8 باستخدام Ultralytics YOLO بما في ذلك أمثلة على التدريب باستخدام بطاقة رسومات منفصلة ومتعددة البطاقات الرسومية
keywords: Ultralytics، YOLOv8، YOLO، كشف الكائنات، وضع تدريب، مجموعة بيانات مخصصة، تدريب بطاقة رسومات، متعددة البطاقات الرسومية، معلمات تكبير، أمثلة سطر الأوامر، أمثلة بايثون
---
# تدريب النموذج باستخدام Ultralytics YOLO
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="بيئة ومدمجات Ultralytics YOLO">
## المقدمة
يتضمن تدريب نموذج التعلم العميق تزويده بالبيانات وضبط معلماته بحيث يتمكن من إجراء توقعات دقيقة. يتم تصميم وضع التدريب في Ultralytics YOLOv8 لتدريب فعال وفعال لنماذج كشف الكائنات، مستغلاً تمامًا إمكانات الأجهزة الحديثة. يهدف هذا الدليل إلى شرح جميع التفاصيل التي تحتاج إلى البدء في تدريب النماذج الخاصة بك باستخدام مجموعة متينة من ميزات YOLOv8.
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/LNwODJXcvt4?si=7n1UvGRLSd9p5wKs"
title="مشغل فيديو YouTube" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>شاهد:</strong> كيفية تدريب نموذج YOLOv8 على مجموعة البيانات المخصصة الخاصة بك في Google Colab.
</p>
## لماذا اختيار Ultralytics YOLO للتدريب؟
إليك بعض الأسباب المقنعة لاختيار وضع التدريب في YOLOv8:
- **الكفاءة:** استفد إلى أقصى حد من الأجهزة الخاصة بك، سواء كنت تستخدم بطاقة رسومات واحدة أو توسيعها عبر عدة بطاقات رسومات.
- **تعدد الاستخدامات:** قم بالتدريب على مجموعات البيانات المخصصة بالإضافة إلى المجموعات المتاحة بسهولة مثل COCO و VOC و ImageNet.
- **سهل الاستخدام:** واجهة سطر الأوامر CLI وواجهة Python البسيطة والقوية لتجربة تدريب مباشرة.
- **مرونة المعلمات:** مجموعة واسعة من المعلمات القابلة للتخصيص لضبط أداء النموذج.
### الميزات الرئيسية لوضع التدريب
تتمثل الميزات البارزة لوضع التدريب في YOLOv8 في ما يلي:
- **تنزيل مجموعة البيانات تلقائيًا:** تقوم مجموعات البيانات القياسية مثل COCO و VOC و ImageNet بالتنزيل تلقائيًا عند أول استخدام.
- **دعم متعدد البطاقات الرسومية:** قم بتوزيع العمليات التدريبية بسلاسة عبر عدة بطاقات رسومات لتسريع العملية.
- **ضبط المعلمات:** الخيار لتعديل المعلمات التكبير من خلال ملفات تكوين YAML أو وسائط سطر الأوامر.
- **مراقبة وتتبع:** تتبع في الوقت الفعلي لمقاييس التدريب وتصور عملية التعلم لتحقيق رؤى أفضل.
!!! Example "نصيحة"
* يتم تنزيل مجموعات YOLOv8 القياسية مثل COCO و VOC و ImageNet وغيرها تلقائيًا عند الاستخدام الأول، على سبيل المثال: `yolo train data=coco.yaml`
## أمثلة استخدام
تدريب YOLOv8n على مجموعة بيانات COCO128 لمدة 100 حقبة بحجم صورة 640. يمكن تحديد جهاز التدريب باستخدام الوسيطة `device`. إذا لم يتم تمرير وسيطة، سيتم استخدام الجهاز بطاقة الرسومات "device=0" إذا كانت متاحة، وإلا سيتم استخدام `device=cpu`. استعرض الجدول الزمني أدناه للحصول على قائمة كاملة بوسائط التدريب.
!!! Example "أمثلة سطر الأوامر للتدريب باستخدام بطاقة رسومات مستقلة ومعالج مركزي"
يتم تحديد الجهاز تلقائيًا. إذا كانت بطاقة رسومات متاحة، سيتم استخدامها، وإلا ستبدأ التدريب على المعالج المركزي.
=== "بايثون"
```python
from ultralytics import YOLO
# تحميل النموذج
model = YOLO('yolov8n.yaml') # إنشاء نموذج جديد من ملف YAML
model = YOLO('yolov8n.pt') # تحميل نموذج مدرب مسبقًا (الأكثر توصية للتدريب)
model = YOLO('yolov8n.yaml').load('yolov8n.pt') # إنشاء من ملف YAML ونقل الأوزان
# تدريب النموذج
results = model.train(data='coco128.yaml', epochs=100, imgsz=640)
```
=== "سطر الأوامر"
```bash
# إنشاء نموذج جديد من ملف YAML وبدء التدريب من البداية
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640
# بدء التدريب من نموذج *.pt مدرب مسبقًا
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640
# إنشاء نموذج جديد من ملف YAML ونقل الأوزان المدربة مسبقًا وبدء التدريب
yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640
```
### التدريب متعدد البطاقات الرسومية
يتيح التدريب متعدد البطاقات الرسومية استخدام الموارد الأجهزة المتاحة بكفاءة أكبر من خلال توزيع أعباء التدريب عبر عدة بطاقات رسومية. هذه الميزة متاحة من خلال واجهة برمجة التطبيقات باستخدام Python وسطر الأوامر. لتمكين التدريب متعدد البطاقات الرسومية، حدد معرفات أجهزة GPU التي ترغب في استخدامها.
!!! Example "أمثلة على التدريب متعدد البطاقات الرسومية"
للتدريب باستخدام أجهزتي GPU، جهاز CUDA 0 و 1، استخدم الأوامر التالية. قم بتوسيعها لاستخدام المزيد من البطاقات.
=== "بايثون"
```python
from ultralytics import YOLO
# تحميل النموذج
model = YOLO('yolov8n.pt') # تحميل نموذج مدرب مسبقًا (الأكثر توصية للتدريب)
# تدريب النموذج بأجهزة GPU 2
results = model.train(data='coco128.yaml', epochs=100, imgsz=640, device=[0, 1])
```
=== "سطر الأوامر"
```bash
# بدء التدريب من نموذج *.pt مدرب مسبقًا باستخدام بطاقات GPU 0 و 1
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640 device=0,1
```
### التدريب باستخدام Apple M1 و M2 MPS
مع دعم شرائح Apple M1 و M2 المدمج في نماذج Ultralytics YOLO، يمكنك الآن تدريب نماذجك على الأجهزة التي تستخدم نظام Metal Performance Shaders (MPS) القوي. يوفر MPS طريقة عالية الأداء لتنفيذ المهام الحسابية ومعالجة الصور على شرائح السيليكون المخصصة لعبة Apple.
لتمكين التدريب على شرائح Apple M1 و M2، يجب عليك تحديد "mps" كجهازك عند بدء عملية التدريب. فيما يلي مثال لكيفية القيام بذلك في بايثون وعبر سطر الأوامر:
!!! Example "مثال على التدريب بواسطة MPS"
=== "بايثون"
```python
from ultralytics import YOLO
# تحميل النموذج
model = YOLO('yolov8n.pt') # تحميل نموذج مدرب مسبقًا (الأكثر توصية للتدريب)
# تدريب النموذج باستخدام 2 بطاقات GPU
results = model.train(data='coco128.yaml', epochs=100, imgsz=640, device='mps')
```
=== "سطر الأوامر"
```bash
# بدء التدريب من نموذج *.pt مدرب مسبقًا باستخدام بطاقات GPU 0 و 1
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640 device=mps
```
عند الاستفادة من قدرة المعالجة الحاسوبية لشرائح M1/M2، يتيح لك هذا الحمل أداءً أكثر كفاءة لمهام التدريب. للحصول على إرشادات أكثر تفصيلاً وخيارات تكوين متقدمة، يرجى الرجوع إلى [وثائق PyTorch MPS](https://pytorch.org/docs/stable/notes/mps.html).
### استئناف التدريب المقطوع
يعتبر استئناف التدريب من الحالات التخزين السابقة ميزة حاسمة عند العمل مع نماذج التعلم العميق. يمكن أن يكون هذا مفيدًا في العديد من السيناريوهات، مثل عند تعطل عملية التدريب بشكل غير متوقع، أو عند الرغبة في متابعة تدريب نموذج بيانات جديدة أو لفترة زمنية أطول.
عند استئناف التدريب، يقوم Ultralytics YOLO بتحميل الأوزان من آخر نموذج محفوظ وأيضًا استعادة حالة المحسن، وجدولة معدل التعلم، وعدد الحقبة. هذا يتيح لك متابعة عملية التدريب بشكل سلس من حيث توقفت.
يمكنك بسهولة استئناف التدريب في Ultralytics YOLO عن طريق تعيين الوسيطة `resume` إلى `True` عند استدعاء طريقة `train`، وتحديد المسار إلى ملف `.pt` الذي يحتوي على أوزان النموذج المدرب جزئيًا.
فيما يلي مثال لكيفية استئناف تدريب مقطوع باستخدام بايثون وعبر سطر الأوامر:
!!! Example "مثال على استئناف التدريب"
=== "بايثون"
```python
from ultralytics import YOLO
# تحميل النموذج
model = YOLO('path/to/last.pt') # تحميل نموذج مدرب جزئيًا
# استئناف التدريب
results = model.train(resume=True)
```
=== "سطر الأوامر"
```bash
# استئناف تدريب متقطع
yolo train resume model=path/to/last.pt
```
من خلال تعيين `resume=True`، ستواصل وظيفة 'train' التدريب من حيث توقفت، باستخدام الحالة المخزنة في ملف 'path/to/last.pt'. إذا تم حذف الوسيطة `resume` أو تعيينها على `False`، ستبدأ وظيفة 'train' جلسة تدريب جديدة.
تذكر أنه يتم حفظ نقاط التفتيش في نهاية كل حقبة افتراضياً، أو في فترة ثابتة باستخدام وسيطة 'save_period'، لذا يجب عليك إتمام حقبة واحدة على الأقل لاستئناف تشغيل تدريب.
## الوسائط
تتعلق إعدادات التدريب لنماذج YOLO بالمعلمات والتكوينات المختلفة المستخدمة لتدريب النموذج على مجموعة بيانات ما. يمكن أن تؤثر هذه الإعدادات على أداء النموذج وسرعته ودقته. تتضمن بعض إعدادات YOLO التدريب الشائعة حجم الدُفعات، معدل التعلم، الزخم، والتقليل القيمي للأوزان. العوامل الأخرى التي قد تؤثر في عملية التدريب تشمل اختيار المحسن، اختيار دالة الخسارة، وحجم وتركيب مجموعة البيانات التدريب. من المهم ضبط وتجربة هذه الإعدادات بعناية لتحقيق أفضل أداء ممكن لمهمة معينة.
| المفتاح | القيمة | الوصف |
|-------------------|----------|---------------------------------------------------------------------------------------------------------------------------|
| `model` | `None` | مسار إلى ملف النموذج، على سبيل المثال yolov8n.pt، yolov8n.yaml |
| `data` | `None` | مسار إلى ملف البيانات، على سبيل المثال coco128.yaml |
| `epochs` | `100` | عدد الحقب للتدريب ل |
| `patience` | `50` | حقب للانتظار بدون تحسن ظاهر لإيقاف التدريب مبكرا |
| `batch` | `16` | عدد الصور في كل دُفعة (-1 for AutoBatch) |
| `imgsz` | `640` | حجم الصور الدخل بصورة مثالية |
| `save` | `True` | حال إنقاذ النقاط المفتوحة للتدريب ونتائج الكشف |
| `save_period` | `-1` | حفظ النقطة الفاصلة كل x حقبة (تكون معطلة إذا كانت < 1) |
| `cache` | `False` | صحيح / ذاكرة عشوائية أو قرص / غير صحيح. استخدم ذاكرة التخزين المؤقت في تحميل البيانات |
| `device` | `None` | الجهاز لتشغيل التدريب عليه، على سبيل المثال جهاز الرسومات cuda=0 أو جهاز الرسومات cuda=0,1,2,3 أو جهاز المعالج المركزيcpu |
| `workers` | `8` | عدد خيوط العاملة لتحميل البيانات (لكل RANK إذا كان DDP) |
| `project` | `None` | اسم المشروع |
| `name` | `None` | اسم التجربة |
| `exist_ok` | `False` | ما إذا كان سيتم الكتابة فوق تجربة موجودة |
| `pretrained` | `True` | (bool أو str) ما إذا كان سيتم استخدام نموذج متدرب مسبقًا (bool) أو نموذج لتحميل الأوزان منه (str) |
| `optimizer` | `'auto'` | المحسن لاستخدامه، الخيارات=[SGD، Adam، Adamax، AdamW، NAdam، RAdam، RMSProp، Auto] |
| `verbose` | `False` | ما إذا كان سيتم طباعة مخرجات مفصلة |
| `seed` | `0` | البذرة العشوائية لإعادة الإنتاجية |
| `deterministic` | `True` | ما إذا كان يتم تمكين الوضع المحدد |
| `single_cls` | `False` | يجب تدريب بيانات متعددة الفئات كفئة واحدة |
| `rect` | `False` | تدريب مستطيل باستخدام تجميع الدُفعات للحد الأدنى من الحشو |
| `cos_lr` | `False` | استخدم جدولة معدل التعلم بتوقيت الكوسا |
| `close_mosaic` | `10` | (int) تعطيل التكبير التجانبي للحجم للحقب النهائية (0 للتعطيل) |
| `resume` | `False` | استأنف التدريب من النقطة الأخيرة |
| `amp` | `True` | تدريب دقة مختلطة تلقائية (AMP)، الخيارات=[True، False] |
| `fraction` | `1.0` | نسبة مجموعة البيانات المراد تدريبها (الافتراضي هو 1.0، جميع الصور في مجموعة التدريب) |
| `profile` | `False` | قم بتشغيل بروفايل السرعة لمشغلات ONNX و TensorRT أثناء التدريب للمسجلات |
| `freeze` | `None` | (int أو list، اختياري) تجميد أول n طبقة، أو قائمة طبقات الفهرس خلال التدريب |
| `lr0` | `0.01` | معدل التعلم الأولي (على سبيل المثال SGD=1E-2، Adam=1E-3) |
| `lrf` | `0.01` | معدل التعلم النهائي (lr0 * lrf) |
| `momentum` | `0.937` | الزخم SGD / Adam beta1 |
| `weight_decay` | `0.0005` | تقليل الأوزان للمحسن (5e-4) |
| `warmup_epochs` | `3.0` | حقب الاحماء (الأجزاء المئوية مقبولة) |
| `warmup_momentum` | `0.8` | الزخم الأولي للتدفق الأعلى |
| `warmup_bias_lr` | `0.1` | نسبة تعلم الانحياز الأولي للتدفق العلوي |
| `box` | `7.5` | وزن فاقد الصندوق |
| `cls` | `0.5` | وزن فاقد التصنيف (تناسب مع البكسل) |
| `dfl` | `1.5` | وزن الخسارة الأمامية للتصنيف والصندوق |
| `pose` | `12.0` | وزن فاقد الوضع (الوضع فقط) |
| `kobj` | `2.0` | وزن فاقد نقطة المفتاح (الوضع فقط) |
| `label_smoothing` | `0.0` | التسوية الغموض (كسر) |
| `nbs` | `64` | حجم الدُفعة الاسمي |
| `overlap_mask` | `True` | التحجيم يجب أن يتداخل أقنعة التدريب (التدريب الفصلي فقط) |
| `mask_ratio` | `4` | معدل تحجيم أقنعة (التدريب الفصلي فقط) |
| `dropout` | `0.0` | استخدام تنظيم الإسقاط (التدريب التطبيقي فقط) |
| `val` | `True` | التحقق/الاختبار خلال التدريب |
## تسجيل
عند تدريب نموذج YOLOv8، قد تجد أنه من المفيد تتبع أداء النموذج مع مرور الوقت. هنا يأتي دور تسجيل. يوفر Ultralytics' YOLO دعمًا لثلاثة أنواع من أجهزة السجل - Comet و ClearML و TensorBoard.
لاستخدام سجل، حدده من قائمة السحب أسفل الكود وقم بتشغيله. سيتم تثبيت السجل المختار وتهيئته.
### Comet
[Comet](../../integrations/comet.md) هو منصة تسمح لعلماء البيانات والمطورين بمتابعة ومقارنة وشرح وتحسين التجارب والنماذج. يوفر وظائف مثل المقاييس الزمنية في الوقت الحقيقي وفروقات الشفرة وتتبع المعلمات.
لاستخدام Comet:
!!! Example "أمثلة بايثون"
=== "بايثون"
```python
# pip install comet_ml
import comet_ml
comet_ml.init()
```
تذكر تسجيل الدخول إلى حسابك في Comet على موقعهم على الويب والحصول على مفتاح API الخاص بك. ستحتاج إلى إضافته إلى الإعدادات المتغيرة في البيئة الخاصة بك أو برنامج النص الخاص بك لتسجيل التجارب الخاصة بك.
### ClearML
[ClearML](https://www.clear.ml/) هي منصة مفتوحة المصدر تعمل على تتبع التجارب وتسهيل مشاركة الموارد بكفاءة. تم تصميمه لمساعدة الفرق في إدارة وتنفيذ وإعادة إنتاج عملهم في مجال تعلم الآلة بكفاءة أكبر.
لاستخدام ClearML:
!!! Example "أمثلة بايثون"
=== "بايثون"
```python
# pip install clearml
import clearml
clearml.browser_login()
```
بعد تشغيل هذا السكريبت، ستحتاج إلى تسجيل الدخول إلى حساب ClearML الخاص بك على المستعرض ومصادقة جلستك.
## TensorBoard
[TensorBoard](https://www.tensorflow.org/tensorboard) هي مجموعة أدوات لتصور TensorFlow ، تسمح لك بتصور نموذج TensorFlow الخاص بك ، ورسم المقاييس الكمية حول تنفيذ النموذج الخاص بك ، وعرض بيانات إضافية مثل الصور التي تمر عبرها.
للاستفادة من TensorBoard في [Google Colab](https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb):
!!! Example "أمثلة سطر الأوامر"
=== "سطر الأوامر"
```bash
load_ext tensorboard
tensorboard --logdir ultralytics/runs # استبدل بالدليل 'runs'
```
لاستخدام TensorBoard محليًا، قم بتشغيل الأمر أدناه واعرض النتائج على الرابط http://localhost:6006/.
!!! Example "أمثلة سطر الأوامر"
=== "سطر الأوامر"
```bash
tensorboard --logdir ultralytics/runs # استبدل بالدليل 'runs'
```
سيتم تحميل TensorBoard وتوجيهه إلى الدليل الذي يتم حفظ سجلات التدريب فيه.
بعد إعداد السجل الخاص بك، يمكنك الاستمرار في تدريب النموذج. سيتم سجل جميع مقاييس التدريب تلقائيًا في المنصة التي اخترتها، ويمكنك الوصول إلى هذه السجلات لمراقبة أداء النموذج الخاص بك مع مرور الوقت ومقارنة نماذج مختلفة وتحديد المجالات التي يمكن تحسينها.

@ -0,0 +1,86 @@
---
comments: true
description: دليل لاختبار نماذج YOLOv8 الصحيحة. تعرف على كيفية تقييم أداء نماذج YOLO الخاصة بك باستخدام إعدادات ومقاييس التحقق من الصحة مع أمثلة برمجية باللغة البايثون وواجهة سطر الأوامر.
keywords: Ultralytics, YOLO Docs, YOLOv8, التحقق من الصحة, تقييم النموذج, المعلمات الفرعية, الدقة, المقاييس, البايثون, واجهة سطر الأوامر
---
# التحقق من النماذج باستخدام Ultralytics YOLO
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="بيئة النظام البيئي والتكاملات لـ Ultralytics YOLO">
## مقدمة
يعتبر التحقق من النموذج خطوة حاسمة في خط أنابيب التعلم الآلي، حيث يتيح لك تقييم جودة النماذج المدربة. يوفر وضع الـ Val في Ultralytics YOLOv8 مجموعة أدوات ومقاييس قوية لتقييم أداء نماذج الكشف عن الكائنات الخاصة بك. يعمل هذا الدليل كمصدر كامل لفهم كيفية استخدام وضع الـ Val بشكل فعال لضمان أن نماذجك دقيقة وموثوقة.
## لماذا يوفر Ultralytics YOLO التحقق من الصحة
هنا هي الأسباب التي تجعل استخدام وضع الـ Val في YOLOv8 مفيدًا:
- **الدقة:** الحصول على مقاييس دقيقة مثل mAP50 و mAP75 و mAP50-95 لتقييم نموذجك بشكل شامل.
- **الراحة:** استخدم الميزات المدمجة التي تتذكر إعدادات التدريب، مما يبسط عملية التحقق من الصحة.
- **مرونة:** قم بالتحقق من النموذج باستخدام نفس المجموعات البيانات وأحجام الصور أو مجموعات بيانات وأحجام صور مختلفة.
- **ضبط المعلمات الفرعية:** استخدم المقاييس التحقق لضبط نموذجك لتحسين الأداء.
### الميزات الرئيسية لوضع الـ Val
هذه هي الوظائف المميزة التي يوفرها وضع الـ Val في YOLOv8:
- **الإعدادات التلقائية:** يتذكر النماذج إعدادات التدريب الخاصة بها للتحقق من الصحة بسهولة.
- **دعم متعدد المقاييس:** قيم نموذجك بناءً على مجموعة من مقاييس الدقة.
- **واجهة سطر الأوامر وواجهة برمجة Python:** اختر بين واجهة سطر الأوامر أو واجهة برمجة Python حسب تفضيلك للتحقق من الصحة.
- **توافق البيانات:** يعمل بسلاسة مع مجموعات البيانات المستخدمة خلال مرحلة التدريب بالإضافة إلى مجموعات البيانات المخصصة.
!!! Tip "نصيحة"
* تتذكر نماذج YOLOv8 إعدادات التدريب تلقائيًا، لذا يمكنك التحقق من النموذج بنفس حجم الصورة وعلى مجموعة البيانات الأصلية بسهولة باستخدام "yolo val model=yolov8n.pt" أو "model('yolov8n.pt').val()"
## أمثلة الاستخدام
تحقق من دقة النموذج المدرب YOLOv8n على مجموعة بيانات COCO128. لا يلزم تمرير أي وسيطة كوسيطة يتذكر الـ model التدريب والوسيطات كسمات النموذج. انظر الجدول أدناه للحصول على قائمة كاملة من وسيطات التصدير.
!!! Example "مثال"
=== "البايثون"
```python
from ultralytics import YOLO
# تحميل النموذج
model = YOLO('yolov8n.pt') # تحميل النموذج الرسمي
model = YOLO('path/to/best.pt') # تحميل نموذج مخصص
# التحقق من النموذج
metrics = model.val() # لا يلزم أي وسيطات، يتذكر التكوين والوسيطات
metrics.box.map # map50-95
metrics.box.map50 # map50
metrics.box.map75 # map75
metrics.box.maps # قائمة تحتوي على map50-95 لكل فئة
```
=== "واجهة سطر الأوامر"
```bash
yolo detect val model=yolov8n.pt # تجريب نموذج رسمي
yolo detect val model=path/to/best.pt # تجٌَرب نموذج مخصص
```
## الوسيطات
تشير إعدادات التحقق بالنسبة لنماذج YOLO إلى المعلمات الفرعية والتكوينات المختلفة المستخدمة لتقييم أداء النموذج على مجموعة بيانات التحقق. هذه الإعدادات يمكن أن تؤثر على أداء النموذج وسرعته ودقته. تشمل بعض إعدادات التحقق الشائعة في YOLO حجم الدفعة وتكرارات تنفيذ التحقق أثناء التدريب والمقاييس المستخدمة لتقييم أداء النموذج. العوامل الأخرى التي قد تؤثر على العملية الخاصة بالتحقق تشمل حجم وتركيب مجموعة البيانات التحقق والمهمة المحددة التي يتم استخدام النموذج فيها. من المهم ضبط هذه الإعدادات وتجربتها بعناية لضمان أداء جيد للنموذج على مجموعة بيانات التحقق وكشف ومنع الحالة التي يتم فيها ضبط الطراز بشكل جيد.
| مفتاح | القيمة | الوصف |
|---------------|---------|------------------------------------------------------------------------------------|
| `data` | `None` | مسار إلى ملف البيانات، على سبيل المثال coco128.yaml |
| `imgsz` | `640` | حجم الصور الداخلية باعتبارها عدد صحيح |
| `batch` | `16` | عدد الصور لكل دفعة (-1 للدفع الآلي) |
| `save_json` | `False` | حفظ النتائج في ملف JSON |
| `save_hybrid` | `False` | حفظ النسخة المختلطة للتسميات (التسميات + التنبؤات الإضافية) |
| `conf` | `0.001` | حد الثقة في كشف الكائن |
| `iou` | `0.6` | حد تداخل على المتحدة (IoU) لعملية الجمع والطرح |
| `max_det` | `300` | العدد الأقصى من الكشفات لكل صورة |
| `half` | `True` | استخدم التنصت نصف الدقة (FP16) |
| `device` | `None` | الجهاز الذي يتم تشغيله عليه، على سبيل المثال جهاز Cuda=0/1/2/3 أو جهاز=معالج (CPU) |
| `dnn` | `False` | استخدم OpenCV DNN لعملية التنصت الأمثل |
| `plots` | `False` | إظهار الرسوم البيانية أثناء التدريب |
| `rect` | `False` | تحقق صيغة *rectangular* مع تجميع كل دفعة للحصول على الحد الأدنى من التعبئة |
| `split` | `val` | اختر تقسيم البيانات للتحقق من الصحة، على سبيل المثال "val"، "test" أو "train" |
|

@ -0,0 +1,326 @@
---
comments: true
description: استكشف أساليب مختلفة لتثبيت Ultralytics باستخدام pip و conda و git و Docker. تعرّف على كيفية استخدام Ultralytics مع واجهة سطر الأوامر أو ضمن مشاريع Python الخاصة بك.
keywords: تثبيت Ultralytics, pip install Ultralytics, Docker install Ultralytics, Ultralytics command line interface, Ultralytics Python interface
---
## تثبيت Ultralytics
يوفر Ultralytics طرق تثبيت مختلفة بما في ذلك pip و conda و Docker. يمكنك تثبيت YOLOv8 عن طريق حزمة `ultralytics` من خلال pip للإصدار الأحدث والمستقر أو من خلال استنساخ [مستودع Ultralytics على GitHub](https://github.com/ultralytics/ultralytics) للحصول على الإصدار الأحدث. يمكن استخدام Docker لتنفيذ الحزمة في حاوية معزولة، وتجنب التثبيت المحلي.
!!! Note
🚧 تم بناء وثائقنا متعددة اللغات حاليًا، ونعمل بجد لتحسينها. شكرًا لك على صبرك! 🙏
!!! Example "تثبيت"
=== "تثبيت باستخدام pip (الموصَى به)"
قم بتثبيت حزمة `ultralytics` باستخدام pip، أو قم بتحديث التثبيت الحالي عن طريق تشغيل `pip install -U ultralytics`. قم بزيارة مؤشر Python Package Index (PyPI) للحصول على مزيد من التفاصيل حول حزمة `ultralytics`: [https://pypi.org/project/ultralytics/](https://pypi.org/project/ultralytics/).
[![نسخة PyPI](https://badge.fury.io/py/ultralytics.svg)](https://badge.fury.io/py/ultralytics) [![التنزيلات](https://static.pepy.tech/badge/ultralytics)](https://pepy.tech/project/ultralytics)
```bash
# قم بتثبيت حزمة ultralytics من PyPI
pip install ultralytics
```
يمكنك أيضًا تثبيت حزمة `ultralytics` مباشرة من مستودع GitHub [repository](https://github.com/ultralytics/ultralytics). قد يكون ذلك مفيدًا إذا كنت ترغب في الحصول على الإصدار التجريبي الأحدث. تأكد من تثبيت أداة الأوامر Git على نظامك. يُثبّت الأمر `@main` الفرع `main` ويمكن تعديله إلى فرع آخر، على سبيل المثال `@my-branch`، أو يمكن إزالته تمامًا للانتقال إلى الفرع الرئيسي `main`.
```bash
# قم بتثبيت حزمة ultralytics من GitHub
pip install git+https://github.com/ultralytics/ultralytics.git@main
```
=== "تثبيت باستخدام conda"
Conda هو مدير حزم بديل لـ pip ويمكن استخدامه أيضًا للتثبيت. قم بزيارة Anaconda للحصول على مزيد من التفاصيل على [https://anaconda.org/conda-forge/ultralytics](https://anaconda.org/conda-forge/ultralytics). يمكن العثور على مستودع Ultralytics feedstock لتحديث حزمة conda على [https://github.com/conda-forge/ultralytics-feedstock/](https://github.com/conda-forge/ultralytics-feedstock/).
[![وصفة conda](https://img.shields.io/badge/recipe-ultralytics-green.svg)](https://anaconda.org/conda-forge/ultralytics) [![تنزيلات conda](https://img.shields.io/conda/dn/conda-forge/ultralytics.svg)](https://anaconda.org/conda-forge/ultralytics) [![إصدار conda](https://img.shields.io/conda/vn/conda-forge/ultralytics.svg)](https://anaconda.org/conda-forge/ultralytics) [![منصات conda](https://img.shields.io/conda/pn/conda-forge/ultralytics.svg)](https://anaconda.org/conda-forge/ultralytics)
```bash
# قم بتثبيت حزمة ultralytics باستخدام conda
conda install -c conda-forge ultralytics
```
!!! Note
إذا كنت تقوم بالتثبيت في بيئة CUDA، فإن الممارسة الجيدة هي تثبيت `ultralytics`, `pytorch` و `pytorch-cuda` في نفس الأمر للسماح لمدير حزم conda بحل أي تعارضات، أو وإلا فقوم بتثبيت `pytorch-cuda` في نهاية الأمر للسماح له بتجاوز حزمة `pytorch` المحددة لوحدة المعالجة المركزية إذا لزم الأمر.
```bash
# قم بتثبيت كافة الحزم معًا باستخدام conda
conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics
```
### صورة Docker في Conda
تتوفر أيضًا صور Docker لـ Conda لـ Ultralytics من [DockerHub](https://hub.docker.com/r/ultralytics/ultralytics). تستند هذه الصور إلى [Miniconda3](https://docs.conda.io/projects/miniconda/en/latest/) وهي وسيلة بسيطة لبدء استخدام `ultralytics` في بيئة Conda.
```bash
# قم بتعيين اسم الصورة بوصفه متغير
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
```
=== "استنساخ Git"
قم بنسخ مستودع `ultralytics` إذا كنت مهتمًا بالمساهمة في التطوير أو ترغب في تجربة الشفرة المصدرية الأحدث. بعد الاستنساخ، انتقل إلى الدليل وقم بتثبيت الحزمة في وضع التحرير `-e` باستخدام pip.
```bash
# قم بنسخ مستودع ultralytics
git clone https://github.com/ultralytics/ultralytics
# انتقل إلى الدليل المنسوخ
cd ultralytics
# قم بتثبيت الحزمة في وضع التحرير
pip install -e .
```
=== "Docker"
تمكنك من استخدام Docker بسهولة لتنفيذ حزمة `ultralytics` في حاوية معزولة، مما يضمن أداءً سلسًا ومتسقًا في مختلف البيئات. عن طريق اختيار إحدى صور Docker الأصلية لـ `ultralytics` من [Docker Hub](https://hub.docker.com/r/ultralytics/ultralytics)، لن تتجنب فقط تعقيد التثبيت المحلي ولكنك ستستفيد أيضًا من وصول إلى بيئة عمل متحققة وفعالة. يقدم Ultralytics 5 صور Docker مدعومة رئيسية، يتم تصميم كل منها لتوفير توافق عالي وكفاءة لمنصات وحالات استخدام مختلفة:
<a href="https://hub.docker.com/r/ultralytics/ultralytics"><img src="https://img.shields.io/docker/pulls/ultralytics/ultralytics?logo=docker" alt="Docker Pulls"></a>
- **Dockerfile:** صورة GPU الموصى بها للتدريب.
- **Dockerfile-arm64:** محسّن لبنية ARM64، مما يتيح النشر على أجهزة مثل Raspberry Pi ومنصات أخرى تعتمد على ARM64.
- **Dockerfile-cpu:** إصدار مناسب للتحكم بوحدة المعالجة المركزية فقط بدون دعم لل GPU.
- **Dockerfile-jetson:** مصمم خصيصًا لأجهزة NVIDIA Jetson، ويدمج دعمًا لل GPU المحسن لهذه المنصات.
- **Dockerfile-python:** صورة صغيرة بها فقط Python والتبعيات الضرورية، مثالية للتطبيقات والتطوير الخفيف.
- **Dockerfile-conda:** قائمة على Miniconda3 مع تثبيت conda لحزمة ultralytics.
فيما يلي الأوامر للحصول على أحدث صورة وتشغيلها:
```bash
# قم بتعيين اسم الصورة بوصفه متغير
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 لتوصيل دليل محلي بالحاوية:
```bash
# مجلد الدليل المحلي بالحاوية
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](https://docs.ultralytics.com/guides/docker-quickstart/).
راجع ملف `requirements.txt` الخاص بـ `ultralytics` [هنا](https://github.com/ultralytics/ultralytics/blob/main/requirements.txt) للحصول على قائمة المتطلبات. يُرجى ملاحظة أن جميع الأمثلة أعلاه يتم تثبيت جميع المتطلبات المطلوبة.
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/_a7cVL9hqnk"
title="YouTube player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>شاهد:</strong> دليل فتع Ultralytics YOLO السريع
</p>
!!! Tip "نصيحة"
يختلف متطلبات PyTorch حسب نظام التشغيل ومتطلبات CUDA، لذا يُوصَى بتثبيت PyTorch أولاً باستخدام التعليمات الموجودة في [https://pytorch.org/get-started/locally](https://pytorch.org/get-started/locally).
<a href="https://pytorch.org/get-started/locally/">
<img width="800" alt="PyTorch تعليمات التثبيت" src="https://user-images.githubusercontent.com/26833433/228650108-ab0ec98a-b328-4f40-a40d-95355e8a84e3.png">
</a>
## استخدم Ultralytics مع واجهة سطر الأوامر (CLI)
تتيح واجهة سطر الأوامر (CLI) في Ultralytics تشغيل أوامر بسيطة بدون الحاجة إلى بيئة Python. لا تحتاج CLI إلى أي تخصيص أو كود Python. يمكنك ببساطة تشغيل جميع المهام من الطرفية باستخدام الأمر `yolo`. تحقق من [دليل CLI](../../usage/cli.md) لمعرفة المزيد حول استخدام YOLOv8 من سطر الأوامر.
!!! Example
=== "الصيغة"
تستخدم أوامر Ultralytics `yolo` الصيغة التالية:
```bash
yolo TASK MODE ARGS
```
- `TASK` (اختياري) أحد التالي ([detect](tasks/detect.md), [segment](tasks/segment.md), [classify](tasks/classify.md), [pose](tasks/pose.md))
- `MODE` (مطلوب) واحد من ([train](modes/train.md), [val](modes/val.md), [predict](modes/predict.md), [export](modes/export.md), [track](modes/track.md))
- `ARGS` (اختياري) أزواج "arg=value" مثل `imgsz=640` التي تستبدل القيم الافتراضية.
راجع جميع `ARGS` [هنا](../usage/cfg.md) أو باستخدام الأمر `yolo cfg` في سطر الأوامر.
=== "التدريب"
قم بتدريب نموذج اكتشاف لمدة 10 حلقات مع سعر تعلم بدءي 0.01
```bash
yolo train data=coco128.yaml model=yolov8n.pt epochs=10 lr0=0.01
```
=== "التنبؤ"
تنبؤ بفيديو YouTube باستخدام نموذج تجزئة معتمد مسبقًا عند حجم الصورة 320:
```bash
yolo predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320
```
=== "التحقق"
التحقق من نموذج اكتشاف معتمد مسبقًا على دُفعَة واحدة وحجم صورة قدره 640:
```bash
yolo val model=yolov8n.pt data=coco128.yaml batch=1 imgsz=640
```
=== "التصدير"
قم بتصدير نموذج فئة YOLOv8n إلى تنسيق ONNX على حجم صورة 224 بواسطة 128 (لا يلزم TASK)
```bash
yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128
```
=== "خاص"
قم بتشغيل أوامر خاصة لعرض الإصدارة وعرض الإعدادات وتشغيل عمليات التحقق والمزيد:
```bash
yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg
```
!!! Warning "تحذير"
يجب تمرير الوسوم كأزواج "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` ❌ (لا تستخدم `--`)
[دليل CLI](../usage/cli.md){ .md-button .md-button--primary}
## استخدم Ultralytics مع Python
تسمح واجهة Python في YOLOv8 بالتكامل السلس في مشاريع Python الخاصة بك، مما يجعل من السهل تحميل النموذج وتشغيله ومعالجة نتائجه. المصممة ببساطة وسهولة الاستخدام في الاعتبار، تمكن واجهة Python المستخدمين من تنفيذ الكشف على الكائنات والتجزئة والتصنيف في مشاريعهم. يجعل هذا واجهة YOLOv8 Python أداة قيمة لأي شخص يرغب في دمج هذه الوظائف في مشاريعهم باسياتو.
على سبيل المثال، يمكن للمستخدمين تحميل نموذج، تدريبه، تقييم أدائه على مجموعة التحقق، وحتى تصديره إلى تنسيق ONNX ببضعة أسطر فقط من الشفرة. تحقق من [دليل Python](../usage/python.md) لمعرفة المزيد حول استخدام YOLOv8 داخل مشاريعك الخاصة.
!!! Example
```python
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')
```
[دليل Python](../usage/python.md){.md-button .md-button--primary}
## إعدادات Ultralytics
يوفر مكتبة Ultralytics نظامًا قويًا لإدارة الإعدادات لتمكين التحكم بمحاكاة تفصيلية لتجاربك. من خلال استخدام `SettingsManager` في الوحدة `ultralytics.utils`، يمكن للمستخدمين الوصول بسهولة إلى إعداداتهم وتعديلها. يتم تخزينها في ملف YAML ويمكن عرضها أو تعديلها إما مباشرة في بيئة Python أو من خلال واجهة سطر الأوامر (CLI).
### فحص الإعدادات
للحصول على فهم للتكوين الحالي لإعداداتك، يمكنك عرضها مباشرةً:
!!! Example "عرض الإعدادات"
=== "Python"
يُمكنك استخدام Python لعرض الإعدادات الخاصة بك. ابدأ بـاستيراد الكائن `settings` من وحدة `ultralytics`. استخدم الأوامر التالية لطباعة الإعدادات والعودة منها:
```python
from ultralytics import settings
# عرض كل الإعدادات
print(settings)
# إرجاع إعداد محدد
value = settings['runs_dir']
```
=== "CLI"
بدلاً من ذلك، واجهة سطر الأوامر تسمح لك بالتحقق من الإعدادات الخاصة بك باستخدام أمر بسيط:
```bash
yolo settings
```
### تعديل الإعدادات
يسمح لك Ultralytics بتعديل الإعدادات بسهولة. يمكن تنفيذ التغييرات بالطرق التالية:
!!! Example "تحديث الإعدادات"
=== "Python"
داخل بيئة Python، اطلب الطريقة `update` على الكائن `settings` لتغيير إعداداتك:
```python
from ultralytics import settings
# تحديث إعداد واحد
settings.update({'runs_dir': '/path/to/runs'})
# تحديث إعدادات متعددة
settings.update({'runs_dir': '/path/to/runs', 'tensorboard': False})
# إعادة الإعدادات إلى القيم الافتراضية
settings.reset()
```
=== "CLI"
إذا كنت تفضل استخدام واجهة سطر الأوامر، يمكنك استخدام الأوامر التالية لتعديل إعداداتك:
```bash
# تحديث إعداد واحد
yolo settings runs_dir='/path/to/runs'
# تحديث إعدادات متعددة
yolo settings runs_dir='/path/to/runs' tensorboard=False
# إعادة الإعدادات إلى القيم الافتراضية
yolo settings reset
```
### فهم الإعدادات
يوفر الجدول أدناه نظرة عامة على الإعدادات المتاحة للضبط في Ultralytics. يتم توضيح كل إعداد بالإضافة إلى قيمة مثالية ونوع البيانات ووصف موجز.
| الاسم | القيمة المثالية | نوع البيانات | الوصف |
|--------------------|-----------------------|--------------|-------------------------------------------------------------------------------------------------------------|
| `settings_version` | `'0.0.4'` | `str` | إصدار إعدادات Ultralytics (مختلف عن إصدار Ultralytics [pip](https://pypi.org/project/ultralytics/)) |
| `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](https://hub.ultralytics.com/settings?tab=api+keys) |
| `clearml` | `True` | `bool` | ما إذا كان يتم استخدام ClearML لتسجيل التجارب |
| `comet` | `True` | `bool` | ما إذا كان يتم استخدام [Comet ML](https://bit.ly/yolov8-readme-comet) لتتبع وتصور التجارب |
| `dvc` | `True` | `bool` | ما إذا كان يتم استخدام [DVC لتتبع التجارب](https://dvc.org/doc/dvclive/ml-frameworks/yolo) والتحكم في النسخ |
| `hub` | `True` | `bool` | ما إذا كان يتم استخدام [Ultralytics HUB](https://hub.ultralytics.com) للتكامل |
| `mlflow` | `True` | `bool` | ما إذا كان يتم استخدام MLFlow لتتبع التجارب |
| `neptune` | `True` | `bool` | ما إذا كان يتم استخدام Neptune لتتبع التجارب |
| `raytune` | `True` | `bool` | ما إذا كان يتم استخدام Ray Tune لضبط الحساسية |
| `tensorboard` | `True` | `bool` | ما إذا كان يتم استخدام TensorBoard للتصور |
| `wandb` | `True` | `bool` | ما إذا كان يتم استخدام Weights & Biases لتسجيل البيانات |
أثناء تنقلك في مشاريعك أو تجاربك، تأكد من مراجعة هذه الإعدادات لضمان تكوينها بشكل مثالي وفقًا لاحتياجاتك.

@ -0,0 +1,172 @@
---
comments: true
description: تعرّف على نماذج YOLOv8 Classify لتصنيف الصور. احصل على معلومات مفصلة حول قائمة النماذج المدرّبة مسبقًا وكيفية التدريب والتحقق والتنبؤ وتصدير النماذج.
keywords: Ultralytics، YOLOv8، تصنيف الصور، النماذج المدربة مسبقًا، YOLOv8n-cls، التدريب، التحقق، التنبؤ، تصدير النماذج
---
# تصنيف الصور
<img width="1024" src="https://user-images.githubusercontent.com/26833433/243418606-adf35c62-2e11-405d-84c6-b84e7d013804.png" alt="أمثلة على تصنيف الصور">
تعتبر عملية تصنيف الصور أبسط المهام الثلاثة وتنطوي على تصنيف صورة كاملة في إحدى الفئات المحددة سابقًا.
ناتج نموذج تصنيف الصور هو تسمية فئة واحدة ودرجة ثقة. يكون تصنيف الصور مفيدًا عندما تحتاج فقط إلى معرفة فئة الصورة ولا تحتاج إلى معرفة موقع الكائنات التابعة لتلك الفئة أو شكلها الدقيق.
!!! Tip "نصيحة"
تستخدم نماذج YOLOv8 Classify اللاحقة "-cls"، مثالًا "yolov8n-cls.pt" وتم تدريبها على [ImageNet](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/ImageNet.yaml).
## [النماذج](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models/v8)
تظهر هنا النماذج المدرّبة مسبقًا لـ YOLOv8 للتصنيف. تم تدريب نماذج الكشف والشعبة والموضع على مجموعة البيانات [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml)، بينما تم تدريب نماذج التصنيف مسبقًا على مجموعة البيانات [ImageNet](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/ImageNet.yaml).
يتم تنزيل [النماذج](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models) تلقائيًا من أحدث إصدار لـ Ultralytics [releases](https://github.com/ultralytics/assets/releases) عند الاستخدام الأول.
| النموذج | الحجم<br><sup>(بكسل) | دقة (أعلى 1)<br><sup>acc | دقة (أعلى 5)<br><sup>acc | سرعة التنفيذ<br><sup>ONNX للوحدة المركزية<br>(مللي ثانية) | سرعة التنفيذ<br><sup>A100 TensorRT<br>(مللي ثانية) | المعلمات<br><sup>(مليون) | FLOPs<br><sup>(مليار) لحجم 640 |
|----------------------------------------------------------------------------------------------|----------------------|--------------------------|--------------------------|-----------------------------------------------------------|----------------------------------------------------|--------------------------|--------------------------------|
| [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224 | 66.6 | 87.0 | 12.9 | 0.31 | 2.7 | 4.3 |
| [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224 | 72.3 | 91.1 | 23.4 | 0.35 | 6.4 | 13.5 |
| [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224 | 76.4 | 93.2 | 85.4 | 0.62 | 17.0 | 42.7 |
| [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224 | 78.0 | 94.1 | 163.0 | 0.87 | 37.5 | 99.7 |
| [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224 | 78.4 | 94.3 | 232.0 | 1.01 | 57.4 | 154.8 |
- قيمة **acc** هي دقة النماذج على مجموعة بيانات التحقق [ImageNet](https://www.image-net.org/).
<br>لإعادة إنتاج ذلك، استخدم `yolo val classify data=path/to/ImageNet device=0`
- يتم حساب سرعة **Speed** بناءً على متوسط صور التحقق من ImageNet باستخدام [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/).
<br>لإعادة إنتاج ذلك، استخدم `yolo val classify data=path/to/ImageNet batch=1 device=0|cpu`
## التدريب
قم بتدريب YOLOv8n-cls على مجموعة بيانات MNIST160 لمدة 100 دورة عند حجم الصورة 64 بكسل. للحصول على قائمة كاملة بالوسائط المتاحة، اطلع على صفحة [تكوين](../../usage/cfg.md).
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# تحميل نموذج
model = YOLO('yolov8n-cls.yaml') # إنشاء نموذج جديد من نموذج YAML
model = YOLO('yolov8n-cls.pt') # تحميل نموذج مدرّب مسبقًا (موصى به للتدريب)
model = YOLO('yolov8n-cls.yaml').load('yolov8n-cls.pt') # إنشاء من YAML ونقل الأوزان
# تدريب النموذج
results = model.train(data='mnist160', epochs=100, imgsz=64)
```
=== "CLI"
```bash
# إنشاء نموذج جديد من YAML وبدء التدريب من البداية
yolo classify train data=mnist160 model=yolov8n-cls.yaml epochs=100 imgsz=64
# بدء التدريب من نموذج مدرّب بصيغة pt
yolo classify train data=mnist160 model=yolov8n-cls.pt epochs=100 imgsz=64
# إنشاء نموذج جديد من YAML ونقل الأوزان المدرّبة مسبقًا وبدء التدريب
yolo classify train data=mnist160 model=yolov8n-cls.yaml pretrained=yolov8n-cls.pt epochs=100 imgsz=64
```
### تنسيق مجموعة البيانات
يمكن العثور على تنسيق مجموعة بيانات تصنيف YOLO بالتفصيل في [مرشد المجموعة](../../datasets/classify/index.md).
## التحقق
قم بتحديد دقة النموذج YOLOv8n-cls المدرّب على مجموعة بيانات MNIST160. لا يلزم تمرير أي وسيطة حيث يحتفظ `model` ببيانات التدريب والوسائط كسمات النموذج.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# تحميل نموذج
model = YOLO('yolov8n-cls.pt') # تحميل نموذج رسمي
model = YOLO('path/to/best.pt') # تحميل نموذج مخصص
# التحقق من النموذج
metrics = model.val() # لا تحتاج إلى وسائط، يتم تذكر مجموعة البيانات والإعدادات النموذج
metrics.top1 # دقة أعلى 1
metrics.top5 # دقة أعلى 5
```
=== "CLI"
```bash
yolo classify val model=yolov8n-cls.pt # تحقق من النموذج الرسمي
yolo classify val model=path/to/best.pt # تحقق من النموذج المخصص
```
## التنبؤ
استخدم نموذج YOLOv8n-cls المدرّب لتنفيذ تنبؤات على الصور.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# تحميل نموذج
model = YOLO('yolov8n-cls.pt') # تحميل نموذج رسمي
model = YOLO('path/to/best.pt') # تحميل نموذج مخصص
# تنبؤ باستخدام النموذج
results = model('https://ultralytics.com/images/bus.jpg') # تنبؤ على صورة
```
=== "CLI"
```bash
yolo classify predict model=yolov8n-cls.pt source='https://ultralytics.com/images/bus.jpg' # تنبؤ باستخدام النموذج الرسمي
yolo classify predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # تنبؤ باستخدام النموذج المخصص
```
راجع تفاصيل كاملة حول وضع `predict` في الصفحة [Predict](https://docs.ultralytics.com/modes/predict/).
## تصدير
قم بتصدير نموذج YOLOv8n-cls إلى تنسيق مختلف مثل ONNX، CoreML، وما إلى ذلك.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# تحميل نموذج
model = YOLO('yolov8n-cls.pt') # تحميل نموذج رسمي
model = YOLO('path/to/best.pt') # تحميل نموذج مدرّب مخصص
# تصدير النموذج
model.export(format='onnx')
```
=== "CLI"
```bash
yolo export model=yolov8n-cls.pt format=onnx # تصدير النموذج الرسمي
yolo export model=path/to/best.pt format=onnx # تصدير نموذج مدرّب مخصص
```
تتوفر صيغ تصدير YOLOv8-cls في الجدول أدناه. يمكنك تنبؤ أو التحقق من الصحة مباشرةً على النماذج المصدر، أي "yolo predict model=yolov8n-cls.onnx". يتم عرض أمثلة لاستخدام النموذج الخاص بك بعد الانتهاء من التصدير.
| الصيغة | وسيطة الصيغة | النموذج | البيانات الوصفية | الوسيطات |
|--------------------------------------------------------------------|---------------|-------------------------------|------------------|-----------------------------------------------------|
| [PyTorch](https://pytorch.org/) | - | `yolov8n-cls.pt` | ✅ | - |
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov8n-cls.torchscript` | ✅ | `imgsz`, `optimize` |
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n-cls.onnx` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `opset` |
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n-cls_openvino_model/` | ✅ | `imgsz`, `half` |
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n-cls.engine` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `workspace` |
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n-cls.mlpackage` | ✅ | `imgsz`, `half`, `int8`, `nms` |
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n-cls_saved_model/` | ✅ | `imgsz`, `keras` |
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n-cls.pb` | ❌ | `imgsz` |
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n-cls.tflite` | ✅ | `imgsz`, `half`, `int8` |
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n-cls_edgetpu.tflite` | ✅ | `imgsz` |
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n-cls_web_model/` | ✅ | `imgsz` |
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n-cls_paddle_model/` | ✅ | `imgsz` |
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n-cls_ncnn_model/` | ✅ | `imgsz`, `half` |
راجع التفاصيل الكاملة حول `export` في الصفحة [Export](https://docs.ultralytics.com/modes/export/).

@ -0,0 +1,185 @@
---
comments: true
description: وثائق رسمية لـ YOLOv8 بواسطة Ultralytics. تعلم كيفية تدريب و التحقق من صحة و التنبؤ و تصدير النماذج بتنسيقات مختلفة. تتضمن إحصائيات الأداء التفصيلية.
keywords: YOLOv8, Ultralytics, التعرف على الكائنات, النماذج المدربة من قبل, التدريب, التحقق من الصحة, التنبؤ, تصدير النماذج, COCO, ImageNet, PyTorch, ONNX, CoreML
---
# التعرف على الكائنات
<img width="1024" src="https://user-images.githubusercontent.com/26833433/243418624-5785cb93-74c9-4541-9179-d5c6782d491a.png" alt="Beispiele für die Erkennung von Objekten">
Task التعرف على الكائنات هو عبارة عن تعرف على موقع و فئة الكائنات في صورة أو فيديو.
مخرجات جهاز الاستشعار هي مجموعة من مربعات تحيط بالكائنات في الصورة، مع تصنيف الفئة ودرجات وثقة لكل مربع. التعرف على الكائنات هو اختيار جيد عندما تحتاج إلى تحديد كائنات مهمة في مشهد، ولكنك لا تحتاج إلى معرفة بالضبط أين يكمن الكائن أو شكله الدقيق.
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/5ku7npMrW40?si=6HQO1dDXunV8gekh"
title="مشغل فيديو YouTube" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>شاهد:</strong> التعرف على الكائنات باستخدام نموذج Ultralytics YOLOv8 مع تدريب مسبق.
</p>
!!! Tip "تلميح"
نماذج YOLOv8 Detect هي النماذج الافتراضية YOLOv8، أي `yolov8n.pt` و هي مدربة مسبقًا على [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml).
## [النماذج](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models/v8)
تُعرض هنا النماذج المدربة مسبقًا لـ YOLOv8 Detect. النماذج Detect و Segment و Pose معتمدة على مجموعة البيانات [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml)، بينما النماذج Classify معتمدة على مجموعة البيانات [ImageNet](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/ImageNet.yaml).
تُقوم النماذج بالتنزيل تلقائيًا من أحدث [إصدار Ultralytics](https://github.com/ultralytics/assets/releases) عند الاستخدام لأول مرة.
| النموذج | الحجم<br><sup>(بكسل) | mAP<sup>val<br>50-95 | السرعة<br><sup>CPU ONNX<br>(مللي ثانية) | السرعة<br><sup>A100 TensorRT<br>(مللي ثانية) | الوزن<br><sup>(ميغا) | FLOPs<br><sup>(مليار) |
|--------------------------------------------------------------------------------------|----------------------|----------------------|-----------------------------------------|----------------------------------------------|----------------------|-----------------------|
| [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 |
| [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt) | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 |
| [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt) | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 |
| [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt) | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 |
| [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt) | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 |
- قيم mAP<sup>val</sup> تنطبق على مقياس نموذج واحد-مقياس واحد على مجموعة بيانات [COCO val2017](http://cocodataset.org).
<br>اعيد حسابها بواسطة `yolo val detect data=coco.yaml device=0`
- السرعةتمت متوسطة على صور COCO val باستخدام [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/)
instance.
<br>اعيد حسابها بواسطة `yolo val detect data=coco128.yaml batch=1 device=0|cpu`
## تدريب
قم بتدريب YOLOv8n على مجموعة البيانات COCO128 لمدة 100 دورة على حجم صورة 640. للحصول على قائمة كاملة بالوسائط المتاحة انظر الصفحة [التكوين](../../usage/cfg.md).
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتحميل نموذج
model = YOLO('yolov8n.yaml') # بناء نموذج جديد من YAML
model = YOLO('yolov8n.pt') # قم بتحميل نموذج مدرب مسبقًا (موصى به للتدريب)
model = YOLO('yolov8n.yaml').load('yolov8n.pt') # بناء من YAML و نقل الأوزان
# قم بتدريب النموذج
results = model.train(data='coco128.yaml', epochs=100, imgsz=640)
```
=== "CLI"
```bash
# قم ببناء نموذج جديد من YAML وابدأ التدريب من الصفر
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640
# ابدأ التدريب من نموذج *.pt مدرب مسبقًا
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640
# بناء نموذج جديد من YAML، ونقل الأوزان المدربة مسبقاً إلى النموذج وابدأ التدريب
yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640
```
### تنسيق مجموعة بيانات
يمكن العثور على تنسيق مجموعة بيانات التعرف على الكائنات بالتفصيل في [دليل مجموعة البيانات](../../datasets/detect/index.md). لتحويل مجموعة البيانات الحالية من تنسيقات أخرى (مثل COCO الخ) إلى تنسيق YOLO، يرجى استخدام أداة [JSON2YOLO](https://github.com/ultralytics/JSON2YOLO) المقدمة من Ultralytics.
## التحقق من الصحة
قم بتحقق من دقة النموذج المدرب مسبقًا YOLOv8n على مجموعة البيانات COCO128. ليس هناك حاجة إلى تمرير أي وسيطات حيث يحتفظ النموذج ببياناته التدريبية والوسيطات كسمات النموذج.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتحميل نموذج
model = YOLO('yolov8n.pt') # تحميل نموذج رسمي
model = YOLO('path/to/best.pt') # تحميل نموذج مخصص
# قم بالتحقق من النموذج
metrics = model.val() # لا حاجة لأي بيانات، يتذكر النموذج بيانات التدريب و الوسيطات
metrics.box.map # map50-95
metrics.box.map50 # map50
metrics.box.map75 # map75
metrics.box.maps # قائمة تحتوي map50-95 لكل فئة
```
=== "CLI"
```bash
yolo detect val model=yolov8n.pt # التحقق من النموذج الرسمي
yolo detect val model=path/to/best.pt # التحقق من النموذج المخصص
```
## التنبؤ
استخدم نموذج YOLOv8n المدرب مسبقًا لتشغيل التنبؤات على الصور.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتحميل نموذج
model = YOLO('yolov8n.pt') # قم بتحميل نموذج رسمي
model = YOLO('path/to/best.pt') # قم بتحميل نموذج مخصص
# أجرِ التنبؤ باستخدام النموذج
results = model('https://ultralytics.com/images/bus.jpg') # التنبؤ على صورة
```
=== "CLI"
```bash
yolo detect predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg' # التنبؤ باستخدام النموذج الرسمي
yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # التنبؤ بالنموذج المخصص
```
انظر تفاصيل وضع الـ `predict` الكامل في صفحة [Predict](https://docs.ultralytics.com/modes/predict/).
## تصدير
قم بتصدير نموذج YOLOv8n إلى تنسيق مختلف مثل ONNX، CoreML وغيرها.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتحميل نموذج
model = YOLO('yolov8n.pt') # تحميل نموذج رسمي
model = YOLO('path/to/best.pt') # تحميل نموذج مدرب مخصص
# قم بتصدير النموذج
model.export(format='onnx')
```
=== "CLI"
```bash
yolo export model=yolov8n.pt format=onnx # تصدير النموذج الرسمي
yolo export model=path/to/best.pt format=onnx # تصدير النموذج المدرب مخصص
```
التنسيقات المدعومة لتصدير YOLOv8 مدرجة في الجدول أدناه. يمكنك التنبؤ أو التحقق من صحة النماذج المصدرة مباشرة، على سبيل المثال `yolo predict model=yolov8n.onnx`. سيتم عرض أمثلة استخدام لنموذجك بعد اكتمال التصدير.
| الشكل | مسافة `format` | النموذج | بيانات الوصف | وسيطات |
|--------------------------------------------------------------------|----------------|---------------------------|--------------|-----------------------------------------------------|
| [PyTorch](https://pytorch.org/) | - أو | `yolov8n.pt` | ✅ | - |
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov8n.torchscript` | ✅ | `imgsz`, `optimize` |
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n.onnx` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `opset` |
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n_openvino_model/` | ✅ | `imgsz`, `half`, `int8` |
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n.engine` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `workspace` |
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n.mlpackage` | ✅ | `imgsz`, `half`, `int8`, `nms` |
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n_saved_model/` | ✅ | `imgsz`, `keras`, `int8` |
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n.pb` | ❌ | `imgsz` |
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n.tflite` | ✅ | `imgsz`, `half`, `int8` |
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n_edgetpu.tflite` | ✅ | `imgsz` |
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n_web_model/` | ✅ | `imgsz` |
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n_paddle_model/` | ✅ | `imgsz` |
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n_ncnn_model/` | ✅ | `imgsz`, `half` |
انظر تفاصيل كاملة للـ `export` في صفحة [Export](https://docs.ultralytics.com/modes/export/).

@ -0,0 +1,55 @@
---
comments: true
description: تعرّف على المهام الأساسية لتقنية YOLOv8 للرؤية الحاسوبية والتي تشمل الكشف، التجزئة، التصنيف وتقدير الوضعية. تعرف على استخداماتها في مشاريع الذكاء الاصطناعي الخاصة بك.
keywords: Ultralytics، YOLOv8، الكشف، التجزئة، التصنيف، تقدير الوضعية، الإطار الذكي للذكاء الاصطناعي، المهام الرؤية الحاسوبية
---
# مهام Ultralytics YOLOv8
<br>
<img width="1024" src="https://raw.githubusercontent.com/ultralytics/assets/main/im/banner-tasks.png" alt="مهام Ultralytics YOLOv8 المدعومة">
YOLOv8 هو إطار ذكاء اصطناعي يدعم عدة **مهام** للرؤية الحاسوبية. يمكن استخدام الإطار لأداء [الكشف](detect.md)، [التجزئة](segment.md)، [التصنيف](classify.md)، و[تقدير الوضعية](pose.md). كل من هذه المهام لها هدف مختلف واستخدام محدد.
!!! Note
🚧 يجري بناء وثائقنا متعددة اللغات حاليًا، ونعمل جاهدين على تحسينها. شكرًا لصبرك! 🙏
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/NAs-cfq9BDw"
title="مشغل فيديو يوتيوب" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>شاهد:</strong> استكشف مهام Ultralytics YOLO: كشف الكائنات، التجزئة، التتبع وتقدير الوضعية.
</p>
## [الكشف](detect.md)
الكشف هو المهمة الأساسية المدعومة بواسطة YOLOv8. يتضمن الكشف اكتشاف الكائنات في صورة أو إطار فيديو ورسم مربعات محيطة حولها. يتم تصنيف الكائنات المكتشفة إلى فئات مختلفة استنادًا إلى ميزاتها. يمكن لـ YOLOv8 اكتشاف أكثر من كائن واحد في صورة أو إطار فيديو واحد بدقة وسرعة عالية.
[أمثلة للكشف](detect.md){ .md-button .md-button--primary}
## [التجزئة](segment.md)
التجزئة هي مهمة تتضمن تقسيم صورة إلى مناطق مختلفة استنادًا إلى محتوى الصورة. يتم تعيين علامة لكل منطقة استنادًا إلى محتواها. تعتبر هذه المهمة مفيدة في تطبيقات مثل تجزئة الصور وتصوير الطبية. يستخدم YOLOv8 نسخة معدلة من هندسة U-Net لأداء التجزئة.
[أمثلة للتجزئة](segment.md){ .md-button .md-button--primary}
## [التصنيف](classify.md)
التصنيف هو مهمة تتضمن تصنيف صورة إلى فئات مختلفة. يمكن استخدام YOLOv8 لتصنيف الصور استنادًا إلى محتواها. يستخدم نسخة معدلة من هندسة EfficientNet لأداء التصنيف.
[أمثلة للتصنيف](classify.md){ .md-button .md-button--primary}
## [تقدير الوضعية](pose.md)
تقدير الوضعية/النقاط الرئيسية هو مهمة تتضمن اكتشاف نقاط محددة في صورة أو إطار فيديو. يُشار إلى هذه النقاط بمصطلح النقاط الرئيسية وتُستخدم لتتبع الحركة أو تقدير الوضعية. يمكن لـ YOLOv8 اكتشاف النقاط الرئيسية في صورة أو إطار فيديو بدقة وسرعة عالية.
[أمثلة لتقدير الوضعية](pose.md){ .md-button .md-button--primary}
## الاستنتاج
يدعم YOLOv8 مهام متعددة، بما في ذلك الكشف، التجزئة، التصنيف، وكشف النقاط الرئيسية. لكل من هذه المهام أهداف واستخدامات مختلفة. عن طريق فهم الاختلافات بين هذه المهام، يمكنك اختيار المهمة المناسبة لتطبيق الرؤية الحاسوبية الخاص بك.

@ -0,0 +1,186 @@
---
comments: true
description: تعرّف على كيفية استخدام Ultralytics YOLOv8 لمهام تقدير الوضعية. اعثر على نماذج مدرّبة مسبقًا، وتعلم كيفية التدريب والتحقق والتنبؤ وتصدير نموذجك الخاص.
keywords: Ultralytics، YOLO، YOLOv8، تقدير الوضعية ، كشف نقاط المفاتيح ، كشف الكائنات ، نماذج مدرّبة مسبقًا ، تعلم الآلة ، الذكاء الاصطناعي
---
# تقدير الوضعية
تقدير الوضعية هو مهمة تنطوي على تحديد موقع نقاط محددة في الصورة ، وعادةً ما يشار إليها بنقاط الوضوح. يمكن أن تمثل نقاط الوضوح أجزاءً مختلفةً من الكائن مثل المفاصل أو العلامات المميزة أو الميزات البارزة الأخرى. عادةً ما يتم تمثيل مواقع نقاط الوضوح كمجموعة من الإحداثيات 2D `[x ، y]` أو 3D `[x ، y ، visible]`.
يكون ناتج نموذج تقدير الوضعية مجموعة من النقاط التي تمثل نقاط الوضوح على كائن في الصورة ، عادةً مع نقاط الثقة لكل نقطة. تقدير الوضعية هو خيار جيد عندما تحتاج إلى تحديد أجزاء محددة من كائن في مشهد، وموقعها بالنسبة لبعضها البعض.
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/Y28xXQmju64?si=pCY4ZwejZFu6Z4kZ"
title="مشغل فيديو YouTube" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>شاهد:</strong> تقدير الوضعية مع Ultralytics YOLOv8.
</p>
!!! Tip "نصيحة"
النماذج التي تحتوي على البادئة "-pose" تستخدم لنماذج YOLOv8 pose ، على سبيل المثال `yolov8n-pose.pt`. هذه النماذج مدربة على [مجموعة بيانات نقاط الوضوح COCO]("https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml") وهي مناسبة لمجموعة متنوعة من مهام تقدير الوضعية.
## [النماذج]("https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models/v8")
تعرض نماذج مدرّبة مسبقًا لـ YOLOv8 التي تستخدم لتقدير الوضعية هنا. النماذج للكشف والشريحة والوضعية يتم تدريبها على [مجموعة بيانات COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml)، بينما تتم تدريب نماذج التصنيف على مجموعة بيانات ImageNet.
يتم تنزيل النماذج من [آخر إصدار Ultralytics]("https://github.com/ultralytics/assets/releases") تلقائيًا عند استخدامها لأول مرة.
| النموذج | الحجم (بالبكسل) | mAP<sup>الوضعية 50-95 | mAP<sup>الوضعية 50 | سرعة<sup>الوحدة المركزية ONNX<sup>(ms) | سرعة<sup>A100 TensorRT<sup>(ms) | المعلمات (مليون) | FLOPs (بالمليار) |
|------------------------------------------------------------------------------------------------------|-----------------|-----------------------|--------------------|----------------------------------------|---------------------------------|------------------|------------------|
| [YOLOv8n-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt) | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 |
| [YOLOv8s-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-pose.pt) | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 |
| [YOLOv8m-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-pose.pt) | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 |
| [YOLOv8l-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-pose.pt) | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 |
| [YOLOv8x-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt) | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 |
| [YOLOv8x-pose-p6](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose-p6.pt) | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 |
- تعتبر القيم **mAP<sup>val</sup>** لنموذج واحد ومقياس واحد فقط على [COCO Keypoints val2017](http://cocodataset.org)
مجموعة البيانات.
<br>يمكن إعادة إنتاجه بواسطة `يولو val pose data=coco-pose.yaml device=0`
- يتم حساب **السرعة** من خلال متوسط صور COCO val باستخدام [المروحة الحرارية Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/)
مثيل.
<br>يمكن إعادة إنتاجه بواسطة `يولو val pose data=coco8-pose.yaml batch=1 device=0|cpu`
## التدريب
يتم تدريب نموذج YOLOv8-pose على مجموعة بيانات COCO128-pose.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# تحميل النموذج
model = YOLO('yolov8n-pose.yaml') # بناء نموذج جديد من ملف YAML
model = YOLO('yolov8n-pose.pt') # تحميل نموذج مدرّب مسبقًا (موصى به للتدريب)
model = YOLO('yolov8n-pose.yaml').load('yolov8n-pose.pt') # بناء نموذج من YAML ونقل الوزن
# تدريب النموذج
results = model.train(data='coco8-pose.yaml', epochs=100, imgsz=640)
```
=== "CLI"
```bash
# بناء نموذج جديد من YAML وبدء التدريب من البداية.
yolo pose train data=coco8-pose.yaml model=yolov8n-pose.yaml epochs=100 imgsz=640
# البدء في التدريب من نموذج مدرب مسبقًا *.pt
yolo pose train data=coco8-pose.yaml model=yolov8n-pose.pt epochs=100 imgsz=640
# بناء نموذج جديد من YAML ، ونقل الأوزان المدرّبة مسبقًا إليه ، والبدء في التدريب.
yolo pose train data=coco8-pose.yaml model=yolov8n-pose.yaml pretrained=yolov8n-pose.pt epochs=100 imgsz=640
```
### تنسيق مجموعة البيانات
يمكن العثور على تنسيق مجموعات بيانات نقاط الوضوح YOLO في [دليل المجموعة البيانات](../../datasets/pose/index.md). لتحويل مجموعة البيانات الحالية التي لديك من تنسيقات أخرى (مثل COCO إلخ) إلى تنسيق YOLO ، يرجى استخدام أداة [JSON2YOLO](https://github.com/ultralytics/JSON2YOLO) من Ultralytics.
## التحقق من الصحة
تحقق من دقة نموذج YOLOv8n-pose المدرّب على مجموعة بيانات COCO128-pose. لا يلزم تمرير سبب ما كوسيط إلى `model`
عند استدعاء.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# تحميل النموذج
model = YOLO('yolov8n-pose.pt') # تحميل نموذج رسمي
model = YOLO('path/to/best.pt') # تحميل نموذج مخصص
# التحقق من النموذج
metrics = model.val() # لا يوجد حاجة لأي سبب، يتذكر النموذج البيانات والوسائط كمجالات للنموذج
metrics.box.map # map50-95
metrics.box.map50 # map50
metrics.box.map75 # map75
metrics.box.maps # قائمة تحتوي على map50-95 لكل فئة
```
=== "CLI"
```bash
yolo pose val model=yolov8n-pose.pt # التحقق من النموذج الرسمي
yolo pose val model=path/to/best.pt # التحقق من النموذج المخصص
```
## التنبؤ
استخدم نموذج YOLOv8n-pose المدرّب لتشغيل توقعات على الصور.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# تحميل النموذج
model = YOLO('yolov8n-pose.pt') # تحميل نموذج رسمي
model = YOLO('path/to/best.pt') # تحميل نموذج مخصص
# التنبؤ باستخدام النموذج
results = model('https://ultralytics.com/images/bus.jpg') # التنبؤ بصورة
```
=== "CLI"
```bash
yolo pose predict model=yolov8n-pose.pt source='https://ultralytics.com/images/bus.jpg' # التنبؤ باستخدام النموذج الرسمي
yolo pose predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # التنبؤ باستخدام النموذج المخصص
```
انظر تفاصيل `predict` كاملة في [صفحة التنبؤ](https://docs.ultralytics.com/modes/predict/).
## التصدير
قم بتصدير نموذج YOLOv8n-pose إلى تنسيق مختلف مثل ONNX، CoreML، الخ.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# تحميل النموذج
model = YOLO('yolov8n-pose.pt') # تحميل نموذج رسمي
model = YOLO('path/to/best.pt') # تحميل نموذج مدرب مخصص
# تصدير النموذج
model.export(format='onnx')
```
=== "CLI"
```bash
yolo export model=yolov8n-pose.pt format=onnx # تصدير نموذج رسمي
yolo export model=path/to/best.pt format=onnx # تصدير نموذج مخصص
```
تتوفر تنسيقات تصدير YOLOv8-pose في الجدول أدناه. يمكنك التنبؤ أو التحقق مباشرةً على النماذج المصدرة ، على سبيل المثال `yolo predict model=yolov8n-pose.onnx`. توجد أمثلة استخدام متاحة لنموذجك بعد اكتمال عملية التصدير.
| تنسيق | إجراء `format` | النموذج | البيانات الوصفية | الوسائط |
|--------------------------------------------------------------------|----------------|--------------------------------|------------------|-----------------------------------------------------|
| [PyTorch](https://pytorch.org/) | - | `yolov8n-pose.pt` | ✅ | - |
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov8n-pose.torchscript` | ✅ | `imgsz`, `optimize` |
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n-pose.onnx` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `opset` |
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n-pose_openvino_model/` | ✅ | `imgsz`, `half` |
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n-pose.engine` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `workspace` |
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n-pose.mlpackage` | ✅ | `imgsz`, `half`, `int8`, `nms` |
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n-pose_saved_model/` | ✅ | `imgsz`, `keras` |
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n-pose.pb` | ❌ | `imgsz` |
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n-pose.tflite` | ✅ | `imgsz`, `half`, `int8` |
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n-pose_edgetpu.tflite` | ✅ | `imgsz` |
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n-pose_web_model/` | ✅ | `imgsz` |
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n-pose_paddle_model/` | ✅ | `imgsz` |
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n-pose_ncnn_model/` | ✅ | `imgsz`, `half` |
انظر تفاصيل `export` كاملة في [صفحة التصدير](https://docs.ultralytics.com/modes/export/).

@ -0,0 +1,189 @@
---
comments: true
description: تعلم كيفية استخدام نماذج فصل الأشكال الفردية مع Ultralytics YOLO. تعليمات حول التدريب والتحقق من الصحة وتوقع الصورة وتصدير النموذج.
keywords: yolov8 ، فصل الأشكال الفردية ، Ultralytics ، مجموعة بيانات COCO ، تجزئة الصورة ، كشف الكائنات ، تدريب النموذج ، التحقق من صحة النموذج ، توقع الصورة ، تصدير النموذج
---
# فصل الأشكال الفردية
<img width="1024" src="https://user-images.githubusercontent.com/26833433/243418644-7df320b8-098d-47f1-85c5-26604d761286.png" alt="أمثلة على فصل الأشكال الفردية">
يذهب فصل الأشكال الفردية خطوة أبعد من كشف الكائنات وينطوي على تحديد الكائنات الفردية في صورة وتجزيئها عن بقية الصورة.
ناتج نموذج فصل الأشكال الفردية هو مجموعة من الأقنعة أو الحدود التي تحدد كل كائن في الصورة ، جنبًا إلى جنب مع تصنيف الصنف ونقاط الثقة لكل كائن. يكون فصل الأشكال الفردية مفيدًا عندما تحتاج إلى معرفة ليس فقط أين توجد الكائنات في الصورة ، ولكن أيضًا ما هو شكلها الدقيق.
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/o4Zd-IeMlSY?si=37nusCzDTd74Obsp"
title="مشغل فيديو YouTube" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>المشاهدة:</strong> تشغيل فصل الأشكال مع نموذج Ultralytics YOLOv8 مدرب مسبقًا باستخدام Python.
</p>
!!! Tip "نصيحة"
تستخدم نماذج YOLOv8 Seg اللاحقة `-seg`، أي `yolov8n-seg.pt` وتكون مدربة مسبقًا على [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml).
## [النماذج](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models/v8)
تُعرض هنا النماذج الجاهزة المدربة مسبقًا لـ YOLOv8 Segment. يتم تدريب نماذج الكشف والتجزيء والمواقف على مجموعة البيانات [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml) ، بينما تدرب نماذج التصنيف على مجموعة البيانات [ImageNet](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/ImageNet.yaml).
تتم تنزيل [النماذج](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models) تلقائيًا من [الإصدار](https://github.com/ultralytics/assets/releases) الأخير لـ Ultralytics عند أول استخدام.
| النموذج | الحجم<br><sup>بكسل | mAP<sup>box<br>50-95 | mAP<sup>mask<br>50-95 | السرعة<br><sup>CPU ONNX<br>(مللي ثانية) | السرعة<br><sup>A100 TensorRT<br>(مللي ثانية) | المعلمات<br><sup>(مليون) | FLOPs<br><sup>(مليار) |
|----------------------------------------------------------------------------------------------|--------------------|----------------------|-----------------------|-----------------------------------------|----------------------------------------------|--------------------------|-----------------------|
| [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 |
| [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 |
| [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 |
| [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 |
| [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 |
- تُستخدم قيم **mAP<sup>val</sup>** لنموذج واحد وحجم واحد على مجموعة بيانات [COCO val2017](http://cocodataset.org).
<br>يمكن إعادة إنتاجها باستخدام `yolo val segment data=coco.yaml device=0`
- **تُحسب السرعة** كمتوسط على صور COCO val باستخدام [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/)
instance.
<br>يمكن إعادة إنتاجها باستخدام `yolo val segment data=coco128-seg.yaml batch=1 device=0|cpu`
## التدريب
قم بتدريب YOLOv8n-seg على مجموعة بيانات COCO128-seg لمدة 100 دورة عند حجم صورة 640. للحصول على قائمة كاملة بالوسائط المتاحة ، راجع صفحة [التكوين](../../usage/cfg.md).
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتحميل النموذج
model = YOLO('yolov8n-seg.yaml') # قم ببناء نموذج جديد من ملف YAML
model = YOLO('yolov8n-seg.pt') # قم بتحميل نموذج مدرب مسبقًا (موصى به للتدريب)
model = YOLO('yolov8n-seg.yaml').load('yolov8n.pt') # قم ببنائه من YAML ونقل الوزن
# قم بتدريب النموذج
results = model.train(data='coco128-seg.yaml', epochs=100, imgsz=640)
```
=== "CLI"
```bash
# قم ببناء نموذج جديد من ملف YAML وبدء التدريب من البداية
yolo segment train data=coco128-seg.yaml model=yolov8n-seg.yaml epochs=100 imgsz=640
# قم ببدء التدريب من نموذج *.pt مدرب مسبقًا
yolo segment train data=coco128-seg.yaml model=yolov8n-seg.pt epochs=100 imgsz=640
# قم ببناء نموذج جديد من YAML ونقل الأوزان المدربة مسبَقًا إليه وابدأ التدريب
yolo segment train data=coco128-seg.yaml model=yolov8n-seg.yaml pretrained=yolov8n-seg.pt epochs=100 imgsz=640
```
### تنسيق مجموعة البيانات
يمكن العثور على تنسيق مجموعة بيانات تجزيء YOLO بالتفصيل في [دليل مجموعة البيانات](../../datasets/segment/index.md). لتحويل مجموعة البيانات الحالية التي تتبع تنسيقات أخرى (مثل COCO إلخ) إلى تنسيق YOLO ، يُرجى استخدام أداة [JSON2YOLO](https://github.com/ultralytics/JSON2YOLO) من Ultralytics.
## التحقق من الصحة
قم بالتحقق من دقة نموذج YOLOv8n-seg المدرب على مجموعة بيانات COCO128-seg. لا حاجة لتمرير أي وسيطة كما يحتفظ النموذج ببيانات "تدريبه" والوسيطات كسمات النموذج.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتحميل النموذج
model = YOLO('yolov8n-seg.pt') # قم بتحميل نموذج رسمي
model = YOLO('path/to/best.pt') # قم بتحميل نموذج مخصص
# قم بالتحقق من النموذج
metrics = model.val() # لا حاجة إلى أي وسيطة ، يتذكر النموذج بيانات التدريب والوسيطات كسمات النموذج
metrics.box.map # map50-95(B)
metrics.box.map50 # map50(B)
metrics.box.map75 # map75(B)
metrics.box.maps # قائمة تحتوي على map50-95(B) لكل فئة
metrics.seg.map # map50-95(M)
metrics.seg.map50 # map50(M)
metrics.seg.map75 # map75(M)
metrics.seg.maps # قائمة تحتوي على map50-95(M) لكل فئة
```
=== "CLI"
```bash
yolo segment val model=yolov8n-seg.pt # التحقق من النموذج الرسمي
yolo segment val model=path/to/best.pt # التحقق من النموذج المخصص
```
## التنبؤ
استخدم نموذج YOLOv8n-seg المدرب للقيام بالتنبؤات على الصور.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتحميل النموذج
model = YOLO('yolov8n-seg.pt') # قم بتحميل نموذج رسمي
model = YOLO('path/to/best.pt') # قم بتحميل نموذج مخصص
# التنبؤ باستخدام النموذج
results = model('https://ultralytics.com/images/bus.jpg') # التنبؤ على صورة
```
=== "CLI"
```bash
yolo segment predict model=yolov8n-seg.pt source='https://ultralytics.com/images/bus.jpg' # التنبؤ باستخدام النموذج الرسمي
yolo segment predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # التنبؤ باستخدام النموذج المخصص
```
انظر تفاصيل "التنبؤ" الكاملة في [الصفحة](https://docs.ultralytics.com/modes/predict/).
## التصدير
قم بتصدير نموذج YOLOv8n-seg إلى تنسيق مختلف مثل ONNX و CoreML وما إلى ذلك.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتحميل النموذج
model = YOLO('yolov8n-seg.pt') # قم بتحميل نموذج رسمي
model = YOLO('path/to/best.pt') # قم بتحميل نموذج مدرب مخصص
# قم بتصدير النموذج
model.export(format='onnx')
```
=== "CLI"
```bash
yolo export model=yolov8n-seg.pt format=onnx # تصدير نموذج رسمي
yolo export model=path/to/best.pt format=onnx # تصدير نموذج مدرب مخصص
```
صيغ تصدير YOLOv8-seg المتاحة في الجدول أدناه. يمكنك التنبؤ أو التحقق من صحة الموديل المصدر بشكل مباشر ، أي `yolo predict model=yolov8n-seg.onnx`. يتم عرض أمثلة عن الاستخدام لنموذجك بعد اكتمال التصدير.
| الصيغة | `format` Argument | النموذج | التعليمات | الخيارات |
|--------------------------------------------------------------------|-------------------|-------------------------------|-----------|-------------------------------------------------|
| [PyTorch](https://pytorch.org/) | - | `yolov8n-seg.pt` | ✅ | - |
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov8n-seg.torchscript` | ✅ | `الحجم ، الأمان` |
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n-seg.onnx` | ✅ | `الحجم ، half ، dynamic ، simplify ، opset` |
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n-seg_openvino_model/` | ✅ | `الحجم ، half` |
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n-seg.engine` | ✅ | `الحجم ، half ، dynamic ، simplify ، workspace` |
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n-seg.mlpackage` | ✅ | `الحجم ، half ، int8 ، nms` |
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n-seg_saved_model/` | ✅ | `الحجم ، keras` |
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n-seg.pb` | ❌ | `الحجم` |
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n-seg.tflite` | ✅ | `الحجم ، half ، int8` |
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n-seg_edgetpu.tflite` | ✅ | `الحجم` |
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n-seg_web_model/` | ✅ | `الحجم` |
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n-seg_paddle_model/` | ✅ | `الحجم` |
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n-seg_ncnn_model/` | ✅ | `الحجم ، half` |
انظر تفاصيل "التصدير" الكاملة في [الصفحة](https://docs.ultralytics.com/modes/export/).

@ -48,7 +48,7 @@ def create_markdown(py_filepath: Path, module_path: str, classes: list, function
edit = f'https://github.com/ultralytics/ultralytics/edit/main/{module_path}.py' edit = f'https://github.com/ultralytics/ultralytics/edit/main/{module_path}.py'
title_content = ( title_content = (
f'# Reference for `{module_path}.py`\n\n' f'# Reference for `{module_path}.py`\n\n'
f'!!! note\n\n' f'!!! Note\n\n'
f' This file is available at [{url}]({url}). If you spot a problem please help fix it by [contributing](https://docs.ultralytics.com/help/contributing/) a [Pull Request]({edit}) 🛠. Thank you 🙏!\n\n' f' This file is available at [{url}]({url}). If you spot a problem please help fix it by [contributing](https://docs.ultralytics.com/help/contributing/) a [Pull Request]({edit}) 🛠. Thank you 🙏!\n\n'
) )
md_content = [f'---\n## ::: {module_name}.{class_name}\n<br><br>\n' for class_name in classes] md_content = [f'---\n## ::: {module_name}.{class_name}\n<br><br>\n' for class_name in classes]

@ -8,7 +8,7 @@ keywords: Computer Vision, Datensätze, Ultralytics, YOLO, Objekterkennung, Inst
Ultralytics bietet Unterstützung für verschiedene Datensätze an, um Computervisionsaufgaben wie Erkennung, Instanzsegmentierung, Posenschätzung, Klassifizierung und Verfolgung mehrerer Objekte zu erleichtern. Unten finden Sie eine Liste der wichtigsten Ultralytics-Datensätze, gefolgt von einer Zusammenfassung jeder Computervisionsaufgabe und den jeweiligen Datensätzen. Ultralytics bietet Unterstützung für verschiedene Datensätze an, um Computervisionsaufgaben wie Erkennung, Instanzsegmentierung, Posenschätzung, Klassifizierung und Verfolgung mehrerer Objekte zu erleichtern. Unten finden Sie eine Liste der wichtigsten Ultralytics-Datensätze, gefolgt von einer Zusammenfassung jeder Computervisionsaufgabe und den jeweiligen Datensätzen.
!!! note !!! Note
🚧 Unsere mehrsprachige Dokumentation befindet sich derzeit im Aufbau und wir arbeiten intensiv an deren Verbesserung. Vielen Dank für Ihre Geduld! 🙏 🚧 Unsere mehrsprachige Dokumentation befindet sich derzeit im Aufbau und wir arbeiten intensiv an deren Verbesserung. Vielen Dank für Ihre Geduld! 🙏
@ -104,7 +104,7 @@ Das Bereitstellen eines neuen Datensatzes umfasst mehrere Schritte, um sicherzus
### Beispielcode zum Optimieren und Zippen eines Datensatzes ### Beispielcode zum Optimieren und Zippen eines Datensatzes
!!! example "Optimieren und Zippen eines Datensatzes" !!! Example "Optimieren und Zippen eines Datensatzes"
=== "Python" === "Python"

@ -38,7 +38,7 @@ Wir stellen [Ultralytics](https://ultralytics.com) [YOLOv8](https://github.com/u
Erkunden Sie die YOLOv8-Dokumentation, eine umfassende Ressource, die Ihnen helfen soll, seine Funktionen und Fähigkeiten zu verstehen und zu nutzen. Ob Sie ein erfahrener Machine-Learning-Praktiker sind oder neu in diesem Bereich, dieses Hub zielt darauf ab, das Potenzial von YOLOv8 in Ihren Projekten zu maximieren Erkunden Sie die YOLOv8-Dokumentation, eine umfassende Ressource, die Ihnen helfen soll, seine Funktionen und Fähigkeiten zu verstehen und zu nutzen. Ob Sie ein erfahrener Machine-Learning-Praktiker sind oder neu in diesem Bereich, dieses Hub zielt darauf ab, das Potenzial von YOLOv8 in Ihren Projekten zu maximieren
!!! note !!! Note
🚧 Unsere mehrsprachige Dokumentation wird derzeit entwickelt und wir arbeiten intensiv an ihrer Verbesserung. Wir danken für Ihre Geduld! 🙏 🚧 Unsere mehrsprachige Dokumentation wird derzeit entwickelt und wir arbeiten intensiv an ihrer Verbesserung. Wir danken für Ihre Geduld! 🙏

@ -8,7 +8,7 @@ keywords: Ultralytics, Dokumentation, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, R
Willkommen in der Modell-Dokumentation von Ultralytics! Wir bieten Unterstützung für eine breite Palette von Modellen, die für spezifische Aufgaben wie [Objekterkennung](../tasks/detect.md), [Instanzsegmentierung](../tasks/segment.md), [Bildklassifizierung](../tasks/classify.md), [Poseerkennung](../tasks/pose.md) und [Multi-Objekt-Tracking](../modes/track.md) zugeschnitten sind. Wenn Sie daran interessiert sind, Ihre Modellarchitektur an Ultralytics beizutragen, werfen Sie einen Blick auf unseren [Beitragenden-Leitfaden](../../help/contributing.md). Willkommen in der Modell-Dokumentation von Ultralytics! Wir bieten Unterstützung für eine breite Palette von Modellen, die für spezifische Aufgaben wie [Objekterkennung](../tasks/detect.md), [Instanzsegmentierung](../tasks/segment.md), [Bildklassifizierung](../tasks/classify.md), [Poseerkennung](../tasks/pose.md) und [Multi-Objekt-Tracking](../modes/track.md) zugeschnitten sind. Wenn Sie daran interessiert sind, Ihre Modellarchitektur an Ultralytics beizutragen, werfen Sie einen Blick auf unseren [Beitragenden-Leitfaden](../../help/contributing.md).
!!! Hinweis !!! Note
🚧 Unsere mehrsprachige Dokumentation befindet sich derzeit im Aufbau, und wir arbeiten hart daran, sie zu verbessern. Vielen Dank für Ihre Geduld! 🙏 🚧 Unsere mehrsprachige Dokumentation befindet sich derzeit im Aufbau, und wir arbeiten hart daran, sie zu verbessern. Vielen Dank für Ihre Geduld! 🙏
@ -41,7 +41,7 @@ Hier sind einige der wesentlichen unterstützten Modelle:
## Erste Schritte: Anwendungsbeispiele ## Erste Schritte: Anwendungsbeispiele
!!! Beispiel "" !!! Example "Beispiel"
=== "Python" === "Python"

@ -32,7 +32,7 @@ Nachdem Ihr Modell trainiert und validiert wurde, ist der nächste logische Schr
- **OpenVINO:** Für die Optimierung von Intel-Hardware - **OpenVINO:** Für die Optimierung von Intel-Hardware
- **CoreML, TensorFlow SavedModel, und mehr:** Für vielfältige Deployment-Anforderungen. - **CoreML, TensorFlow SavedModel, und mehr:** Für vielfältige Deployment-Anforderungen.
!!! tip "Tipp" !!! Tip "Tipp"
* Exportieren Sie in ONNX oder OpenVINO für bis zu 3x CPU-Beschleunigung. * Exportieren Sie in ONNX oder OpenVINO für bis zu 3x CPU-Beschleunigung.
* Exportieren Sie in TensorRT für bis zu 5x GPU-Beschleunigung. * Exportieren Sie in TensorRT für bis zu 5x GPU-Beschleunigung.
@ -41,7 +41,7 @@ Nachdem Ihr Modell trainiert und validiert wurde, ist der nächste logische Schr
Führen Sie YOLOv8n-Benchmarks auf allen unterstützten Exportformaten einschließlich ONNX, TensorRT usw. durch. Siehe den Abschnitt Argumente unten für eine vollständige Liste der Exportargumente. Führen Sie YOLOv8n-Benchmarks auf allen unterstützten Exportformaten einschließlich ONNX, TensorRT usw. durch. Siehe den Abschnitt Argumente unten für eine vollständige Liste der Exportargumente.
!!! example "" !!! Example "Beispiel"
=== "Python" === "Python"

@ -39,7 +39,7 @@ Hier sind einige der herausragenden Funktionen:
- **Optimiertes Inferenzverhalten:** Exportierte Modelle sind für schnellere Inferenzzeiten optimiert. - **Optimiertes Inferenzverhalten:** Exportierte Modelle sind für schnellere Inferenzzeiten optimiert.
- **Tutorial-Videos:** Ausführliche Anleitungen und Tutorials für ein reibungsloses Exporterlebnis. - **Tutorial-Videos:** Ausführliche Anleitungen und Tutorials für ein reibungsloses Exporterlebnis.
!!! tip "Tipp" !!! Tip "Tipp"
* Exportieren Sie nach ONNX oder OpenVINO für bis zu 3-fache CPU-Beschleunigung. * Exportieren Sie nach ONNX oder OpenVINO für bis zu 3-fache CPU-Beschleunigung.
* Exportieren Sie nach TensorRT für bis zu 5-fache GPU-Beschleunigung. * Exportieren Sie nach TensorRT für bis zu 5-fache GPU-Beschleunigung.
@ -48,7 +48,7 @@ Hier sind einige der herausragenden Funktionen:
Exportieren Sie ein YOLOv8n-Modell in ein anderes Format wie ONNX oder TensorRT. Weitere Informationen zu den Exportargumenten finden Sie im Abschnitt „Argumente“ unten. Exportieren Sie ein YOLOv8n-Modell in ein anderes Format wie ONNX oder TensorRT. Weitere Informationen zu den Exportargumenten finden Sie im Abschnitt „Argumente“ unten.
!!! example "" !!! Example "Beispiel"
=== "Python" === "Python"

@ -50,7 +50,7 @@ Der Prognosemodus von YOLOv8 ist robust und vielseitig konzipiert und verfügt
Ultralytics YOLO-Modelle geben entweder eine Python-Liste von `Results`-Objekten zurück, oder einen speichereffizienten Python-Generator von `Results`-Objekten, wenn `stream=True` beim Inferenzvorgang an das Modell übergeben wird: Ultralytics YOLO-Modelle geben entweder eine Python-Liste von `Results`-Objekten zurück, oder einen speichereffizienten Python-Generator von `Results`-Objekten, wenn `stream=True` beim Inferenzvorgang an das Modell übergeben wird:
!!! Beispiel "Predict" !!! Example "Predict"
=== "Gibt eine Liste mit `stream=False` zurück" === "Gibt eine Liste mit `stream=False` zurück"
```python ```python
@ -92,7 +92,7 @@ Ultralytics YOLO-Modelle geben entweder eine Python-Liste von `Results`-Objekten
YOLOv8 kann verschiedene Arten von Eingabequellen für die Inferenz verarbeiten, wie in der folgenden Tabelle gezeigt. Die Quellen umfassen statische Bilder, Videostreams und verschiedene Datenformate. Die Tabelle gibt ebenfalls an, ob jede Quelle im Streaming-Modus mit dem Argument `stream=True` ✅ verwendet werden kann. Der Streaming-Modus ist vorteilhaft für die Verarbeitung von Videos oder Live-Streams, da er einen Generator von Ergebnissen statt das Laden aller Frames in den Speicher erzeugt. YOLOv8 kann verschiedene Arten von Eingabequellen für die Inferenz verarbeiten, wie in der folgenden Tabelle gezeigt. Die Quellen umfassen statische Bilder, Videostreams und verschiedene Datenformate. Die Tabelle gibt ebenfalls an, ob jede Quelle im Streaming-Modus mit dem Argument `stream=True` ✅ verwendet werden kann. Der Streaming-Modus ist vorteilhaft für die Verarbeitung von Videos oder Live-Streams, da er einen Generator von Ergebnissen statt das Laden aller Frames in den Speicher erzeugt.
!!! Tipp "Tipp" !!! Tip "Tipp"
Verwenden Sie `stream=True` für die Verarbeitung langer Videos oder großer Datensätze, um den Speicher effizient zu verwalten. Bei `stream=False` werden die Ergebnisse für alle Frames oder Datenpunkte im Speicher gehalten, was bei großen Eingaben schnell zu Speicherüberläufen führen kann. Im Gegensatz dazu verwendet `stream=True` einen Generator, der nur die Ergebnisse des aktuellen Frames oder Datenpunkts im Speicher behält, was den Speicherverbrauch erheblich reduziert und Speicherüberlaufprobleme verhindert. Verwenden Sie `stream=True` für die Verarbeitung langer Videos oder großer Datensätze, um den Speicher effizient zu verwalten. Bei `stream=False` werden die Ergebnisse für alle Frames oder Datenpunkte im Speicher gehalten, was bei großen Eingaben schnell zu Speicherüberläufen führen kann. Im Gegensatz dazu verwendet `stream=True` einen Generator, der nur die Ergebnisse des aktuellen Frames oder Datenpunkts im Speicher behält, was den Speicherverbrauch erheblich reduziert und Speicherüberlaufprobleme verhindert.
@ -115,7 +115,7 @@ YOLOv8 kann verschiedene Arten von Eingabequellen für die Inferenz verarbeiten,
Untenstehend finden Sie Codebeispiele für die Verwendung jedes Quelltyps: Untenstehend finden Sie Codebeispiele für die Verwendung jedes Quelltyps:
!!! Beispiel "Vorhersagequellen" !!! Example "Vorhersagequellen"
=== "Bild" === "Bild"
Führen Sie die Inferenz auf einer Bilddatei aus. Führen Sie die Inferenz auf einer Bilddatei aus.

@ -58,7 +58,7 @@ Der Standardtracker ist BoT-SORT.
Um den Tracker auf Videostreams auszuführen, verwenden Sie ein trainiertes Erkennungs-, Segmentierungs- oder Posierungsmodell wie YOLOv8n, YOLOv8n-seg und YOLOv8n-pose. Um den Tracker auf Videostreams auszuführen, verwenden Sie ein trainiertes Erkennungs-, Segmentierungs- oder Posierungsmodell wie YOLOv8n, YOLOv8n-seg und YOLOv8n-pose.
!!! beispiel "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -97,7 +97,7 @@ Wie in der obigen Nutzung zu sehen ist, ist die Verfolgung für alle Detect-, Se
Die Tracking-Konfiguration teilt Eigenschaften mit dem Predict-Modus, wie `conf`, `iou` und `show`. Für weitere Konfigurationen siehe die Seite des [Predict](https://docs.ultralytics.com/modes/predict/)-Modells. Die Tracking-Konfiguration teilt Eigenschaften mit dem Predict-Modus, wie `conf`, `iou` und `show`. Für weitere Konfigurationen siehe die Seite des [Predict](https://docs.ultralytics.com/modes/predict/)-Modells.
!!! beispiel "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -120,7 +120,7 @@ Die Tracking-Konfiguration teilt Eigenschaften mit dem Predict-Modus, wie `conf`
Ultralytics ermöglicht es Ihnen auch, eine modifizierte Tracker-Konfigurationsdatei zu verwenden. Hierfür kopieren Sie einfach eine Tracker-Konfigurationsdatei (zum Beispiel `custom_tracker.yaml`) von [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers) und ändern jede Konfiguration (außer dem `tracker_type`), wie es Ihren Bedürfnissen entspricht. Ultralytics ermöglicht es Ihnen auch, eine modifizierte Tracker-Konfigurationsdatei zu verwenden. Hierfür kopieren Sie einfach eine Tracker-Konfigurationsdatei (zum Beispiel `custom_tracker.yaml`) von [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers) und ändern jede Konfiguration (außer dem `tracker_type`), wie es Ihren Bedürfnissen entspricht.
!!! beispiel "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -147,7 +147,7 @@ Für eine umfassende Liste der Tracking-Argumente siehe die Seite [ultralytics/c
Hier ist ein Python-Skript, das OpenCV (`cv2`) und YOLOv8 verwendet, um Objektverfolgung in Videoframes durchzuführen. Dieses Skript setzt voraus, dass Sie die notwendigen Pakete (`opencv-python` und `ultralytics`) bereits installiert haben. Das Argument `persist=True` teilt dem Tracker mit, dass das aktuelle Bild oder Frame das nächste in einer Sequenz ist und Tracks aus dem vorherigen Bild im aktuellen Bild erwartet werden. Hier ist ein Python-Skript, das OpenCV (`cv2`) und YOLOv8 verwendet, um Objektverfolgung in Videoframes durchzuführen. Dieses Skript setzt voraus, dass Sie die notwendigen Pakete (`opencv-python` und `ultralytics`) bereits installiert haben. Das Argument `persist=True` teilt dem Tracker mit, dass das aktuelle Bild oder Frame das nächste in einer Sequenz ist und Tracks aus dem vorherigen Bild im aktuellen Bild erwartet werden.
!!! beispiel "Streaming-For-Schleife mit Tracking" !!! Example "Streaming-For-Schleife mit Tracking"
```python ```python
import cv2 import cv2

@ -41,7 +41,7 @@ Die folgenden sind einige bemerkenswerte Funktionen von YOLOv8s Trainingsmodus:
- **Konfiguration der Hyperparameter:** Die Möglichkeit zur Modifikation der Hyperparameter über YAML-Konfigurationsdateien oder CLI-Argumente. - **Konfiguration der Hyperparameter:** Die Möglichkeit zur Modifikation der Hyperparameter über YAML-Konfigurationsdateien oder CLI-Argumente.
- **Visualisierung und Überwachung:** Echtzeit-Tracking von Trainingsmetriken und Visualisierung des Lernprozesses für bessere Einsichten. - **Visualisierung und Überwachung:** Echtzeit-Tracking von Trainingsmetriken und Visualisierung des Lernprozesses für bessere Einsichten.
!!! Tipp "Tipp" !!! Tip "Tipp"
* YOLOv8-Datensätze wie COCO, VOC, ImageNet und viele andere werden automatisch bei der ersten Verwendung heruntergeladen, d.h. `yolo train data=coco.yaml` * YOLOv8-Datensätze wie COCO, VOC, ImageNet und viele andere werden automatisch bei der ersten Verwendung heruntergeladen, d.h. `yolo train data=coco.yaml`
@ -49,7 +49,7 @@ Die folgenden sind einige bemerkenswerte Funktionen von YOLOv8s Trainingsmodus:
Trainieren Sie YOLOv8n auf dem COCO128-Datensatz für 100 Epochen bei einer Bildgröße von 640. Das Trainingsgerät kann mit dem Argument `device` spezifiziert werden. Wenn kein Argument übergeben wird, wird GPU `device=0` verwendet, wenn verfügbar, sonst wird `device=cpu` verwendet. Siehe den Abschnitt Argumente unten für eine vollständige Liste der Trainingsargumente. Trainieren Sie YOLOv8n auf dem COCO128-Datensatz für 100 Epochen bei einer Bildgröße von 640. Das Trainingsgerät kann mit dem Argument `device` spezifiziert werden. Wenn kein Argument übergeben wird, wird GPU `device=0` verwendet, wenn verfügbar, sonst wird `device=cpu` verwendet. Siehe den Abschnitt Argumente unten für eine vollständige Liste der Trainingsargumente.
!!! Beispiel "Beispiel für Single-GPU- und CPU-Training" !!! Example "Beispiel für Single-GPU- und CPU-Training"
Das Gerät wird automatisch ermittelt. Wenn eine GPU verfügbar ist, dann wird diese verwendet, sonst beginnt das Training auf der CPU. Das Gerät wird automatisch ermittelt. Wenn eine GPU verfügbar ist, dann wird diese verwendet, sonst beginnt das Training auf der CPU.
@ -84,7 +84,7 @@ Trainieren Sie YOLOv8n auf dem COCO128-Datensatz für 100 Epochen bei einer Bild
Multi-GPU-Training ermöglicht eine effizientere Nutzung von verfügbaren Hardware-Ressourcen, indem die Trainingslast über mehrere GPUs verteilt wird. Diese Funktion ist über sowohl die Python-API als auch die Befehlszeilenschnittstelle verfügbar. Um das Multi-GPU-Training zu aktivieren, geben Sie die GPU-Geräte-IDs an, die Sie verwenden möchten. Multi-GPU-Training ermöglicht eine effizientere Nutzung von verfügbaren Hardware-Ressourcen, indem die Trainingslast über mehrere GPUs verteilt wird. Diese Funktion ist über sowohl die Python-API als auch die Befehlszeilenschnittstelle verfügbar. Um das Multi-GPU-Training zu aktivieren, geben Sie die GPU-Geräte-IDs an, die Sie verwenden möchten.
!!! Beispiel "Beispiel für Multi-GPU-Training" !!! Example "Beispiel für Multi-GPU-Training"
Um mit 2 GPUs zu trainieren, verwenden Sie die folgenden Befehle für CUDA-Geräte 0 und 1. Erweitern Sie dies bei Bedarf auf zusätzliche GPUs. Um mit 2 GPUs zu trainieren, verwenden Sie die folgenden Befehle für CUDA-Geräte 0 und 1. Erweitern Sie dies bei Bedarf auf zusätzliche GPUs.
@ -113,7 +113,7 @@ Mit der Unterstützung für Apple M1- und M2-Chips, die in den Ultralytics YOLO-
Um das Training auf Apple M1- und M2-Chips zu ermöglichen, sollten Sie 'mps' als Ihr Gerät angeben, wenn Sie den Trainingsprozess starten. Unten ist ein Beispiel, wie Sie dies in Python und über die Befehlszeile tun könnten: Um das Training auf Apple M1- und M2-Chips zu ermöglichen, sollten Sie 'mps' als Ihr Gerät angeben, wenn Sie den Trainingsprozess starten. Unten ist ein Beispiel, wie Sie dies in Python und über die Befehlszeile tun könnten:
!!! Beispiel "MPS-Training Beispiel" !!! Example "MPS-Training Beispiel"
=== "Python" === "Python"
@ -148,7 +148,7 @@ Um einen Logger zu verwenden, wählen Sie ihn aus dem Dropdown-Menü im obigen C
Um Comet zu verwenden: Um Comet zu verwenden:
!!! Beispiel "" !!! Example "Beispiel"
=== "Python" === "Python"
```python ```python
@ -166,7 +166,7 @@ Vergessen Sie nicht, sich auf der Comet-Website anzumelden und Ihren API-Schlüs
Um ClearML zu verwenden: Um ClearML zu verwenden:
!!! Beispiel "" !!! Example "Beispiel"
=== "Python" === "Python"
```python ```python
@ -184,7 +184,7 @@ Nach dem Ausführen dieses Skripts müssen Sie sich auf dem Browser bei Ihrem Cl
Um TensorBoard in [Google Colab](https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb) zu verwenden: Um TensorBoard in [Google Colab](https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb) zu verwenden:
!!! Beispiel "" !!! Example "Beispiel"
=== "CLI" === "CLI"
```bash ```bash
@ -194,7 +194,7 @@ Um TensorBoard in [Google Colab](https://colab.research.google.com/github/ultral
Um TensorBoard lokal auszuführen, führen Sie den folgenden Befehl aus und betrachten Sie die Ergebnisse unter http://localhost:6006/. Um TensorBoard lokal auszuführen, führen Sie den folgenden Befehl aus und betrachten Sie die Ergebnisse unter http://localhost:6006/.
!!! Beispiel "" !!! Example "Beispiel"
=== "CLI" === "CLI"
```bash ```bash

@ -30,7 +30,7 @@ Dies sind die bemerkenswerten Funktionen, die der Val-Modus von YOLOv8 bietet:
- **CLI- und Python-API:** Wählen Sie zwischen Befehlszeilenschnittstelle oder Python-API basierend auf Ihrer Präferenz für die Validierung. - **CLI- und Python-API:** Wählen Sie zwischen Befehlszeilenschnittstelle oder Python-API basierend auf Ihrer Präferenz für die Validierung.
- **Datenkompatibilität:** Funktioniert nahtlos mit Datensätzen, die während der Trainingsphase sowie mit benutzerdefinierten Datensätzen verwendet wurden. - **Datenkompatibilität:** Funktioniert nahtlos mit Datensätzen, die während der Trainingsphase sowie mit benutzerdefinierten Datensätzen verwendet wurden.
!!! tip "Tipp" !!! Tip "Tipp"
* YOLOv8-Modelle speichern automatisch ihre Trainingseinstellungen, sodass Sie ein Modell mit der gleichen Bildgröße und dem ursprünglichen Datensatz leicht validieren können, indem Sie einfach `yolo val model=yolov8n.pt` oder `model('yolov8n.pt').val()` ausführen * YOLOv8-Modelle speichern automatisch ihre Trainingseinstellungen, sodass Sie ein Modell mit der gleichen Bildgröße und dem ursprünglichen Datensatz leicht validieren können, indem Sie einfach `yolo val model=yolov8n.pt` oder `model('yolov8n.pt').val()` ausführen
@ -38,7 +38,7 @@ Dies sind die bemerkenswerten Funktionen, die der Val-Modus von YOLOv8 bietet:
Validieren Sie die Genauigkeit des trainierten YOLOv8n-Modells auf dem COCO128-Datensatz. Es muss kein Argument übergeben werden, da das `model` seine Trainings-`data` und Argumente als Modellattribute speichert. Siehe Abschnitt „Argumente“ unten für eine vollständige Liste der Exportargumente. Validieren Sie die Genauigkeit des trainierten YOLOv8n-Modells auf dem COCO128-Datensatz. Es muss kein Argument übergeben werden, da das `model` seine Trainings-`data` und Argumente als Modellattribute speichert. Siehe Abschnitt „Argumente“ unten für eine vollständige Liste der Exportargumente.
!!! example "" !!! Example "Beispiel"
=== "Python" === "Python"

@ -8,7 +8,7 @@ keywords: Ultralytics-Installation, pip installieren Ultralytics, Docker install
Ultralytics bietet verschiedene Installationsmethoden, darunter Pip, Conda und Docker. Installiere YOLOv8 über das `ultralytics` Pip-Paket für die neueste stabile Veröffentlichung oder indem du das [Ultralytics GitHub-Repository](https://github.com/ultralytics/ultralytics) klonst für die aktuellste Version. Docker kann verwendet werden, um das Paket in einem isolierten Container auszuführen, ohne eine lokale Installation vornehmen zu müssen. Ultralytics bietet verschiedene Installationsmethoden, darunter Pip, Conda und Docker. Installiere YOLOv8 über das `ultralytics` Pip-Paket für die neueste stabile Veröffentlichung oder indem du das [Ultralytics GitHub-Repository](https://github.com/ultralytics/ultralytics) klonst für die aktuellste Version. Docker kann verwendet werden, um das Paket in einem isolierten Container auszuführen, ohne eine lokale Installation vornehmen zu müssen.
!!! Beispiel "Installieren" !!! Example "Installieren"
=== "Pip-Installation (empfohlen)" === "Pip-Installation (empfohlen)"
Installieren Sie das `ultralytics` Paket mit Pip oder aktualisieren Sie eine bestehende Installation, indem Sie `pip install -U ultralytics` ausführen. Besuchen Sie den Python Package Index (PyPI) für weitere Details zum `ultralytics` Paket: [https://pypi.org/project/ultralytics/](https://pypi.org/project/ultralytics/). Installieren Sie das `ultralytics` Paket mit Pip oder aktualisieren Sie eine bestehende Installation, indem Sie `pip install -U ultralytics` ausführen. Besuchen Sie den Python Package Index (PyPI) für weitere Details zum `ultralytics` Paket: [https://pypi.org/project/ultralytics/](https://pypi.org/project/ultralytics/).
@ -39,7 +39,7 @@ Ultralytics bietet verschiedene Installationsmethoden, darunter Pip, Conda und D
conda install -c conda-forge ultralytics conda install -c conda-forge ultralytics
``` ```
!!! Hinweis !!! Note
Wenn Sie in einer CUDA-Umgebung installieren, ist es am besten, `ultralytics`, `pytorch` und `pytorch-cuda` im selben Befehl zu installieren, um dem Conda-Paketmanager zu ermöglichen, Konflikte zu lösen, oder `pytorch-cuda` als letztes zu installieren, damit es das CPU-spezifische `pytorch` Paket bei Bedarf überschreiben kann. Wenn Sie in einer CUDA-Umgebung installieren, ist es am besten, `ultralytics`, `pytorch` und `pytorch-cuda` im selben Befehl zu installieren, um dem Conda-Paketmanager zu ermöglichen, Konflikte zu lösen, oder `pytorch-cuda` als letztes zu installieren, damit es das CPU-spezifische `pytorch` Paket bei Bedarf überschreiben kann.
```bash ```bash
@ -89,7 +89,7 @@ Siehe die `ultralytics` [requirements.txt](https://github.com/ultralytics/ultral
<strong>Watch:</strong> Ultralytics YOLO Quick Start Guide <strong>Watch:</strong> Ultralytics YOLO Quick Start Guide
</p> </p>
!!! Tipp "Tipp" !!! Tip "Tipp"
PyTorch-Anforderungen variieren je nach Betriebssystem und CUDA-Anforderungen, daher wird empfohlen, PyTorch zuerst gemäß den Anweisungen unter [https://pytorch.org/get-started/locally](https://pytorch.org/get-started/locally) zu installieren. PyTorch-Anforderungen variieren je nach Betriebssystem und CUDA-Anforderungen, daher wird empfohlen, PyTorch zuerst gemäß den Anweisungen unter [https://pytorch.org/get-started/locally](https://pytorch.org/get-started/locally) zu installieren.
@ -101,7 +101,7 @@ Siehe die `ultralytics` [requirements.txt](https://github.com/ultralytics/ultral
Die Befehlszeilenschnittstelle (CLI) von Ultralytics ermöglicht einfache Einzeilige Befehle ohne die Notwendigkeit einer Python-Umgebung. CLI erfordert keine Anpassung oder Python-Code. Sie können alle Aufgaben einfach vom Terminal aus mit dem `yolo` Befehl ausführen. Schauen Sie sich den [CLI-Leitfaden](/../usage/cli.md) an, um mehr über die Verwendung von YOLOv8 über die Befehlszeile zu erfahren. Die Befehlszeilenschnittstelle (CLI) von Ultralytics ermöglicht einfache Einzeilige Befehle ohne die Notwendigkeit einer Python-Umgebung. CLI erfordert keine Anpassung oder Python-Code. Sie können alle Aufgaben einfach vom Terminal aus mit dem `yolo` Befehl ausführen. Schauen Sie sich den [CLI-Leitfaden](/../usage/cli.md) an, um mehr über die Verwendung von YOLOv8 über die Befehlszeile zu erfahren.
!!! Beispiel !!! Example
=== "Syntax" === "Syntax"
@ -155,7 +155,7 @@ Die Befehlszeilenschnittstelle (CLI) von Ultralytics ermöglicht einfache Einzei
yolo cfg yolo cfg
``` ```
!!! Warnung "Warnung" !!! Warning "Warnung"
Argumente müssen als `arg=val` Paare übergeben werden, getrennt durch ein Gleichheitszeichen `=` und durch Leerzeichen ` ` zwischen den Paaren. Verwenden Sie keine `--` Argumentpräfixe oder Kommata `,` zwischen den Argumenten. Argumente müssen als `arg=val` Paare übergeben werden, getrennt durch ein Gleichheitszeichen `=` und durch Leerzeichen ` ` zwischen den Paaren. Verwenden Sie keine `--` Argumentpräfixe oder Kommata `,` zwischen den Argumenten.
@ -171,7 +171,7 @@ Die Python-Schnittstelle von YOLOv8 ermöglicht eine nahtlose Integration in Ihr
Benutzer können beispielsweise ein Modell laden, es trainieren, seine Leistung an einem Validierungsset auswerten und sogar in das ONNX-Format exportieren, und das alles mit nur wenigen Codezeilen. Schauen Sie sich den [Python-Leitfaden](/../usage/python.md) an, um mehr über die Verwendung von YOLOv8 in Ihren_python_pro_jek_ten zu erfahren. Benutzer können beispielsweise ein Modell laden, es trainieren, seine Leistung an einem Validierungsset auswerten und sogar in das ONNX-Format exportieren, und das alles mit nur wenigen Codezeilen. Schauen Sie sich den [Python-Leitfaden](/../usage/python.md) an, um mehr über die Verwendung von YOLOv8 in Ihren_python_pro_jek_ten zu erfahren.
!!! Beispiel !!! Example
```python ```python
from ultralytics import YOLO from ultralytics import YOLO

@ -12,7 +12,7 @@ Bildklassifizierung ist die einfachste der drei Aufgaben und besteht darin, ein
Die Ausgabe eines Bildklassifizierers ist ein einzelnes Klassenlabel und eine Vertrauenspunktzahl. Bildklassifizierung ist nützlich, wenn Sie nur wissen müssen, zu welcher Klasse ein Bild gehört, und nicht wissen müssen, wo sich Objekte dieser Klasse befinden oder wie ihre genaue Form ist. Die Ausgabe eines Bildklassifizierers ist ein einzelnes Klassenlabel und eine Vertrauenspunktzahl. Bildklassifizierung ist nützlich, wenn Sie nur wissen müssen, zu welcher Klasse ein Bild gehört, und nicht wissen müssen, wo sich Objekte dieser Klasse befinden oder wie ihre genaue Form ist.
!!! tip "Tipp" !!! Tip "Tipp"
YOLOv8 Classify-Modelle verwenden den Suffix `-cls`, z.B. `yolov8n-cls.pt` und sind auf [ImageNet](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/ImageNet.yaml) vortrainiert. YOLOv8 Classify-Modelle verwenden den Suffix `-cls`, z.B. `yolov8n-cls.pt` und sind auf [ImageNet](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/ImageNet.yaml) vortrainiert.
@ -39,7 +39,7 @@ Hier werden vortrainierte YOLOv8 Classify-Modelle gezeigt. Detect-, Segment- und
Trainieren Sie das YOLOv8n-cls-Modell auf dem MNIST160-Datensatz für 100 Epochen bei Bildgröße 64. Eine vollständige Liste der verfügbaren Argumente finden Sie auf der Seite [Konfiguration](/../usage/cfg.md). Trainieren Sie das YOLOv8n-cls-Modell auf dem MNIST160-Datensatz für 100 Epochen bei Bildgröße 64. Eine vollständige Liste der verfügbaren Argumente finden Sie auf der Seite [Konfiguration](/../usage/cfg.md).
!!! example "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -76,7 +76,7 @@ Das Datenformat für YOLO-Klassifizierungsdatensätze finden Sie im Detail im [D
Validieren Sie die Genauigkeit des trainierten YOLOv8n-cls-Modells auf dem MNIST160-Datensatz. Kein Argument muss übergeben werden, da das `modell` seine Trainings`daten` und Argumente als Modellattribute behält. Validieren Sie die Genauigkeit des trainierten YOLOv8n-cls-Modells auf dem MNIST160-Datensatz. Kein Argument muss übergeben werden, da das `modell` seine Trainings`daten` und Argumente als Modellattribute behält.
!!! example "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -103,7 +103,7 @@ Validieren Sie die Genauigkeit des trainierten YOLOv8n-cls-Modells auf dem MNIST
Verwenden Sie ein trainiertes YOLOv8n-cls-Modell, um Vorhersagen auf Bildern durchzuführen. Verwenden Sie ein trainiertes YOLOv8n-cls-Modell, um Vorhersagen auf Bildern durchzuführen.
!!! example "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -130,7 +130,7 @@ Vollständige Details zum `predict`-Modus finden Sie auf der Seite [Vorhersage](
Exportieren Sie ein YOLOv8n-cls-Modell in ein anderes Format wie ONNX, CoreML usw. Exportieren Sie ein YOLOv8n-cls-Modell in ein anderes Format wie ONNX, CoreML usw.
!!! example "" !!! Example "Beispiel"
=== "Python" === "Python"

@ -23,7 +23,7 @@ Die Ausgabe eines Objekterkenners ist eine Menge von Begrenzungsrahmen, die die
<strong>Sehen Sie:</strong> Objekterkennung mit vortrainiertem Ultralytics YOLOv8 Modell. <strong>Sehen Sie:</strong> Objekterkennung mit vortrainiertem Ultralytics YOLOv8 Modell.
</p> </p>
!!! tip "Tipp" !!! Tip "Tipp"
YOLOv8 Detect Modelle sind die Standard YOLOv8 Modelle, zum Beispiel `yolov8n.pt`, und sind vortrainiert auf dem [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml)-Datensatz. YOLOv8 Detect Modelle sind die Standard YOLOv8 Modelle, zum Beispiel `yolov8n.pt`, und sind vortrainiert auf dem [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml)-Datensatz.
@ -50,7 +50,7 @@ Hier werden die vortrainierten YOLOv8 Detect Modelle gezeigt. Detect, Segment un
YOLOv8n auf dem COCO128-Datensatz für 100 Epochen bei Bildgröße 640 trainieren. Für eine vollständige Liste verfügbarer Argumente siehe die [Konfigurationsseite](/../usage/cfg.md). YOLOv8n auf dem COCO128-Datensatz für 100 Epochen bei Bildgröße 640 trainieren. Für eine vollständige Liste verfügbarer Argumente siehe die [Konfigurationsseite](/../usage/cfg.md).
!!! example "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -86,7 +86,7 @@ Das Datenformat für YOLO-Erkennungsdatensätze finden Sie detailliert im [Datas
Genauigkeit des trainierten YOLOv8n-Modells auf dem COCO128-Datensatz validieren. Es müssen keine Argumente übergeben werden, da das `modell` seine Trainingsdaten und Argumente als Modellattribute beibehält. Genauigkeit des trainierten YOLOv8n-Modells auf dem COCO128-Datensatz validieren. Es müssen keine Argumente übergeben werden, da das `modell` seine Trainingsdaten und Argumente als Modellattribute beibehält.
!!! example "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -115,7 +115,7 @@ Genauigkeit des trainierten YOLOv8n-Modells auf dem COCO128-Datensatz validieren
Ein trainiertes YOLOv8n-Modell verwenden, um Vorhersagen auf Bildern durchzuführen. Ein trainiertes YOLOv8n-Modell verwenden, um Vorhersagen auf Bildern durchzuführen.
!!! example "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -142,7 +142,7 @@ Volle Details über den `predict`-Modus finden Sie auf der [Predict-Seite](https
Ein YOLOv8n-Modell in ein anderes Format wie ONNX, CoreML usw. exportieren. Ein YOLOv8n-Modell in ein anderes Format wie ONNX, CoreML usw. exportieren.
!!! example "" !!! Example "Beispiel"
=== "Python" === "Python"

@ -11,7 +11,7 @@ keywords: Ultralytics, YOLOv8, Erkennung, Segmentierung, Klassifizierung, Pose-S
YOLOv8 ist ein KI-Framework, das mehrere Aufgaben im Bereich der Computer Vision **unterstützt**. Das Framework kann für die [Erkennung](detect.md), [Segmentierung](segment.md), [Klassifizierung](classify.md) und die [Pose](pose.md)-Schätzung verwendet werden. Jede dieser Aufgaben hat ein unterschiedliches Ziel und Anwendungsgebiete. YOLOv8 ist ein KI-Framework, das mehrere Aufgaben im Bereich der Computer Vision **unterstützt**. Das Framework kann für die [Erkennung](detect.md), [Segmentierung](segment.md), [Klassifizierung](classify.md) und die [Pose](pose.md)-Schätzung verwendet werden. Jede dieser Aufgaben hat ein unterschiedliches Ziel und Anwendungsgebiete.
!!! Hinweis !!! Note
🚧 Unsere mehrsprachigen Dokumentation befindet sich derzeit im Aufbau und wir arbeiten hart daran, sie zu verbessern. Danke für Ihre Geduld! 🙏 🚧 Unsere mehrsprachigen Dokumentation befindet sich derzeit im Aufbau und wir arbeiten hart daran, sie zu verbessern. Danke für Ihre Geduld! 🙏

@ -23,7 +23,7 @@ Das Ergebnis eines Pose-Schätzungsmodells ist eine Gruppe von Punkten, die die
<strong>Ansehen:</strong> Pose-Schätzung mit Ultralytics YOLOv8. <strong>Ansehen:</strong> Pose-Schätzung mit Ultralytics YOLOv8.
</p> </p>
!!! Tipp "Tipp" !!! Tip "Tipp"
YOLOv8 _pose_-Modelle verwenden den Suffix `-pose`, z. B. `yolov8n-pose.pt`. Diese Modelle sind auf dem [COCO-Schlüsselpunkte](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml)-Datensatz trainiert und für eine Vielzahl von Pose-Schätzungsaufgaben geeignet. YOLOv8 _pose_-Modelle verwenden den Suffix `-pose`, z. B. `yolov8n-pose.pt`. Diese Modelle sind auf dem [COCO-Schlüsselpunkte](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml)-Datensatz trainiert und für eine Vielzahl von Pose-Schätzungsaufgaben geeignet.
@ -51,7 +51,7 @@ Hier werden vortrainierte YOLOv8 Pose-Modelle gezeigt. Erkennungs-, Segmentierun
Trainieren Sie ein YOLOv8-Pose-Modell auf dem COCO128-Pose-Datensatz. Trainieren Sie ein YOLOv8-Pose-Modell auf dem COCO128-Pose-Datensatz.
!!! Beispiel "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -87,7 +87,7 @@ Das YOLO-Pose-Datensatzformat finden Sie detailliert im [Datensatz-Leitfaden](..
Die Genauigkeit des trainierten YOLOv8n-Pose-Modells auf dem COCO128-Pose-Datensatz validieren. Es müssen keine Argumente übergeben werden, da das `Modell` seine Trainings`daten` und Argumente als Modellattribute beibehält. Die Genauigkeit des trainierten YOLOv8n-Pose-Modells auf dem COCO128-Pose-Datensatz validieren. Es müssen keine Argumente übergeben werden, da das `Modell` seine Trainings`daten` und Argumente als Modellattribute beibehält.
!!! Beispiel "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -116,7 +116,7 @@ Die Genauigkeit des trainierten YOLOv8n-Pose-Modells auf dem COCO128-Pose-Datens
Ein trainiertes YOLOv8n-Pose-Modell verwenden, um Vorhersagen auf Bildern zu machen. Ein trainiertes YOLOv8n-Pose-Modell verwenden, um Vorhersagen auf Bildern zu machen.
!!! Beispiel "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -143,7 +143,7 @@ Vollständige `predict`-Modusdetails finden Sie auf der [Vorhersage](https://doc
Ein YOLOv8n-Pose-Modell in ein anderes Format wie ONNX, CoreML usw. exportieren. Ein YOLOv8n-Pose-Modell in ein anderes Format wie ONNX, CoreML usw. exportieren.
!!! Beispiel "" !!! Example "Beispiel"
=== "Python" === "Python"

@ -23,7 +23,7 @@ Das Ergebnis eines Instanzsegmentierungsmodells ist eine Reihe von Masken oder K
<strong>Schauen Sie:</strong> Führen Sie Segmentierung mit dem vortrainierten Ultralytics YOLOv8 Modell in Python aus. <strong>Schauen Sie:</strong> Führen Sie Segmentierung mit dem vortrainierten Ultralytics YOLOv8 Modell in Python aus.
</p> </p>
!!! Tipp "Tipp" !!! Tip "Tipp"
YOLOv8 Segment-Modelle verwenden das Suffix `-seg`, d.h. `yolov8n-seg.pt` und sind auf dem [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml)-Datensatz vortrainiert. YOLOv8 Segment-Modelle verwenden das Suffix `-seg`, d.h. `yolov8n-seg.pt` und sind auf dem [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml)-Datensatz vortrainiert.
@ -50,7 +50,7 @@ Hier werden vortrainierte YOLOv8 Segment-Modelle gezeigt. Detect-, Segment- und
Trainieren Sie YOLOv8n-seg auf dem COCO128-seg-Datensatz für 100 Epochen mit einer Bildgröße von 640. Eine vollständige Liste der verfügbaren Argumente finden Sie auf der Seite [Konfiguration](/../usage/cfg.md). Trainieren Sie YOLOv8n-seg auf dem COCO128-seg-Datensatz für 100 Epochen mit einer Bildgröße von 640. Eine vollständige Liste der verfügbaren Argumente finden Sie auf der Seite [Konfiguration](/../usage/cfg.md).
!!! Beispiel "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -86,7 +86,7 @@ Das YOLO Segmentierungsdatenformat finden Sie detailliert im [Dataset Guide](../
Validieren Sie die Genauigkeit des trainierten YOLOv8n-seg-Modells auf dem COCO128-seg-Datensatz. Es müssen keine Argumente übergeben werden, da das `Modell` seine Trainingsdaten und -argumente als Modellattribute behält. Validieren Sie die Genauigkeit des trainierten YOLOv8n-seg-Modells auf dem COCO128-seg-Datensatz. Es müssen keine Argumente übergeben werden, da das `Modell` seine Trainingsdaten und -argumente als Modellattribute behält.
!!! Beispiel "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -119,7 +119,7 @@ Validieren Sie die Genauigkeit des trainierten YOLOv8n-seg-Modells auf dem COCO1
Verwenden Sie ein trainiertes YOLOv8n-seg-Modell für Vorhersagen auf Bildern. Verwenden Sie ein trainiertes YOLOv8n-seg-Modell für Vorhersagen auf Bildern.
!!! Beispiel "" !!! Example "Beispiel"
=== "Python" === "Python"
@ -146,7 +146,7 @@ Die vollständigen Details zum `predict`-Modus finden Sie auf der Seite [Predict
Exportieren Sie ein YOLOv8n-seg-Modell in ein anderes Format wie ONNX, CoreML usw. Exportieren Sie ein YOLOv8n-seg-Modell in ein anderes Format wie ONNX, CoreML usw.
!!! Beispiel "" !!! Example "Beispiel"
=== "Python" === "Python"

@ -28,7 +28,7 @@ The Caltech-101 dataset is extensively used for training and evaluating deep lea
To train a YOLO model on the Caltech-101 dataset for 100 epochs, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLO model on the Caltech-101 dataset for 100 epochs, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -61,7 +61,7 @@ The example showcases the variety and complexity of the objects in the Caltech-1
If you use the Caltech-101 dataset in your research or development work, please cite the following paper: If you use the Caltech-101 dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -28,7 +28,7 @@ The Caltech-256 dataset is extensively used for training and evaluating deep lea
To train a YOLO model on the Caltech-256 dataset for 100 epochs, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLO model on the Caltech-256 dataset for 100 epochs, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -61,7 +61,7 @@ The example showcases the diversity and complexity of the objects in the Caltech
If you use the Caltech-256 dataset in your research or development work, please cite the following paper: If you use the Caltech-256 dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -31,7 +31,7 @@ The CIFAR-10 dataset is widely used for training and evaluating deep learning mo
To train a YOLO model on the CIFAR-10 dataset for 100 epochs with an image size of 32x32, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLO model on the CIFAR-10 dataset for 100 epochs with an image size of 32x32, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -64,7 +64,7 @@ The example showcases the variety and complexity of the objects in the CIFAR-10
If you use the CIFAR-10 dataset in your research or development work, please cite the following paper: If you use the CIFAR-10 dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -31,7 +31,7 @@ The CIFAR-100 dataset is extensively used for training and evaluating deep learn
To train a YOLO model on the CIFAR-100 dataset for 100 epochs with an image size of 32x32, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLO model on the CIFAR-100 dataset for 100 epochs with an image size of 32x32, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -64,7 +64,7 @@ The example showcases the variety and complexity of the objects in the CIFAR-100
If you use the CIFAR-100 dataset in your research or development work, please cite the following paper: If you use the CIFAR-100 dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -45,7 +45,7 @@ The Fashion-MNIST dataset is widely used for training and evaluating deep learni
To train a CNN model on the Fashion-MNIST dataset for 100 epochs with an image size of 28x28, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a CNN model on the Fashion-MNIST dataset for 100 epochs with an image size of 28x28, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"

@ -31,7 +31,7 @@ The ImageNet dataset is widely used for training and evaluating deep learning mo
To train a deep learning model on the ImageNet dataset for 100 epochs with an image size of 224x224, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a deep learning model on the ImageNet dataset for 100 epochs with an image size of 224x224, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -64,7 +64,7 @@ The example showcases the variety and complexity of the images in the ImageNet d
If you use the ImageNet dataset in your research or development work, please cite the following paper: If you use the ImageNet dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -27,7 +27,7 @@ The ImageNet10 dataset is useful for quickly testing and debugging computer visi
To test a deep learning model on the ImageNet10 dataset with an image size of 224x224, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To test a deep learning model on the ImageNet10 dataset with an image size of 224x224, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Test Example" !!! Example "Test Example"
=== "Python" === "Python"
@ -59,7 +59,7 @@ The example showcases the variety and complexity of the images in the ImageNet10
If you use the ImageNet10 dataset in your research or development work, please cite the original ImageNet paper: If you use the ImageNet10 dataset in your research or development work, please cite the original ImageNet paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -29,7 +29,7 @@ The ImageNette dataset is widely used for training and evaluating deep learning
To train a model on the ImageNette dataset for 100 epochs with a standard image size of 224x224, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a model on the ImageNette dataset for 100 epochs with a standard image size of 224x224, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -64,7 +64,7 @@ For faster prototyping and training, the ImageNette dataset is also available in
To use these datasets, simply replace 'imagenette' with 'imagenette160' or 'imagenette320' in the training command. The following code snippets illustrate this: To use these datasets, simply replace 'imagenette' with 'imagenette160' or 'imagenette320' in the training command. The following code snippets illustrate this:
!!! example "Train Example with ImageNette160" !!! Example "Train Example with ImageNette160"
=== "Python" === "Python"
@ -85,7 +85,7 @@ To use these datasets, simply replace 'imagenette' with 'imagenette160' or 'imag
yolo detect train data=imagenette160 model=yolov8n-cls.pt epochs=100 imgsz=160 yolo detect train data=imagenette160 model=yolov8n-cls.pt epochs=100 imgsz=160
``` ```
!!! example "Train Example with ImageNette320" !!! Example "Train Example with ImageNette320"
=== "Python" === "Python"

@ -26,7 +26,7 @@ The ImageWoof dataset is widely used for training and evaluating deep learning m
To train a CNN model on the ImageWoof dataset for 100 epochs with an image size of 224x224, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a CNN model on the ImageWoof dataset for 100 epochs with an image size of 224x224, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"

@ -80,7 +80,7 @@ In this example, the `train` directory contains subdirectories for each class in
## Usage ## Usage
!!! example "" !!! Example ""
=== "Python" === "Python"

@ -34,7 +34,7 @@ The MNIST dataset is widely used for training and evaluating deep learning model
To train a CNN model on the MNIST dataset for 100 epochs with an image size of 32x32, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a CNN model on the MNIST dataset for 100 epochs with an image size of 32x32, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -69,7 +69,7 @@ If you use the MNIST dataset in your
research or development work, please cite the following paper: research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -8,7 +8,7 @@ keywords: Argoverse dataset, autonomous driving, YOLO, 3D tracking, motion forec
The [Argoverse](https://www.argoverse.org/) dataset is a collection of data designed to support research in autonomous driving tasks, such as 3D tracking, motion forecasting, and stereo depth estimation. Developed by Argo AI, the dataset provides a wide range of high-quality sensor data, including high-resolution images, LiDAR point clouds, and map data. The [Argoverse](https://www.argoverse.org/) dataset is a collection of data designed to support research in autonomous driving tasks, such as 3D tracking, motion forecasting, and stereo depth estimation. Developed by Argo AI, the dataset provides a wide range of high-quality sensor data, including high-resolution images, LiDAR point clouds, and map data.
!!! note !!! Note
The Argoverse dataset *.zip file required for training was removed from Amazon S3 after the shutdown of Argo AI by Ford, but we have made it available for manual download on [Google Drive](https://drive.google.com/file/d/1st9qW3BeIwQsnR0t8mRpvbsSWIo16ACi/view?usp=drive_link). The Argoverse dataset *.zip file required for training was removed from Amazon S3 after the shutdown of Argo AI by Ford, but we have made it available for manual download on [Google Drive](https://drive.google.com/file/d/1st9qW3BeIwQsnR0t8mRpvbsSWIo16ACi/view?usp=drive_link).
@ -35,7 +35,7 @@ The Argoverse dataset is widely used for training and evaluating deep learning m
A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. For the case of the Argoverse dataset, the `Argoverse.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml). A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. For the case of the Argoverse dataset, the `Argoverse.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml).
!!! example "ultralytics/cfg/datasets/Argoverse.yaml" !!! Example "ultralytics/cfg/datasets/Argoverse.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/Argoverse.yaml" --8<-- "ultralytics/cfg/datasets/Argoverse.yaml"
@ -45,7 +45,7 @@ A YAML (Yet Another Markup Language) file is used to define the dataset configur
To train a YOLOv8n model on the Argoverse dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLOv8n model on the Argoverse dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -80,7 +80,7 @@ The example showcases the variety and complexity of the data in the Argoverse da
If you use the Argoverse dataset in your research or development work, please cite the following paper: If you use the Argoverse dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -31,7 +31,7 @@ The COCO dataset is widely used for training and evaluating deep learning models
A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the COCO dataset, the `coco.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml). A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the COCO dataset, the `coco.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml).
!!! example "ultralytics/cfg/datasets/coco.yaml" !!! Example "ultralytics/cfg/datasets/coco.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/coco.yaml" --8<-- "ultralytics/cfg/datasets/coco.yaml"
@ -41,7 +41,7 @@ A YAML (Yet Another Markup Language) file is used to define the dataset configur
To train a YOLOv8n model on the COCO dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLOv8n model on the COCO dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -76,7 +76,7 @@ The example showcases the variety and complexity of the images in the COCO datas
If you use the COCO dataset in your research or development work, please cite the following paper: If you use the COCO dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -17,7 +17,7 @@ and [YOLOv8](https://github.com/ultralytics/ultralytics).
A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the COCO8 dataset, the `coco8.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8.yaml). A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the COCO8 dataset, the `coco8.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8.yaml).
!!! example "ultralytics/cfg/datasets/coco8.yaml" !!! Example "ultralytics/cfg/datasets/coco8.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/coco8.yaml" --8<-- "ultralytics/cfg/datasets/coco8.yaml"
@ -27,7 +27,7 @@ A YAML (Yet Another Markup Language) file is used to define the dataset configur
To train a YOLOv8n model on the COCO8 dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLOv8n model on the COCO8 dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -62,7 +62,7 @@ The example showcases the variety and complexity of the images in the COCO8 data
If you use the COCO dataset in your research or development work, please cite the following paper: If you use the COCO dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -30,7 +30,7 @@ The Global Wheat Head Dataset is widely used for training and evaluating deep le
A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. For the case of the Global Wheat Head Dataset, the `GlobalWheat2020.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/GlobalWheat2020.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/GlobalWheat2020.yaml). A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. For the case of the Global Wheat Head Dataset, the `GlobalWheat2020.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/GlobalWheat2020.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/GlobalWheat2020.yaml).
!!! example "ultralytics/cfg/datasets/GlobalWheat2020.yaml" !!! Example "ultralytics/cfg/datasets/GlobalWheat2020.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/GlobalWheat2020.yaml" --8<-- "ultralytics/cfg/datasets/GlobalWheat2020.yaml"
@ -40,7 +40,7 @@ A YAML (Yet Another Markup Language) file is used to define the dataset configur
To train a YOLOv8n model on the Global Wheat Head Dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLOv8n model on the Global Wheat Head Dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -75,7 +75,7 @@ The example showcases the variety and complexity of the data in the Global Wheat
If you use the Global Wheat Head Dataset in your research or development work, please cite the following paper: If you use the Global Wheat Head Dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -48,7 +48,7 @@ When using the Ultralytics YOLO format, organize your training and validation im
Here's how you can use these formats to train your model: Here's how you can use these formats to train your model:
!!! example "" !!! Example ""
=== "Python" === "Python"
@ -93,7 +93,7 @@ If you have your own dataset and would like to use it for training detection mod
You can easily convert labels from the popular COCO dataset format to the YOLO format using the following code snippet: You can easily convert labels from the popular COCO dataset format to the YOLO format using the following code snippet:
!!! example "" !!! Example ""
=== "Python" === "Python"

@ -30,7 +30,7 @@ The Objects365 dataset is widely used for training and evaluating deep learning
A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. For the case of the Objects365 Dataset, the `Objects365.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Objects365.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Objects365.yaml). A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. For the case of the Objects365 Dataset, the `Objects365.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Objects365.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Objects365.yaml).
!!! example "ultralytics/cfg/datasets/Objects365.yaml" !!! Example "ultralytics/cfg/datasets/Objects365.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/Objects365.yaml" --8<-- "ultralytics/cfg/datasets/Objects365.yaml"
@ -40,7 +40,7 @@ A YAML (Yet Another Markup Language) file is used to define the dataset configur
To train a YOLOv8n model on the Objects365 dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLOv8n model on the Objects365 dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -75,7 +75,7 @@ The example showcases the variety and complexity of the data in the Objects365 d
If you use the Objects365 dataset in your research or development work, please cite the following paper: If you use the Objects365 dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -40,7 +40,7 @@ Open Images V7 is a cornerstone for training and evaluating state-of-the-art mod
Typically, datasets come with a YAML (Yet Another Markup Language) file that delineates the dataset's configuration. For the case of Open Images V7, a hypothetical `OpenImagesV7.yaml` might exist. For accurate paths and configurations, one should refer to the dataset's official repository or documentation. Typically, datasets come with a YAML (Yet Another Markup Language) file that delineates the dataset's configuration. For the case of Open Images V7, a hypothetical `OpenImagesV7.yaml` might exist. For accurate paths and configurations, one should refer to the dataset's official repository or documentation.
!!! example "OpenImagesV7.yaml" !!! Example "OpenImagesV7.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/open-images-v7.yaml" --8<-- "ultralytics/cfg/datasets/open-images-v7.yaml"
@ -50,7 +50,7 @@ Typically, datasets come with a YAML (Yet Another Markup Language) file that del
To train a YOLOv8n model on the Open Images V7 dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLOv8n model on the Open Images V7 dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! warning !!! Warning
The complete Open Images V7 dataset comprises 1,743,042 training images and 41,620 validation images, requiring approximately **561 GB of storage space** upon download. The complete Open Images V7 dataset comprises 1,743,042 training images and 41,620 validation images, requiring approximately **561 GB of storage space** upon download.
@ -59,7 +59,7 @@ To train a YOLOv8n model on the Open Images V7 dataset for 100 epochs with an im
- Verify that your device has enough storage capacity. - Verify that your device has enough storage capacity.
- Ensure a robust and speedy internet connection. - Ensure a robust and speedy internet connection.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -94,7 +94,7 @@ Researchers can gain invaluable insights into the array of computer vision chall
For those employing Open Images V7 in their work, it's prudent to cite the relevant papers and acknowledge the creators: For those employing Open Images V7 in their work, it's prudent to cite the relevant papers and acknowledge the creators:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -32,7 +32,7 @@ The SKU-110k dataset is widely used for training and evaluating deep learning mo
A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. For the case of the SKU-110K dataset, the `SKU-110K.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/SKU-110K.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/SKU-110K.yaml). A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. For the case of the SKU-110K dataset, the `SKU-110K.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/SKU-110K.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/SKU-110K.yaml).
!!! example "ultralytics/cfg/datasets/SKU-110K.yaml" !!! Example "ultralytics/cfg/datasets/SKU-110K.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/SKU-110K.yaml" --8<-- "ultralytics/cfg/datasets/SKU-110K.yaml"
@ -42,7 +42,7 @@ A YAML (Yet Another Markup Language) file is used to define the dataset configur
To train a YOLOv8n model on the SKU-110K dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLOv8n model on the SKU-110K dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -77,7 +77,7 @@ The example showcases the variety and complexity of the data in the SKU-110k dat
If you use the SKU-110k dataset in your research or development work, please cite the following paper: If you use the SKU-110k dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -28,7 +28,7 @@ The VisDrone dataset is widely used for training and evaluating deep learning mo
A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the Visdrone dataset, the `VisDrone.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/VisDrone.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/VisDrone.yaml). A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the Visdrone dataset, the `VisDrone.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/VisDrone.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/VisDrone.yaml).
!!! example "ultralytics/cfg/datasets/VisDrone.yaml" !!! Example "ultralytics/cfg/datasets/VisDrone.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/VisDrone.yaml" --8<-- "ultralytics/cfg/datasets/VisDrone.yaml"
@ -38,7 +38,7 @@ A YAML (Yet Another Markup Language) file is used to define the dataset configur
To train a YOLOv8n model on the VisDrone dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLOv8n model on the VisDrone dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -73,7 +73,7 @@ The example showcases the variety and complexity of the data in the VisDrone dat
If you use the VisDrone dataset in your research or development work, please cite the following paper: If you use the VisDrone dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -31,7 +31,7 @@ The VOC dataset is widely used for training and evaluating deep learning models
A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the VOC dataset, the `VOC.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/VOC.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/VOC.yaml). A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the VOC dataset, the `VOC.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/VOC.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/VOC.yaml).
!!! example "ultralytics/cfg/datasets/VOC.yaml" !!! Example "ultralytics/cfg/datasets/VOC.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/VOC.yaml" --8<-- "ultralytics/cfg/datasets/VOC.yaml"
@ -41,7 +41,7 @@ A YAML (Yet Another Markup Language) file is used to define the dataset configur
To train a YOLOv8n model on the VOC dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLOv8n model on the VOC dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -77,7 +77,7 @@ The example showcases the variety and complexity of the images in the VOC datase
If you use the VOC dataset in your research or development work, please cite the following paper: If you use the VOC dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -34,7 +34,7 @@ The xView dataset is widely used for training and evaluating deep learning model
A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the xView dataset, the `xView.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/xView.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/xView.yaml). A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the xView dataset, the `xView.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/xView.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/xView.yaml).
!!! example "ultralytics/cfg/datasets/xView.yaml" !!! Example "ultralytics/cfg/datasets/xView.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/xView.yaml" --8<-- "ultralytics/cfg/datasets/xView.yaml"
@ -44,7 +44,7 @@ A YAML (Yet Another Markup Language) file is used to define the dataset configur
To train a model on the xView dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a model on the xView dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -79,7 +79,7 @@ The example showcases the variety and complexity of the data in the xView datase
If you use the xView dataset in your research or development work, please cite the following paper: If you use the xView dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -78,7 +78,7 @@ Contributing a new dataset involves several steps to ensure that it aligns well
3. **Export Annotations**: Convert these annotations into the YOLO *.txt file format which Ultralytics supports. 3. **Export Annotations**: Convert these annotations into the YOLO *.txt file format which Ultralytics supports.
4. **Organize Dataset**: Arrange your dataset into the correct folder structure. You should have `train/` and `val/` top-level directories, and within each, an `images/` and `labels/` sub-directory. 4. **Organize Dataset**: Arrange your dataset into the correct folder structure. You should have `train/` and `val/` top-level directories, and within each, an `images/` and `labels/` subdirectory.
``` ```
dataset/ dataset/
@ -100,7 +100,7 @@ Contributing a new dataset involves several steps to ensure that it aligns well
### Example Code to Optimize and Zip a Dataset ### Example Code to Optimize and Zip a Dataset
!!! example "Optimize and Zip a Dataset" !!! Example "Optimize and Zip a Dataset"
=== "Python" === "Python"

@ -60,7 +60,7 @@ DOTA v2 serves as a benchmark for training and evaluating models specifically ta
Typically, datasets incorporate a YAML (Yet Another Markup Language) file detailing the dataset's configuration. For DOTA v2, a hypothetical `DOTAv2.yaml` could be used. For accurate paths and configurations, it's vital to consult the dataset's official repository or documentation. Typically, datasets incorporate a YAML (Yet Another Markup Language) file detailing the dataset's configuration. For DOTA v2, a hypothetical `DOTAv2.yaml` could be used. For accurate paths and configurations, it's vital to consult the dataset's official repository or documentation.
!!! example "DOTAv2.yaml" !!! Example "DOTAv2.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/DOTAv2.yaml" --8<-- "ultralytics/cfg/datasets/DOTAv2.yaml"
@ -70,11 +70,11 @@ Typically, datasets incorporate a YAML (Yet Another Markup Language) file detail
To train a model on the DOTA v2 dataset, you can utilize the following code snippets. Always refer to your model's documentation for a thorough list of available arguments. To train a model on the DOTA v2 dataset, you can utilize the following code snippets. Always refer to your model's documentation for a thorough list of available arguments.
!!! warning !!! Warning
Please note that all images and associated annotations in the DOTAv2 dataset can be used for academic purposes, but commercial use is prohibited. Your understanding and respect for the dataset creators' wishes are greatly appreciated! Please note that all images and associated annotations in the DOTAv2 dataset can be used for academic purposes, but commercial use is prohibited. Your understanding and respect for the dataset creators' wishes are greatly appreciated!
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -109,7 +109,7 @@ The dataset's richness offers invaluable insights into object detection challeng
For those leveraging DOTA v2 in their endeavors, it's pertinent to cite the relevant research papers: For those leveraging DOTA v2 in their endeavors, it's pertinent to cite the relevant research papers:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -32,7 +32,7 @@ An example of a `*.txt` label file for the above image, which contains an object
To train a model using these OBB formats: To train a model using these OBB formats:
!!! example "" !!! Example ""
=== "Python" === "Python"
@ -69,7 +69,7 @@ For those looking to introduce their own datasets with oriented bounding boxes,
Transitioning labels from the DOTA dataset format to the YOLO OBB format can be achieved with this script: Transitioning labels from the DOTA dataset format to the YOLO OBB format can be achieved with this script:
!!! example "" !!! Example ""
=== "Python" === "Python"

@ -32,7 +32,7 @@ The COCO-Pose dataset is specifically used for training and evaluating deep lear
A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the COCO-Pose dataset, the `coco-pose.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml). A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the COCO-Pose dataset, the `coco-pose.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml).
!!! example "ultralytics/cfg/datasets/coco-pose.yaml" !!! Example "ultralytics/cfg/datasets/coco-pose.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/coco-pose.yaml" --8<-- "ultralytics/cfg/datasets/coco-pose.yaml"
@ -42,7 +42,7 @@ A YAML (Yet Another Markup Language) file is used to define the dataset configur
To train a YOLOv8n-pose model on the COCO-Pose dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLOv8n-pose model on the COCO-Pose dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -77,7 +77,7 @@ The example showcases the variety and complexity of the images in the COCO-Pose
If you use the COCO-Pose dataset in your research or development work, please cite the following paper: If you use the COCO-Pose dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -17,7 +17,7 @@ and [YOLOv8](https://github.com/ultralytics/ultralytics).
A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the COCO8-Pose dataset, the `coco8-pose.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-pose.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-pose.yaml). A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the COCO8-Pose dataset, the `coco8-pose.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-pose.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-pose.yaml).
!!! example "ultralytics/cfg/datasets/coco8-pose.yaml" !!! Example "ultralytics/cfg/datasets/coco8-pose.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/coco8-pose.yaml" --8<-- "ultralytics/cfg/datasets/coco8-pose.yaml"
@ -27,7 +27,7 @@ A YAML (Yet Another Markup Language) file is used to define the dataset configur
To train a YOLOv8n-pose model on the COCO8-Pose dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLOv8n-pose model on the COCO8-Pose dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -62,7 +62,7 @@ The example showcases the variety and complexity of the images in the COCO8-Pose
If you use the COCO dataset in your research or development work, please cite the following paper: If you use the COCO dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -64,7 +64,7 @@ The `train` and `val` fields specify the paths to the directories containing the
## Usage ## Usage
!!! example "" !!! Example ""
=== "Python" === "Python"
@ -125,7 +125,7 @@ If you have your own dataset and would like to use it for training pose estimati
Ultralytics provides a convenient conversion tool to convert labels from the popular COCO dataset format to YOLO format: Ultralytics provides a convenient conversion tool to convert labels from the popular COCO dataset format to YOLO format:
!!! example "" !!! Example ""
=== "Python" === "Python"

@ -19,7 +19,7 @@ and [YOLOv8](https://github.com/ultralytics/ultralytics).
A YAML (Yet Another Markup Language) file serves as the means to specify the configuration details of a dataset. It encompasses crucial data such as file paths, class definitions, and other pertinent information. Specifically, for the `tiger-pose.yaml` file, you can check [Ultralytics Tiger-Pose Dataset Configuration File](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/tiger-pose.yaml). A YAML (Yet Another Markup Language) file serves as the means to specify the configuration details of a dataset. It encompasses crucial data such as file paths, class definitions, and other pertinent information. Specifically, for the `tiger-pose.yaml` file, you can check [Ultralytics Tiger-Pose Dataset Configuration File](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/tiger-pose.yaml).
!!! example "ultralytics/cfg/datasets/tiger-pose.yaml" !!! Example "ultralytics/cfg/datasets/tiger-pose.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/tiger-pose.yaml" --8<-- "ultralytics/cfg/datasets/tiger-pose.yaml"
@ -29,7 +29,7 @@ A YAML (Yet Another Markup Language) file serves as the means to specify the con
To train a YOLOv8n-pose model on the Tiger-Pose dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLOv8n-pose model on the Tiger-Pose dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -62,7 +62,7 @@ The example showcases the variety and complexity of the images in the Tiger-Pose
## Inference Example ## Inference Example
!!! example "Inference Example" !!! Example "Inference Example"
=== "Python" === "Python"

@ -31,7 +31,7 @@ COCO-Seg is widely used for training and evaluating deep learning models in inst
A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the COCO-Seg dataset, the `coco.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml). A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the COCO-Seg dataset, the `coco.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml).
!!! example "ultralytics/cfg/datasets/coco.yaml" !!! Example "ultralytics/cfg/datasets/coco.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/coco.yaml" --8<-- "ultralytics/cfg/datasets/coco.yaml"
@ -41,7 +41,7 @@ A YAML (Yet Another Markup Language) file is used to define the dataset configur
To train a YOLOv8n-seg model on the COCO-Seg dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLOv8n-seg model on the COCO-Seg dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -76,7 +76,7 @@ The example showcases the variety and complexity of the images in the COCO-Seg d
If you use the COCO-Seg dataset in your research or development work, please cite the original COCO paper and acknowledge the extension to COCO-Seg: If you use the COCO-Seg dataset in your research or development work, please cite the original COCO paper and acknowledge the extension to COCO-Seg:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -17,7 +17,7 @@ and [YOLOv8](https://github.com/ultralytics/ultralytics).
A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the COCO8-Seg dataset, the `coco8-seg.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-seg.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-seg.yaml). A YAML (Yet Another Markup Language) file is used to define the dataset configuration. It contains information about the dataset's paths, classes, and other relevant information. In the case of the COCO8-Seg dataset, the `coco8-seg.yaml` file is maintained at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-seg.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-seg.yaml).
!!! example "ultralytics/cfg/datasets/coco8-seg.yaml" !!! Example "ultralytics/cfg/datasets/coco8-seg.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/coco8-seg.yaml" --8<-- "ultralytics/cfg/datasets/coco8-seg.yaml"
@ -27,7 +27,7 @@ A YAML (Yet Another Markup Language) file is used to define the dataset configur
To train a YOLOv8n-seg model on the COCO8-Seg dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page. To train a YOLOv8n-seg model on the COCO8-Seg dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model [Training](../../modes/train.md) page.
!!! example "Train Example" !!! Example "Train Example"
=== "Python" === "Python"
@ -62,7 +62,7 @@ The example showcases the variety and complexity of the images in the COCO8-Seg
If you use the COCO dataset in your research or development work, please cite the following paper: If you use the COCO dataset in your research or development work, please cite the following paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -33,7 +33,7 @@ Here is an example of the YOLO dataset format for a single image with two object
1 0.504 0.000 0.501 0.004 0.498 0.004 0.493 0.010 0.492 0.0104 1 0.504 0.000 0.501 0.004 0.498 0.004 0.493 0.010 0.492 0.0104
``` ```
!!! tip "Tip" !!! Tip "Tip"
- The length of each row does **not** have to be equal. - The length of each row does **not** have to be equal.
- Each segmentation label must have a **minimum of 3 xy points**: `<class-index> <x1> <y1> <x2> <y2> <x3> <y3>` - Each segmentation label must have a **minimum of 3 xy points**: `<class-index> <x1> <y1> <x2> <y2> <x3> <y3>`
@ -66,7 +66,7 @@ The `train` and `val` fields specify the paths to the directories containing the
## Usage ## Usage
!!! example "" !!! Example ""
=== "Python" === "Python"
@ -101,7 +101,7 @@ If you have your own dataset and would like to use it for training segmentation
You can easily convert labels from the popular COCO dataset format to the YOLO format using the following code snippet: You can easily convert labels from the popular COCO dataset format to the YOLO format using the following code snippet:
!!! example "" !!! Example ""
=== "Python" === "Python"
@ -123,7 +123,7 @@ Auto-annotation is an essential feature that allows you to generate a segmentati
To auto-annotate your dataset using the Ultralytics framework, you can use the `auto_annotate` function as shown below: To auto-annotate your dataset using the Ultralytics framework, you can use the `auto_annotate` function as shown below:
!!! example "" !!! Example ""
=== "Python" === "Python"

@ -12,7 +12,7 @@ Multi-Object Detector doesn't need standalone training and directly supports pre
## Usage ## Usage
!!! example "" !!! Example ""
=== "Python" === "Python"

@ -69,7 +69,7 @@ The process is repeated until either the set number of iterations is reached or
Here's how to use the `model.tune()` method to utilize the `Tuner` class for hyperparameter tuning of YOLOv8n on COCO8 for 30 epochs with an AdamW optimizer and skipping plotting, checkpointing and validation other than on final epoch for faster Tuning. Here's how to use the `model.tune()` method to utilize the `Tuner` class for hyperparameter tuning of YOLOv8n on COCO8 for 30 epochs with an AdamW optimizer and skipping plotting, checkpointing and validation other than on final epoch for faster Tuning.
!!! example "" !!! Example ""
=== "Python" === "Python"

@ -167,7 +167,7 @@ That's it! Now you're equipped to use YOLOv8 with SAHI for both standard and sli
If you use SAHI in your research or development work, please cite the original SAHI paper and acknowledge the authors: If you use SAHI in your research or development work, please cite the original SAHI paper and acknowledge the authors:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -39,7 +39,7 @@ We take several measures to ensure the privacy and security of the data you entr
[Sentry](https://sentry.io/) is a developer-centric error tracking software that aids in identifying, diagnosing, and resolving issues in real-time, ensuring the robustness and reliability of applications. Within our package, it plays a crucial role by providing insights through crash reporting, significantly contributing to the stability and ongoing refinement of our software. [Sentry](https://sentry.io/) is a developer-centric error tracking software that aids in identifying, diagnosing, and resolving issues in real-time, ensuring the robustness and reliability of applications. Within our package, it plays a crucial role by providing insights through crash reporting, significantly contributing to the stability and ongoing refinement of our software.
!!! note !!! Note
Crash reporting via Sentry is activated only if the `sentry-sdk` Python package is pre-installed on your system. This package isn't included in the `ultralytics` prerequisites and won't be installed automatically by Ultralytics. Crash reporting via Sentry is activated only if the `sentry-sdk` Python package is pre-installed on your system. This package isn't included in the `ultralytics` prerequisites and won't be installed automatically by Ultralytics.
@ -74,7 +74,7 @@ To opt out of sending analytics and crash reports, you can simply set `sync=Fals
To gain insight into the current configuration of your settings, you can view them directly: To gain insight into the current configuration of your settings, you can view them directly:
!!! example "View settings" !!! Example "View settings"
=== "Python" === "Python"
You can use Python to view your settings. Start by importing the `settings` object from the `ultralytics` module. Print and return settings using the following commands: You can use Python to view your settings. Start by importing the `settings` object from the `ultralytics` module. Print and return settings using the following commands:
@ -98,7 +98,7 @@ To gain insight into the current configuration of your settings, you can view th
Ultralytics allows users to easily modify their settings. Changes can be performed in the following ways: Ultralytics allows users to easily modify their settings. Changes can be performed in the following ways:
!!! example "Update settings" !!! Example "Update settings"
=== "Python" === "Python"
Within the Python environment, call the `update` method on the `settings` object to change your settings: Within the Python environment, call the `update` method on the `settings` object to change your settings:

@ -43,7 +43,7 @@ FP16 (or half-precision) quantization converts the model's 32-bit floating-point
INT8 (or 8-bit integer) quantization further reduces the model's size and computation requirements by converting its 32-bit floating-point numbers to 8-bit integers. This quantization method can result in a significant speedup, but it may lead to a slight reduction in mean average precision (mAP) due to the lower numerical precision. INT8 (or 8-bit integer) quantization further reduces the model's size and computation requirements by converting its 32-bit floating-point numbers to 8-bit integers. This quantization method can result in a significant speedup, but it may lead to a slight reduction in mean average precision (mAP) due to the lower numerical precision.
!!! tip "mAP Reduction in INT8 Models" !!! Tip "mAP Reduction in INT8 Models"
The reduced numerical precision in INT8 models can lead to some loss of information during the quantization process, which may result in a slight decrease in mAP. However, this trade-off is often acceptable considering the substantial performance gains offered by INT8 quantization. The reduced numerical precision in INT8 models can lead to some loss of information during the quantization process, which may result in a slight decrease in mAP. However, this trade-off is often acceptable considering the substantial performance gains offered by INT8 quantization.

@ -30,7 +30,7 @@ You can download our [COCO8](https://github.com/ultralytics/hub/blob/main/exampl
The dataset YAML is the same standard YOLOv5 and YOLOv8 YAML format. The dataset YAML is the same standard YOLOv5 and YOLOv8 YAML format.
!!! example "coco8.yaml" !!! Example "coco8.yaml"
```yaml ```yaml
--8<-- "ultralytics/cfg/datasets/coco8.yaml" --8<-- "ultralytics/cfg/datasets/coco8.yaml"
@ -92,7 +92,7 @@ Next, [train a model](https://docs.ultralytics.com/hub/models/#train-model) on y
## Share Dataset ## Share Dataset
!!! info "Info" !!! Info "Info"
Ultralytics HUB's sharing functionality provides a convenient way to share datasets with others. This feature is designed to accommodate both existing Ultralytics HUB users and those who have yet to create an account. Ultralytics HUB's sharing functionality provides a convenient way to share datasets with others. This feature is designed to accommodate both existing Ultralytics HUB users and those who have yet to create an account.

@ -106,7 +106,7 @@ The JSON list contains information about the detected objects, their coordinates
YOLO detection models, such as `yolov8n.pt`, can return JSON responses from local inference, CLI API inference, and Python API inference. All of these methods produce the same JSON response format. YOLO detection models, such as `yolov8n.pt`, can return JSON responses from local inference, CLI API inference, and Python API inference. All of these methods produce the same JSON response format.
!!! example "Detect Model JSON Response" !!! Example "Detect Model JSON Response"
=== "Local" === "Local"
```python ```python
@ -200,7 +200,7 @@ YOLO detection models, such as `yolov8n.pt`, can return JSON responses from loca
YOLO segmentation models, such as `yolov8n-seg.pt`, can return JSON responses from local inference, CLI API inference, and Python API inference. All of these methods produce the same JSON response format. YOLO segmentation models, such as `yolov8n-seg.pt`, can return JSON responses from local inference, CLI API inference, and Python API inference. All of these methods produce the same JSON response format.
!!! example "Segment Model JSON Response" !!! Example "Segment Model JSON Response"
=== "Local" === "Local"
```python ```python
@ -337,7 +337,7 @@ YOLO segmentation models, such as `yolov8n-seg.pt`, can return JSON responses fr
YOLO pose models, such as `yolov8n-pose.pt`, can return JSON responses from local inference, CLI API inference, and Python API inference. All of these methods produce the same JSON response format. YOLO pose models, such as `yolov8n-pose.pt`, can return JSON responses from local inference, CLI API inference, and Python API inference. All of these methods produce the same JSON response format.
!!! example "Pose Model JSON Response" !!! Example "Pose Model JSON Response"
=== "Local" === "Local"
```python ```python

@ -58,7 +58,7 @@ In this step, you have to choose the project in which you want to create your mo
![Ultralytics HUB screenshot of the Train Model dialog with an arrow pointing to the project name](https://raw.githubusercontent.com/ultralytics/assets/main/docs/hub/models/hub_train_model_7.jpg) ![Ultralytics HUB screenshot of the Train Model dialog with an arrow pointing to the project name](https://raw.githubusercontent.com/ultralytics/assets/main/docs/hub/models/hub_train_model_7.jpg)
!!! info "Info" !!! Info "Info"
You can read more about the available [YOLOv8](https://docs.ultralytics.com/models/yolov8) (and [YOLOv5](https://docs.ultralytics.com/models/yolov5)) architectures in our documentation. You can read more about the available [YOLOv8](https://docs.ultralytics.com/models/yolov8) (and [YOLOv5](https://docs.ultralytics.com/models/yolov5)) architectures in our documentation.
@ -146,7 +146,7 @@ You can export your model to 13 different formats, including ONNX, OpenVINO, Cor
## Share Model ## Share Model
!!! info "Info" !!! Info "Info"
Ultralytics HUB's sharing functionality provides a convenient way to share models with others. This feature is designed to accommodate both existing Ultralytics HUB users and those who have yet to create an account. Ultralytics HUB's sharing functionality provides a convenient way to share models with others. This feature is designed to accommodate both existing Ultralytics HUB users and those who have yet to create an account.

@ -44,7 +44,7 @@ Next, [train a model](https://docs.ultralytics.com/hub/models/#train-model) insi
## Share Project ## Share Project
!!! info "Info" !!! Info "Info"
Ultralytics HUB's sharing functionality provides a convenient way to share projects with others. This feature is designed to accommodate both existing Ultralytics HUB users and those who have yet to create an account. Ultralytics HUB's sharing functionality provides a convenient way to share projects with others. This feature is designed to accommodate both existing Ultralytics HUB users and those who have yet to create an account.
@ -68,7 +68,7 @@ Set the general access to "Unlisted" and click **Save**.
![Ultralytics HUB screenshot of the Share Project dialog with an arrow pointing to the dropdown and one to the Save button](https://raw.githubusercontent.com/ultralytics/assets/main/docs/hub/projects/hub_share_project_3.jpg) ![Ultralytics HUB screenshot of the Share Project dialog with an arrow pointing to the dropdown and one to the Save button](https://raw.githubusercontent.com/ultralytics/assets/main/docs/hub/projects/hub_share_project_3.jpg)
!!! warning "Warning" !!! Warning "Warning"
When changing the general access of a project, the general access of the models inside the project will be changed as well. When changing the general access of a project, the general access of the models inside the project will be changed as well.
@ -108,7 +108,7 @@ Navigate to the Project page of the project you want to delete, open the project
![Ultralytics HUB screenshot of the Projects page with an arrow pointing to the Delete option of one of the projects](https://raw.githubusercontent.com/ultralytics/assets/main/docs/hub/projects/hub_delete_project_2.jpg) ![Ultralytics HUB screenshot of the Projects page with an arrow pointing to the Delete option of one of the projects](https://raw.githubusercontent.com/ultralytics/assets/main/docs/hub/projects/hub_delete_project_2.jpg)
!!! warning "Warning" !!! Warning "Warning"
When deleting a project, the models inside the project will be deleted as well. When deleting a project, the models inside the project will be deleted as well.

@ -26,7 +26,7 @@ By combining Ultralytics YOLOv8 with Comet ML, you unlock a range of benefits. T
To install the required packages, run: To install the required packages, run:
!!! tip "Installation" !!! Tip "Installation"
=== "CLI" === "CLI"
@ -39,7 +39,7 @@ To install the required packages, run:
After installing the required packages, you’ll need to sign up, get a [Comet API Key](https://www.comet.com/signup), and configure it. After installing the required packages, you’ll need to sign up, get a [Comet API Key](https://www.comet.com/signup), and configure it.
!!! tip "Configuring Comet ML" !!! Tip "Configuring Comet ML"
=== "CLI" === "CLI"
@ -61,7 +61,7 @@ comet_ml.init(project_name="comet-example-yolov8-coco128")
Before diving into the usage instructions, be sure to check out the range of [YOLOv8 models offered by Ultralytics](../models/index.md). This will help you choose the most appropriate model for your project requirements. Before diving into the usage instructions, be sure to check out the range of [YOLOv8 models offered by Ultralytics](../models/index.md). This will help you choose the most appropriate model for your project requirements.
!!! example "Usage" !!! Example "Usage"
=== "Python" === "Python"

@ -34,7 +34,7 @@ pip install mlflow
Make sure that MLflow logging is enabled in Ultralytics settings. Usually, this is controlled by the settings `mflow` key. See the [settings](https://docs.ultralytics.com/quickstart/#ultralytics-settings) page for more info. Make sure that MLflow logging is enabled in Ultralytics settings. Usually, this is controlled by the settings `mflow` key. See the [settings](https://docs.ultralytics.com/quickstart/#ultralytics-settings) page for more info.
!!! example "Update Ultralytics MLflow Settings" !!! Example "Update Ultralytics MLflow Settings"
=== "Python" === "Python"
Within the Python environment, call the `update` method on the `settings` object to change your settings: Within the Python environment, call the `update` method on the `settings` object to change your settings:

@ -27,7 +27,7 @@ OpenVINO, short for Open Visual Inference & Neural Network Optimization toolkit,
Export a YOLOv8n model to OpenVINO format and run inference with the exported model. Export a YOLOv8n model to OpenVINO format and run inference with the exported model.
!!! example "" !!! Example ""
=== "Python" === "Python"
@ -101,7 +101,7 @@ For more detailed steps and code snippets, refer to the [OpenVINO documentation]
YOLOv8 benchmarks below were run by the Ultralytics team on 4 different model formats measuring speed and accuracy: PyTorch, TorchScript, ONNX and OpenVINO. Benchmarks were run on Intel Flex and Arc GPUs, and on Intel Xeon CPUs at FP32 precision (with the `half=False` argument). YOLOv8 benchmarks below were run by the Ultralytics team on 4 different model formats measuring speed and accuracy: PyTorch, TorchScript, ONNX and OpenVINO. Benchmarks were run on Intel Flex and Arc GPUs, and on Intel Xeon CPUs at FP32 precision (with the `half=False` argument).
!!! note !!! Note
The benchmarking results below are for reference and might vary based on the exact hardware and software configuration of a system, as well as the current workload of the system at the time the benchmarks are run. The benchmarking results below are for reference and might vary based on the exact hardware and software configuration of a system, as well as the current workload of the system at the time the benchmarks are run.
@ -251,7 +251,7 @@ Benchmarks below run on 13th Gen Intel® Core® i7-13700H CPU at FP32 precision.
To reproduce the Ultralytics benchmarks above on all export [formats](../modes/export.md) run this code: To reproduce the Ultralytics benchmarks above on all export [formats](../modes/export.md) run this code:
!!! example "" !!! Example ""
=== "Python" === "Python"

@ -28,7 +28,7 @@ YOLOv8 also allows optional integration with [Weights & Biases](https://wandb.ai
To install the required packages, run: To install the required packages, run:
!!! tip "Installation" !!! Tip "Installation"
=== "CLI" === "CLI"
@ -42,7 +42,7 @@ To install the required packages, run:
## Usage ## Usage
!!! example "Usage" !!! Example "Usage"
=== "Python" === "Python"
@ -103,7 +103,7 @@ The following table lists the default search space parameters for hyperparameter
In this example, we demonstrate how to use a custom search space for hyperparameter tuning with Ray Tune and YOLOv8. By providing a custom search space, you can focus the tuning process on specific hyperparameters of interest. In this example, we demonstrate how to use a custom search space for hyperparameter tuning with Ray Tune and YOLOv8. By providing a custom search space, you can focus the tuning process on specific hyperparameters of interest.
!!! example "Usage" !!! Example "Usage"
```python ```python
from ultralytics import YOLO from ultralytics import YOLO

@ -8,7 +8,7 @@ keywords: Ultralytics, YOLOv8, Roboflow, vector analysis, confusion matrix, data
[Roboflow](https://roboflow.com/?ref=ultralytics) has everything you need to build and deploy computer vision models. Connect Roboflow at any step in your pipeline with APIs and SDKs, or use the end-to-end interface to automate the entire process from image to inference. Whether you’re in need of [data labeling](https://roboflow.com/annotate?ref=ultralytics), [model training](https://roboflow.com/train?ref=ultralytics), or [model deployment](https://roboflow.com/deploy?ref=ultralytics), Roboflow gives you building blocks to bring custom computer vision solutions to your project. [Roboflow](https://roboflow.com/?ref=ultralytics) has everything you need to build and deploy computer vision models. Connect Roboflow at any step in your pipeline with APIs and SDKs, or use the end-to-end interface to automate the entire process from image to inference. Whether you’re in need of [data labeling](https://roboflow.com/annotate?ref=ultralytics), [model training](https://roboflow.com/train?ref=ultralytics), or [model deployment](https://roboflow.com/deploy?ref=ultralytics), Roboflow gives you building blocks to bring custom computer vision solutions to your project.
!!! warning !!! Warning
Roboflow users can use Ultralytics under the [AGPL license](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) or procure an [Enterprise license](https://ultralytics.com/license) directly from Ultralytics. Be aware that Roboflow does **not** provide Ultralytics licenses, and it is the responsibility of the user to ensure appropriate licensing. Roboflow users can use Ultralytics under the [AGPL license](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) or procure an [Enterprise license](https://ultralytics.com/license) directly from Ultralytics. Be aware that Roboflow does **not** provide Ultralytics licenses, and it is the responsibility of the user to ensure appropriate licensing.

@ -40,7 +40,7 @@ The FastSAM models are easy to integrate into your Python applications. Ultralyt
To perform object detection on an image, use the `predict` method as shown below: To perform object detection on an image, use the `predict` method as shown below:
!!! example "" !!! Example ""
=== "Python" === "Python"
```python ```python
@ -87,7 +87,7 @@ This snippet demonstrates the simplicity of loading a pre-trained model and runn
Validation of the model on a dataset can be done as follows: Validation of the model on a dataset can be done as follows:
!!! example "" !!! Example ""
=== "Python" === "Python"
```python ```python
@ -168,7 +168,7 @@ Additionally, you can try FastSAM through a [Colab demo](https://colab.research.
We would like to acknowledge the FastSAM authors for their significant contributions in the field of real-time instance segmentation: We would like to acknowledge the FastSAM authors for their significant contributions in the field of real-time instance segmentation:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -37,7 +37,7 @@ Here are some of the key models supported:
## Getting Started: Usage Examples ## Getting Started: Usage Examples
!!! example "" !!! Example ""
=== "Python" === "Python"

@ -61,7 +61,7 @@ You can download the model [here](https://github.com/ChaoningZhang/MobileSAM/blo
### Point Prompt ### Point Prompt
!!! example "" !!! Example ""
=== "Python" === "Python"
```python ```python
@ -76,7 +76,7 @@ You can download the model [here](https://github.com/ChaoningZhang/MobileSAM/blo
### Box Prompt ### Box Prompt
!!! example "" !!! Example ""
=== "Python" === "Python"
```python ```python
@ -95,7 +95,7 @@ We have implemented `MobileSAM` and `SAM` using the same API. For more usage inf
If you find MobileSAM useful in your research or development work, please consider citing our paper: If you find MobileSAM useful in your research or development work, please consider citing our paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -30,7 +30,7 @@ The Ultralytics Python API provides pre-trained PaddlePaddle RT-DETR models with
You can use RT-DETR for object detection tasks using the `ultralytics` pip package. The following is a sample code snippet showing how to use RT-DETR models for training and inference: You can use RT-DETR for object detection tasks using the `ultralytics` pip package. The following is a sample code snippet showing how to use RT-DETR models for training and inference:
!!! example "" !!! Example ""
This example provides simple inference code for RT-DETR. For more options including handling inference results see [Predict](../modes/predict.md) mode. For using RT-DETR with additional modes see [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md). This example provides simple inference code for RT-DETR. For more options including handling inference results see [Predict](../modes/predict.md) mode. For using RT-DETR with additional modes see [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md).
@ -81,7 +81,7 @@ You can use RT-DETR for object detection tasks using the `ultralytics` pip packa
If you use Baidu's RT-DETR in your research or development work, please cite the [original paper](https://arxiv.org/abs/2304.08069): If you use Baidu's RT-DETR in your research or development work, please cite the [original paper](https://arxiv.org/abs/2304.08069):
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -32,7 +32,7 @@ The Segment Anything Model can be employed for a multitude of downstream tasks t
### SAM prediction example ### SAM prediction example
!!! example "Segment with prompts" !!! Example "Segment with prompts"
Segment image with given prompts. Segment image with given prompts.
@ -54,7 +54,7 @@ The Segment Anything Model can be employed for a multitude of downstream tasks t
model('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) model('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1])
``` ```
!!! example "Segment everything" !!! Example "Segment everything"
Segment the whole image. Segment the whole image.
@ -82,7 +82,7 @@ The Segment Anything Model can be employed for a multitude of downstream tasks t
- The logic here is to segment the whole image if you don't pass any prompts(bboxes/points/masks). - The logic here is to segment the whole image if you don't pass any prompts(bboxes/points/masks).
!!! example "SAMPredictor example" !!! Example "SAMPredictor example"
This way you can set image once and run prompts inference multiple times without running image encoder multiple times. This way you can set image once and run prompts inference multiple times without running image encoder multiple times.
@ -152,7 +152,7 @@ This comparison shows the order-of-magnitude differences in the model sizes and
Tests run on a 2023 Apple M2 Macbook with 16GB of RAM. To reproduce this test: Tests run on a 2023 Apple M2 Macbook with 16GB of RAM. To reproduce this test:
!!! example "" !!! Example ""
=== "Python" === "Python"
```python ```python
@ -187,7 +187,7 @@ Auto-annotation is a key feature of SAM, allowing users to generate a [segmentat
To auto-annotate your dataset with the Ultralytics framework, use the `auto_annotate` function as shown below: To auto-annotate your dataset with the Ultralytics framework, use the `auto_annotate` function as shown below:
!!! example "" !!! Example ""
=== "Python" === "Python"
```python ```python
@ -212,7 +212,7 @@ Auto-annotation with pre-trained models can dramatically cut down the time and e
If you find SAM useful in your research or development work, please consider citing our paper: If you find SAM useful in your research or development work, please consider citing our paper:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -44,7 +44,7 @@ The following examples show how to use YOLO-NAS models with the `ultralytics` pa
In this example we validate YOLO-NAS-s on the COCO8 dataset. In this example we validate YOLO-NAS-s on the COCO8 dataset.
!!! example "" !!! Example ""
This example provides simple inference and validation code for YOLO-NAS. For handling inference results see [Predict](../modes/predict.md) mode. For using YOLO-NAS with additional modes see [Val](../modes/val.md) and [Export](../modes/export.md). YOLO-NAS on the `ultralytics` package does not support training. This example provides simple inference and validation code for YOLO-NAS. For handling inference results see [Predict](../modes/predict.md) mode. For using YOLO-NAS with additional modes see [Val](../modes/val.md) and [Export](../modes/export.md). YOLO-NAS on the `ultralytics` package does not support training.
@ -106,7 +106,7 @@ Harness the power of the YOLO-NAS models to drive your object detection tasks to
If you employ YOLO-NAS in your research or development work, please cite SuperGradients: If you employ YOLO-NAS in your research or development work, please cite SuperGradients:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -51,7 +51,7 @@ TODO
You can use YOLOv3 for object detection tasks using the Ultralytics repository. The following is a sample code snippet showing how to use YOLOv3 model for inference: You can use YOLOv3 for object detection tasks using the Ultralytics repository. The following is a sample code snippet showing how to use YOLOv3 model for inference:
!!! example "" !!! Example ""
This example provides simple inference code for YOLOv3. For more options including handling inference results see [Predict](../modes/predict.md) mode. For using YOLOv3 with additional modes see [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md). This example provides simple inference code for YOLOv3. For more options including handling inference results see [Predict](../modes/predict.md) mode. For using YOLOv3 with additional modes see [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md).
@ -91,7 +91,7 @@ You can use YOLOv3 for object detection tasks using the Ultralytics repository.
If you use YOLOv3 in your research, please cite the original YOLO papers and the Ultralytics YOLOv3 repository: If you use YOLOv3 in your research, please cite the original YOLO papers and the Ultralytics YOLOv3 repository:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -53,7 +53,7 @@ YOLOv4 is a powerful and efficient object detection model that strikes a balance
We would like to acknowledge the YOLOv4 authors for their significant contributions in the field of real-time object detection: We would like to acknowledge the YOLOv4 authors for their significant contributions in the field of real-time object detection:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -56,7 +56,7 @@ YOLOv5u represents an advancement in object detection methodologies. Originating
You can use YOLOv5u for object detection tasks using the Ultralytics repository. The following is a sample code snippet showing how to use YOLOv5u model for inference: You can use YOLOv5u for object detection tasks using the Ultralytics repository. The following is a sample code snippet showing how to use YOLOv5u model for inference:
!!! example "" !!! Example ""
This example provides simple inference code for YOLOv5. For more options including handling inference results see [Predict](../modes/predict.md) mode. For using YOLOv5 with additional modes see [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md). This example provides simple inference code for YOLOv5. For more options including handling inference results see [Predict](../modes/predict.md) mode. For using YOLOv5 with additional modes see [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md).
@ -96,7 +96,7 @@ You can use YOLOv5u for object detection tasks using the Ultralytics repository.
If you use YOLOv5 or YOLOv5u in your research, please cite the Ultralytics YOLOv5 repository as follows: If you use YOLOv5 or YOLOv5u in your research, please cite the Ultralytics YOLOv5 repository as follows:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"
```bibtex ```bibtex

@ -37,7 +37,7 @@ YOLOv6 also provides quantized models for different precisions and models optimi
You can use YOLOv6 for object detection tasks using the Ultralytics pip package. The following is a sample code snippet showing how to use YOLOv6 models for training: You can use YOLOv6 for object detection tasks using the Ultralytics pip package. The following is a sample code snippet showing how to use YOLOv6 models for training:
!!! example "" !!! Example ""
This example provides simple training code for YOLOv6. For more options including training settings see [Train](../modes/train.md) mode. For using YOLOv6 with additional modes see [Predict](../modes/predict.md), [Val](../modes/val.md) and [Export](../modes/export.md). This example provides simple training code for YOLOv6. For more options including training settings see [Train](../modes/train.md) mode. For using YOLOv6 with additional modes see [Predict](../modes/predict.md), [Val](../modes/val.md) and [Export](../modes/export.md).
@ -95,7 +95,7 @@ You can use YOLOv6 for object detection tasks using the Ultralytics pip package.
We would like to acknowledge the authors for their significant contributions in the field of real-time object detection: We would like to acknowledge the authors for their significant contributions in the field of real-time object detection:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -49,7 +49,7 @@ We regret any inconvenience this may cause and will strive to update this docume
We would like to acknowledge the YOLOv7 authors for their significant contributions in the field of real-time object detection: We would like to acknowledge the YOLOv7 authors for their significant contributions in the field of real-time object detection:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -95,7 +95,7 @@ YOLOv8 is the latest iteration in the YOLO series of real-time object detectors,
You can use YOLOv8 for object detection tasks using the Ultralytics pip package. The following is a sample code snippet showing how to use YOLOv8 models for inference: You can use YOLOv8 for object detection tasks using the Ultralytics pip package. The following is a sample code snippet showing how to use YOLOv8 models for inference:
!!! example "" !!! Example ""
This example provides simple inference code for YOLOv8. For more options including handling inference results see [Predict](../modes/predict.md) mode. For using YOLOv8 with additional modes see [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md). This example provides simple inference code for YOLOv8. For more options including handling inference results see [Predict](../modes/predict.md) mode. For using YOLOv8 with additional modes see [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md).
@ -135,7 +135,7 @@ You can use YOLOv8 for object detection tasks using the Ultralytics pip package.
If you use the YOLOv8 model or any other software from this repository in your work, please cite it using the following format: If you use the YOLOv8 model or any other software from this repository in your work, please cite it using the following format:
!!! note "" !!! Note ""
=== "BibTeX" === "BibTeX"

@ -32,7 +32,7 @@ Once your model is trained and validated, the next logical step is to evaluate i
- **OpenVINO:** For Intel hardware optimization - **OpenVINO:** For Intel hardware optimization
- **CoreML, TensorFlow SavedModel, and More:** For diverse deployment needs. - **CoreML, TensorFlow SavedModel, and More:** For diverse deployment needs.
!!! tip "Tip" !!! Tip "Tip"
* Export to ONNX or OpenVINO for up to 3x CPU speedup. * Export to ONNX or OpenVINO for up to 3x CPU speedup.
* Export to TensorRT for up to 5x GPU speedup. * Export to TensorRT for up to 5x GPU speedup.
@ -41,7 +41,7 @@ Once your model is trained and validated, the next logical step is to evaluate i
Run YOLOv8n benchmarks on all supported export formats including ONNX, TensorRT etc. See Arguments section below for a full list of export arguments. Run YOLOv8n benchmarks on all supported export formats including ONNX, TensorRT etc. See Arguments section below for a full list of export arguments.
!!! example "" !!! Example ""
=== "Python" === "Python"

@ -39,7 +39,7 @@ Here are some of the standout functionalities:
- **Optimized Inference:** Exported models are optimized for quicker inference times. - **Optimized Inference:** Exported models are optimized for quicker inference times.
- **Tutorial Videos:** In-depth guides and tutorials for a smooth exporting experience. - **Tutorial Videos:** In-depth guides and tutorials for a smooth exporting experience.
!!! tip "Tip" !!! Tip "Tip"
* Export to ONNX or OpenVINO for up to 3x CPU speedup. * Export to ONNX or OpenVINO for up to 3x CPU speedup.
* Export to TensorRT for up to 5x GPU speedup. * Export to TensorRT for up to 5x GPU speedup.
@ -48,7 +48,7 @@ Here are some of the standout functionalities:
Export a YOLOv8n model to a different format like ONNX or TensorRT. See Arguments section below for a full list of export arguments. Export a YOLOv8n model to a different format like ONNX or TensorRT. See Arguments section below for a full list of export arguments.
!!! example "" !!! Example ""
=== "Python" === "Python"

@ -50,7 +50,7 @@ YOLOv8's predict mode is designed to be robust and versatile, featuring:
Ultralytics YOLO models return either a Python list of `Results` objects, or a memory-efficient Python generator of `Results` objects when `stream=True` is passed to the model during inference: Ultralytics YOLO models return either a Python list of `Results` objects, or a memory-efficient Python generator of `Results` objects when `stream=True` is passed to the model during inference:
!!! example "Predict" !!! Example "Predict"
=== "Return a list with `stream=False`" === "Return a list with `stream=False`"
```python ```python
@ -92,7 +92,7 @@ Ultralytics YOLO models return either a Python list of `Results` objects, or a m
YOLOv8 can process different types of input sources for inference, as shown in the table below. The sources include static images, video streams, and various data formats. The table also indicates whether each source can be used in streaming mode with the argument `stream=True` ✅. Streaming mode is beneficial for processing videos or live streams as it creates a generator of results instead of loading all frames into memory. YOLOv8 can process different types of input sources for inference, as shown in the table below. The sources include static images, video streams, and various data formats. The table also indicates whether each source can be used in streaming mode with the argument `stream=True` ✅. Streaming mode is beneficial for processing videos or live streams as it creates a generator of results instead of loading all frames into memory.
!!! tip "Tip" !!! Tip "Tip"
Use `stream=True` for processing long videos or large datasets to efficiently manage memory. When `stream=False`, the results for all frames or data points are stored in memory, which can quickly add up and cause out-of-memory errors for large inputs. In contrast, `stream=True` utilizes a generator, which only keeps the results of the current frame or data point in memory, significantly reducing memory consumption and preventing out-of-memory issues. Use `stream=True` for processing long videos or large datasets to efficiently manage memory. When `stream=False`, the results for all frames or data points are stored in memory, which can quickly add up and cause out-of-memory errors for large inputs. In contrast, `stream=True` utilizes a generator, which only keeps the results of the current frame or data point in memory, significantly reducing memory consumption and preventing out-of-memory issues.
@ -115,7 +115,7 @@ YOLOv8 can process different types of input sources for inference, as shown in t
Below are code examples for using each source type: Below are code examples for using each source type:
!!! example "Prediction sources" !!! Example "Prediction sources"
=== "image" === "image"
Run inference on an image file. Run inference on an image file.
@ -327,7 +327,7 @@ Below are code examples for using each source type:
`model.predict()` accepts multiple arguments that can be passed at inference time to override defaults: `model.predict()` accepts multiple arguments that can be passed at inference time to override defaults:
!!! example !!! Example
```python ```python
from ultralytics import YOLO from ultralytics import YOLO
@ -411,7 +411,7 @@ The below table contains valid Ultralytics video formats.
All Ultralytics `predict()` calls will return a list of `Results` objects: All Ultralytics `predict()` calls will return a list of `Results` objects:
!!! example "Results" !!! Example "Results"
```python ```python
from ultralytics import YOLO from ultralytics import YOLO
@ -463,7 +463,7 @@ For more details see the `Results` class [documentation](../reference/engine/res
`Boxes` object can be used to index, manipulate, and convert bounding boxes to different formats. `Boxes` object can be used to index, manipulate, and convert bounding boxes to different formats.
!!! example "Boxes" !!! Example "Boxes"
```python ```python
from ultralytics import YOLO from ultralytics import YOLO
@ -501,7 +501,7 @@ For more details see the `Boxes` class [documentation](../reference/engine/resul
`Masks` object can be used index, manipulate and convert masks to segments. `Masks` object can be used index, manipulate and convert masks to segments.
!!! example "Masks" !!! Example "Masks"
```python ```python
from ultralytics import YOLO from ultralytics import YOLO
@ -534,7 +534,7 @@ For more details see the `Masks` class [documentation](../reference/engine/resul
`Keypoints` object can be used index, manipulate and normalize coordinates. `Keypoints` object can be used index, manipulate and normalize coordinates.
!!! example "Keypoints" !!! Example "Keypoints"
```python ```python
from ultralytics import YOLO from ultralytics import YOLO
@ -568,7 +568,7 @@ For more details see the `Keypoints` class [documentation](../reference/engine/r
`Probs` object can be used index, get `top1` and `top5` indices and scores of classification. `Probs` object can be used index, get `top1` and `top5` indices and scores of classification.
!!! example "Probs" !!! Example "Probs"
```python ```python
from ultralytics import YOLO from ultralytics import YOLO
@ -603,7 +603,7 @@ For more details see the `Probs` class [documentation](../reference/engine/resul
You can use the `plot()` method of a `Result` objects to visualize predictions. It plots all prediction types (boxes, masks, keypoints, probabilities, etc.) contained in the `Results` object onto a numpy array that can then be shown or saved. You can use the `plot()` method of a `Result` objects to visualize predictions. It plots all prediction types (boxes, masks, keypoints, probabilities, etc.) contained in the `Results` object onto a numpy array that can then be shown or saved.
!!! example "Plotting" !!! Example "Plotting"
```python ```python
from PIL import Image from PIL import Image
@ -647,7 +647,7 @@ Ensuring thread safety during inference is crucial when you are running multiple
When using YOLO models in a multi-threaded application, it's important to instantiate separate model objects for each thread or employ thread-local storage to prevent conflicts: When using YOLO models in a multi-threaded application, it's important to instantiate separate model objects for each thread or employ thread-local storage to prevent conflicts:
!!! example "Thread-Safe Inference" !!! Example "Thread-Safe Inference"
Instantiate a single model inside each thread for thread-safe inference: Instantiate a single model inside each thread for thread-safe inference:
```python ```python
@ -672,7 +672,7 @@ For an in-depth look at thread-safe inference with YOLO models and step-by-step
Here's a Python script using OpenCV (`cv2`) and YOLOv8 to run inference on video frames. This script assumes you have already installed the necessary packages (`opencv-python` and `ultralytics`). Here's a Python script using OpenCV (`cv2`) and YOLOv8 to run inference on video frames. This script assumes you have already installed the necessary packages (`opencv-python` and `ultralytics`).
!!! example "Streaming for-loop" !!! Example "Streaming for-loop"
```python ```python
import cv2 import cv2

@ -58,7 +58,7 @@ The default tracker is BoT-SORT.
To run the tracker on video streams, use a trained Detect, Segment or Pose model such as YOLOv8n, YOLOv8n-seg and YOLOv8n-pose. To run the tracker on video streams, use a trained Detect, Segment or Pose model such as YOLOv8n, YOLOv8n-seg and YOLOv8n-pose.
!!! example "" !!! Example ""
=== "Python" === "Python"
@ -97,7 +97,7 @@ As can be seen in the above usage, tracking is available for all Detect, Segment
Tracking configuration shares properties with Predict mode, such as `conf`, `iou`, and `show`. For further configurations, refer to the [Predict](../modes/predict.md#inference-arguments) model page. Tracking configuration shares properties with Predict mode, such as `conf`, `iou`, and `show`. For further configurations, refer to the [Predict](../modes/predict.md#inference-arguments) model page.
!!! example "" !!! Example ""
=== "Python" === "Python"
@ -120,7 +120,7 @@ Tracking configuration shares properties with Predict mode, such as `conf`, `iou
Ultralytics also allows you to use a modified tracker configuration file. To do this, simply make a copy of a tracker config file (for example, `custom_tracker.yaml`) from [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers) and modify any configurations (except the `tracker_type`) as per your needs. Ultralytics also allows you to use a modified tracker configuration file. To do this, simply make a copy of a tracker config file (for example, `custom_tracker.yaml`) from [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers) and modify any configurations (except the `tracker_type`) as per your needs.
!!! example "" !!! Example ""
=== "Python" === "Python"
@ -147,7 +147,7 @@ For a comprehensive list of tracking arguments, refer to the [ultralytics/cfg/tr
Here is a Python script using OpenCV (`cv2`) and YOLOv8 to run object tracking on video frames. This script still assumes you have already installed the necessary packages (`opencv-python` and `ultralytics`). The `persist=True` argument tells the tracker that the current image or frame is the next in a sequence and to expect tracks from the previous image in the current image. Here is a Python script using OpenCV (`cv2`) and YOLOv8 to run object tracking on video frames. This script still assumes you have already installed the necessary packages (`opencv-python` and `ultralytics`). The `persist=True` argument tells the tracker that the current image or frame is the next in a sequence and to expect tracks from the previous image in the current image.
!!! example "Streaming for-loop with tracking" !!! Example "Streaming for-loop with tracking"
```python ```python
import cv2 import cv2
@ -195,7 +195,7 @@ Visualizing object tracks over consecutive frames can provide valuable insights
In the following example, we demonstrate how to utilize YOLOv8's tracking capabilities to plot the movement of detected objects across multiple video frames. This script involves opening a video file, reading it frame by frame, and utilizing the YOLO model to identify and track various objects. By retaining the center points of the detected bounding boxes and connecting them, we can draw lines that represent the paths followed by the tracked objects. In the following example, we demonstrate how to utilize YOLOv8's tracking capabilities to plot the movement of detected objects across multiple video frames. This script involves opening a video file, reading it frame by frame, and utilizing the YOLO model to identify and track various objects. By retaining the center points of the detected bounding boxes and connecting them, we can draw lines that represent the paths followed by the tracked objects.
!!! example "Plotting tracks over multiple video frames" !!! Example "Plotting tracks over multiple video frames"
```python ```python
from collections import defaultdict from collections import defaultdict
@ -272,7 +272,7 @@ The `daemon=True` parameter in `threading.Thread` means that these threads will
Finally, after all threads have completed their task, the windows displaying the results are closed using `cv2.destroyAllWindows()`. Finally, after all threads have completed their task, the windows displaying the results are closed using `cv2.destroyAllWindows()`.
!!! example "Streaming for-loop with tracking" !!! Example "Streaming for-loop with tracking"
```python ```python
import threading import threading

@ -41,7 +41,7 @@ The following are some notable features of YOLOv8's Train mode:
- **Hyperparameter Configuration:** The option to modify hyperparameters through YAML configuration files or CLI arguments. - **Hyperparameter Configuration:** The option to modify hyperparameters through YAML configuration files or CLI arguments.
- **Visualization and Monitoring:** Real-time tracking of training metrics and visualization of the learning process for better insights. - **Visualization and Monitoring:** Real-time tracking of training metrics and visualization of the learning process for better insights.
!!! tip "Tip" !!! Tip "Tip"
* YOLOv8 datasets like COCO, VOC, ImageNet and many others automatically download on first use, i.e. `yolo train data=coco.yaml` * YOLOv8 datasets like COCO, VOC, ImageNet and many others automatically download on first use, i.e. `yolo train data=coco.yaml`
@ -49,7 +49,7 @@ The following are some notable features of YOLOv8's Train mode:
Train YOLOv8n on the COCO128 dataset for 100 epochs at image size 640. The training device can be specified using the `device` argument. If no argument is passed GPU `device=0` will be used if available, otherwise `device=cpu` will be used. See Arguments section below for a full list of training arguments. Train YOLOv8n on the COCO128 dataset for 100 epochs at image size 640. The training device can be specified using the `device` argument. If no argument is passed GPU `device=0` will be used if available, otherwise `device=cpu` will be used. See Arguments section below for a full list of training arguments.
!!! example "Single-GPU and CPU Training Example" !!! Example "Single-GPU and CPU Training Example"
Device is determined automatically. If a GPU is available then it will be used, otherwise training will start on CPU. Device is determined automatically. If a GPU is available then it will be used, otherwise training will start on CPU.
@ -84,7 +84,7 @@ Train YOLOv8n on the COCO128 dataset for 100 epochs at image size 640. The train
Multi-GPU training allows for more efficient utilization of available hardware resources by distributing the training load across multiple GPUs. This feature is available through both the Python API and the command-line interface. To enable multi-GPU training, specify the GPU device IDs you wish to use. Multi-GPU training allows for more efficient utilization of available hardware resources by distributing the training load across multiple GPUs. This feature is available through both the Python API and the command-line interface. To enable multi-GPU training, specify the GPU device IDs you wish to use.
!!! example "Multi-GPU Training Example" !!! Example "Multi-GPU Training Example"
To train with 2 GPUs, CUDA devices 0 and 1 use the following commands. Expand to additional GPUs as required. To train with 2 GPUs, CUDA devices 0 and 1 use the following commands. Expand to additional GPUs as required.
@ -113,7 +113,7 @@ With the support for Apple M1 and M2 chips integrated in the Ultralytics YOLO mo
To enable training on Apple M1 and M2 chips, you should specify 'mps' as your device when initiating the training process. Below is an example of how you could do this in Python and via the command line: To enable training on Apple M1 and M2 chips, you should specify 'mps' as your device when initiating the training process. Below is an example of how you could do this in Python and via the command line:
!!! example "MPS Training Example" !!! Example "MPS Training Example"
=== "Python" === "Python"
@ -146,7 +146,7 @@ You can easily resume training in Ultralytics YOLO by setting the `resume` argum
Below is an example of how to resume an interrupted training using Python and via the command line: Below is an example of how to resume an interrupted training using Python and via the command line:
!!! example "Resume Training Example" !!! Example "Resume Training Example"
=== "Python" === "Python"
@ -236,7 +236,7 @@ To use a logger, select it from the dropdown menu in the code snippet above and
To use Comet: To use Comet:
!!! example "" !!! Example ""
=== "Python" === "Python"
```python ```python
@ -254,7 +254,7 @@ Remember to sign in to your Comet account on their website and get your API key.
To use ClearML: To use ClearML:
!!! example "" !!! Example ""
=== "Python" === "Python"
```python ```python
@ -272,7 +272,7 @@ After running this script, you will need to sign in to your ClearML account on t
To use TensorBoard in [Google Colab](https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb): To use TensorBoard in [Google Colab](https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb):
!!! example "" !!! Example ""
=== "CLI" === "CLI"
```bash ```bash
@ -282,7 +282,7 @@ To use TensorBoard in [Google Colab](https://colab.research.google.com/github/ul
To use TensorBoard locally run the below command and view results at http://localhost:6006/. To use TensorBoard locally run the below command and view results at http://localhost:6006/.
!!! example "" !!! Example ""
=== "CLI" === "CLI"
```bash ```bash

@ -30,7 +30,7 @@ These are the notable functionalities offered by YOLOv8's Val mode:
- **CLI and Python API:** Choose from command-line interface or Python API based on your preference for validation. - **CLI and Python API:** Choose from command-line interface or Python API based on your preference for validation.
- **Data Compatibility:** Works seamlessly with datasets used during the training phase as well as custom datasets. - **Data Compatibility:** Works seamlessly with datasets used during the training phase as well as custom datasets.
!!! tip "Tip" !!! Tip "Tip"
* YOLOv8 models automatically remember their training settings, so you can validate a model at the same image size and on the original dataset easily with just `yolo val model=yolov8n.pt` or `model('yolov8n.pt').val()` * YOLOv8 models automatically remember their training settings, so you can validate a model at the same image size and on the original dataset easily with just `yolo val model=yolov8n.pt` or `model('yolov8n.pt').val()`
@ -38,7 +38,7 @@ These are the notable functionalities offered by YOLOv8's Val mode:
Validate trained YOLOv8n model accuracy on the COCO128 dataset. No argument need to passed as the `model` retains it's training `data` and arguments as model attributes. See Arguments section below for a full list of export arguments. Validate trained YOLOv8n model accuracy on the COCO128 dataset. No argument need to passed as the `model` retains it's training `data` and arguments as model attributes. See Arguments section below for a full list of export arguments.
!!! example "" !!! Example ""
=== "Python" === "Python"

@ -8,7 +8,7 @@ keywords: Ultralytics installation, pip install Ultralytics, Docker install Ultr
Ultralytics provides various installation methods including pip, conda, and Docker. Install YOLOv8 via the `ultralytics` pip package for the latest stable release or by cloning the [Ultralytics GitHub repository](https://github.com/ultralytics/ultralytics) for the most up-to-date version. Docker can be used to execute the package in an isolated container, avoiding local installation. Ultralytics provides various installation methods including pip, conda, and Docker. Install YOLOv8 via the `ultralytics` pip package for the latest stable release or by cloning the [Ultralytics GitHub repository](https://github.com/ultralytics/ultralytics) for the most up-to-date version. Docker can be used to execute the package in an isolated container, avoiding local installation.
!!! example "Install" !!! Example "Install"
=== "Pip install (recommended)" === "Pip install (recommended)"
Install the `ultralytics` package using pip, or update an existing installation by running `pip install -U ultralytics`. Visit the Python Package Index (PyPI) for more details on the `ultralytics` package: [https://pypi.org/project/ultralytics/](https://pypi.org/project/ultralytics/). Install the `ultralytics` package using pip, or update an existing installation by running `pip install -U ultralytics`. Visit the Python Package Index (PyPI) for more details on the `ultralytics` package: [https://pypi.org/project/ultralytics/](https://pypi.org/project/ultralytics/).
@ -39,7 +39,7 @@ Ultralytics provides various installation methods including pip, conda, and Dock
conda install -c conda-forge ultralytics conda install -c conda-forge ultralytics
``` ```
!!! note !!! Note
If you are installing in a CUDA environment best practice is to install `ultralytics`, `pytorch` and `pytorch-cuda` in the same command to allow the conda package manager to resolve any conflicts, or else to install `pytorch-cuda` last to allow it override the CPU-specific `pytorch` package if necessary. If you are installing in a CUDA environment best practice is to install `ultralytics`, `pytorch` and `pytorch-cuda` in the same command to allow the conda package manager to resolve any conflicts, or else to install `pytorch-cuda` last to allow it override the CPU-specific `pytorch` package if necessary.
```bash ```bash
@ -129,7 +129,7 @@ See the `ultralytics` [requirements.txt](https://github.com/ultralytics/ultralyt
<strong>Watch:</strong> Ultralytics YOLO Quick Start Guide <strong>Watch:</strong> Ultralytics YOLO Quick Start Guide
</p> </p>
!!! tip "Tip" !!! Tip "Tip"
PyTorch requirements vary by operating system and CUDA requirements, so it's recommended to install PyTorch first following instructions at [https://pytorch.org/get-started/locally](https://pytorch.org/get-started/locally). PyTorch requirements vary by operating system and CUDA requirements, so it's recommended to install PyTorch first following instructions at [https://pytorch.org/get-started/locally](https://pytorch.org/get-started/locally).
@ -141,7 +141,7 @@ See the `ultralytics` [requirements.txt](https://github.com/ultralytics/ultralyt
The Ultralytics command line interface (CLI) allows for simple single-line commands without the need for a Python environment. CLI requires no customization or Python code. You can simply run all tasks from the terminal with the `yolo` command. Check out the [CLI Guide](usage/cli.md) to learn more about using YOLOv8 from the command line. The Ultralytics command line interface (CLI) allows for simple single-line commands without the need for a Python environment. CLI requires no customization or Python code. You can simply run all tasks from the terminal with the `yolo` command. Check out the [CLI Guide](usage/cli.md) to learn more about using YOLOv8 from the command line.
!!! example !!! Example
=== "Syntax" === "Syntax"
@ -196,7 +196,7 @@ The Ultralytics command line interface (CLI) allows for simple single-line comma
yolo cfg yolo cfg
``` ```
!!! warning "Warning" !!! Warning "Warning"
Arguments must be passed as `arg=val` pairs, split by an equals `=` sign and delimited by spaces between pairs. Do not use `--` argument prefixes or commas `,` between arguments. Arguments must be passed as `arg=val` pairs, split by an equals `=` sign and delimited by spaces between pairs. Do not use `--` argument prefixes or commas `,` between arguments.
@ -213,7 +213,7 @@ YOLOv8's Python interface allows for seamless integration into your Python proje
For example, users can load a model, train it, evaluate its performance on a validation set, and even export it to ONNX format with just a few lines of code. Check out the [Python Guide](usage/python.md) to learn more about using YOLOv8 within your Python projects. For example, users can load a model, train it, evaluate its performance on a validation set, and even export it to ONNX format with just a few lines of code. Check out the [Python Guide](usage/python.md) to learn more about using YOLOv8 within your Python projects.
!!! example !!! Example
```python ```python
from ultralytics import YOLO from ultralytics import YOLO
@ -247,7 +247,7 @@ The Ultralytics library provides a powerful settings management system to enable
To gain insight into the current configuration of your settings, you can view them directly: To gain insight into the current configuration of your settings, you can view them directly:
!!! example "View settings" !!! Example "View settings"
=== "Python" === "Python"
You can use Python to view your settings. Start by importing the `settings` object from the `ultralytics` module. Print and return settings using the following commands: You can use Python to view your settings. Start by importing the `settings` object from the `ultralytics` module. Print and return settings using the following commands:
@ -271,7 +271,7 @@ To gain insight into the current configuration of your settings, you can view th
Ultralytics allows users to easily modify their settings. Changes can be performed in the following ways: Ultralytics allows users to easily modify their settings. Changes can be performed in the following ways:
!!! example "Update settings" !!! Example "Update settings"
=== "Python" === "Python"
Within the Python environment, call the `update` method on the `settings` object to change your settings: Within the Python environment, call the `update` method on the `settings` object to change your settings:

@ -5,7 +5,7 @@ keywords: Ultralytics, YOLO, Configuration, cfg2dict, handle_deprecation, merge_
# Reference for `ultralytics/cfg/__init__.py` # Reference for `ultralytics/cfg/__init__.py`
!!! note !!! Note
This file is available at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/__init__.py](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/__init__.py). If you spot a problem please help fix it by [contributing](https://docs.ultralytics.com/help/contributing/) a [Pull Request](https://github.com/ultralytics/ultralytics/edit/main/ultralytics/cfg/__init__.py) 🛠. Thank you 🙏! This file is available at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/__init__.py](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/__init__.py). If you spot a problem please help fix it by [contributing](https://docs.ultralytics.com/help/contributing/) a [Pull Request](https://github.com/ultralytics/ultralytics/edit/main/ultralytics/cfg/__init__.py) 🛠. Thank you 🙏!

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save