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>
This commit is contained in:
parent
b6baae584c
commit
02bf8003a8
337 changed files with 6584 additions and 777 deletions
94
docs/hi/modes/benchmark.md
Normal file
94
docs/hi/modes/benchmark.md
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
---
|
||||
comments: true
|
||||
description: Ultralytics YOLO के विभिन्न निर्यात प्रारूपों के जरिए YOLOv8 की गति और सटीकता का जांच करें; mAP50-95, accuracy_top5 माप, और अन्य मापों पर अनुभव प्राप्त करें।
|
||||
keywords: Ultralytics, YOLOv8, बंचमार्किंग, गति प्रोफाइलिंग, सटीकता प्रोफाइलिंग, mAP50-95, accuracy_top5, ONNX, OpenVINO, TensorRT, YOLO निर्यात प्रारूप
|
||||
---
|
||||
|
||||
# उल्ट्राल्याटिक्स YOLO के साथ मॉडल बंचमार्किंग
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="उल्ट्राल्याटिक्स YOLO पारिस्थितिकी और समावेश">
|
||||
|
||||
## परिचय
|
||||
|
||||
जब आपका मॉडल प्रशिक्षित और सत्यापित हो जाता है, तो आगामी तार्किक चरण होता है कि तत्कालिक वास्तविक-दुनिया की स्थितियों में इसके प्रदर्शन का मूल्यांकन करें। Ultralytics YOLOv8 में बेंचमार्क मोड इस उद्देश्य की सेवा करता है, जहां उपयोगकर्ताओं को अपने मॉडल की गति और सटीकता का मूल्यांकन करने के लिए एक मजबूत ढांचा प्रदान करता है।
|
||||
|
||||
## बंचमार्किंग क्यों महत्वपूर्ण है?
|
||||
|
||||
- **जागरूक निर्णय:** गति और सटीकता के बीच ट्रेड-ऑफ के बारे में जानकारी प्राप्त करें।
|
||||
- **संसाधन आवंटन:** अलग-अलग निर्यात प्रारूपों का विभिन्न हार्डवेयर पर कैसा काम करता है इसकी समझ पाएं।
|
||||
- **अनुकूलन:** अपने विशिष्ट उपयोग मामले में सर्वोत्तम प्रदर्शन प्रदान करने वाला निर्यात प्रारूप कौन सा है, इसकी जानकारी प्राप्त करें।
|
||||
- **लागत संचय:** बंचमार्क परिणामों के आधार पर हार्डवेयर संसाधनों का अधिक अभिकल्प सेवन करें।
|
||||
|
||||
### बंचमार्क मोड में मुख्य माप
|
||||
|
||||
- **mAP50-95:** वस्तु का पता लगाने, विभाजन करने और स्थिति मान के लिए।
|
||||
- **accuracy_top5:** छवि वर्गीकरण के लिए।
|
||||
- **परिन्दता समय:** प्रति छवि के लिए लिया गया समय मिलीसेकंड में।
|
||||
|
||||
### समर्थित निर्यात प्रारूप
|
||||
|
||||
- **ONNX:** CPU प्रदर्शन के लिए आदर्श
|
||||
- **TensorRT:** अधिकतम GPU क्षमता के लिए
|
||||
- **OpenVINO:** Intel हार्डवेयर संशोधन के लिए
|
||||
- **CoreML, TensorFlow SavedModel, और अधिक:** विविध डिप्लॉयमेंट आवश्यकताओं के लिए।
|
||||
|
||||
!!! Tip "युक्ति"
|
||||
|
||||
* तकनीकी कारणों से कंप्यूटिंग संसाधनों का उपयोग करते समय ONNX या OpenVINO में निर्यात करें, ताकि आप CPU स्पीड तक upto 3x तक स्पीडअप कर सकें।
|
||||
* GPU स्पीड तक अपने कंप्यूटिंग संसाधनों का उपयोग करते समय TensorRT में निर्यात करें ताकि आप तक 5x तक स्पीडअप कर सकें।
|
||||
|
||||
## उपयोग उदाहरण
|
||||
|
||||
समर्थित सभी निर्यात प्रारूपों पर ONNX, TensorRT आदि के साथ YOLOv8n बंचमार्क चलाएं। पूरी निर्यात विवरण के लिए नीचे Arguments अनुभाग देखें।
|
||||
|
||||
!!! Example "उदाहरण"
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics.utils.benchmarks import benchmark
|
||||
|
||||
# GPU पर बंचमार्क
|
||||
benchmark(model='yolov8n.pt', data='coco8.yaml', imgsz=640, half=False, device=0)
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo बंचमार्क model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
`model`, `data`, `imgsz`, `half`, `device`, और `verbose` जैसे तर्क उपयोगकर्ताओं को मानदंडों को अपनी विशेष आवश्यकताओं के लिए सुगमता के साथ बंचमार्क को संशोधित करने की सुविधा प्रदान करते हैं, और विभिन्न निर्यात प्रारूपों के प्रदर्शन की तुलना करने की सुविधा प्रदान करते हैं।
|
||||
|
||||
| कुंजी | मान | विवरण |
|
||||
|-----------|------------|---------------------------------------------------------------------------------|
|
||||
| `model` | `कोई नहीं` | मॉडल फ़ाइल का पथ, यानी yolov8n.pt, yolov8n.yaml |
|
||||
| `data` | `कोई नहीं` | बेंचमार्किंग डेटासेट को संदर्भित करने वाले YAML फ़ाइल का पथ (val लेबल के तहत) |
|
||||
| `imgsz` | `640` | छवि का आकार स्कैलर या (h, w) सूची, अर्थात (640, 480) |
|
||||
| `half` | `असत्य` | FP16 माप्यांकन |
|
||||
| `int8` | `असत्य` | INT8 माप्यांकन |
|
||||
| `device` | `कोई नहीं` | चलाने के लिए युक्ति उपकरण, अर्थात cuda device=0 या device=0,1,2,3 या device=cpu |
|
||||
| `verbose` | `असत्य` | त्रुटि में न जारी रखे (बूल), या वाल (फ्लोट) |
|
||||
|
||||
## निर्यात प्रारूप
|
||||
|
||||
बंचमार्क प्रयास होगा निम्नलिखित सभी संभावित निर्यात प्रारूपों पर स्वचालित रूप से चलाने की कोशिश करेगा।
|
||||
|
||||
| प्रारूप | `प्रारूप` तर्क | मॉडल | मेटाडेटा | तर्क |
|
||||
|--------------------------------------------------------------------|----------------|---------------------------|----------|-----------------------------------------------------|
|
||||
| [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/)।
|
||||
108
docs/hi/modes/export.md
Normal file
108
docs/hi/modes/export.md
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
---
|
||||
comments: true
|
||||
description: सभी प्रकार के निर्यात स्तर पर YOLOv8 मॉडल्स को निर्यात करने के लिए आपके लिए चरण-दर-चरण मार्गदर्शिका। अब निर्यात की जांच करें!
|
||||
keywords: YOLO, YOLOv8, Ultralytics, मॉडल निर्यात, ONNX, TensorRT, CoreML, TensorFlow SavedModel, OpenVINO, PyTorch, निर्यात मॉडल
|
||||
---
|
||||
|
||||
# Ultralytics YOLO के साथ मॉडल निर्यात
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="यूल्ट्रालिक्स YOLO ecosystem and integrations">
|
||||
|
||||
## परिचय
|
||||
|
||||
एक मॉडल की प्रशिक्षण की अंतिम लक्ष्य उसे वास्तविक दुनिया के आवेदनों के लिए तैनात करना होता है। उल्ट्रालिटीक्स YOLOv8 में निर्यात मोड में आपको अभिनवता रेंज के ऑप्शन प्रदान करता है, वायरले किए गए मॉडल को विभिन्न स्वरूपों में निर्यात करने के लिए, जिससे वे विभिन्न प्लेटफॉर्मों और उपकरणों पर प्रदर्शित किए जा सकें। यह व्यापक मार्गदर्शिका अधिकतम संगतता और प्रदर्शन प्राप्त करने के तरीकों को दिखाने का लक्ष्य रखती है।
|
||||
|
||||
<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 और अन्य सहित कई फॉर्मेट में निर्यात करें।
|
||||
- **प्रदर्शन:** TensorRT में 5x जीपीयू स्पीडअप और ONNX या OpenVINO में 3x सीपीयू स्पीडअप प्राप्त करें।
|
||||
- **संगतता:** अपने मॉडल को कई हार्डवेयर और सॉफ़्टवेयर पर संगठित करें।
|
||||
- **उपयोग की सुविधा:** त्वरित और सीधी मॉडल निर्यात के लिए सरल CLI और Python API।
|
||||
|
||||
### निर्यात मोड की प्रमुख विशेषताएं
|
||||
|
||||
यहाँ कुछ मुख्य विशेषताएँ हैं:
|
||||
|
||||
- **एक-क्लिक निर्यात:** अलग-अलग फॉर्मेट में निर्यात करने के लिए सरल कमांड।
|
||||
- **बैच निर्यात:** बैच-इन्फरेंस क्षमता वाले मॉडलों को निर्यात करें।
|
||||
- **सुधारित अनुमान:** निर्यात किए गए मॉडल अनुमान समय के लिए अनुकूलन किए जाते हैं।
|
||||
- **ट्यूटोरियल वीडियो:** सुविधाएं और ट्यूटोरियल सुनिश्चित करने के लिए गहन मार्गदर्शिकाओं का उपयोग करें।
|
||||
|
||||
!!! Tip "सुझाव"
|
||||
|
||||
* 3x सीपीयू स्पीडअप के लिए ONNX या OpenVINO में निर्यात करें।
|
||||
* 5x जीपीयू स्पीडअप के लिए TensorRT में निर्यात करें।
|
||||
|
||||
## उपयोग उदाहरण
|
||||
|
||||
YOLOv8n मॉडल को ONNX या TensorRT जैसे अलग फॉर्मेट में निर्यात करें। पूरी सूची निर्यात तर्कों के लिए नीचे दिए गए Arguments खंड को देखें।
|
||||
|
||||
!!! 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 # कस्टम प्रशिक्षित मॉडल का निर्यात करें
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
YOLO मॉडलों के निर्यात सेटिंग्स निर्यात के विभिन्न विन्यास और विकल्पों के बारे में होते हैं, जिन्हें यूज़ करके मॉडल को अन्य पर्यावरण या प्लेटफ़ॉर्म में सहेजने या निर्यात करने के लिए उपयोग किया जा सकता है। इन सेटिंग्स से मॉडल के प्रदर्शन, आकार और विभिन्न सिस्टम के साथ संगतता प्रभावित हो सकती हैं। कुछ सामान्य YOLO निर्यात सेटिंग्स में निर्यात की गई मॉडल फ़ाइल का स्वरूप (जैसे ONNX, TensorFlow SavedModel), मॉडल कोरी सहवास में चलाने वाली उपकरण (जैसे CPU, GPU) और मास्क या प्रत्येक बॉक्स पर कई लेबलों की उपस्थिति जैसे अतिरिक्त विशेषताएँ शामिल हो सकते हैं। निर्यात प्रक्रिया प्रभावित करने वाले अन्य कारकों में मॉडल द्वारा उपयोग के लिए एक विशेष कार्य और लक्षित पर्यावरण या प्लेटफ़ॉर्म की आवश्यकताओं या सीमाओं का ध्यान देना महत्वपूर्ण है। लक्ष्य प्रयोजन और लक्ष्यित वातावरण में प्रभावी ढंग से उपयोग होने के लिए इन सेटिंग्स को ध्यान से विचार करना महत्वपूर्ण है।
|
||||
|
||||
| कुंजी | मान | विवरण |
|
||||
|-------------|-----------------|------------------------------------------------------------------------|
|
||||
| `format` | `'torchscript'` | योग्यता के लिए निर्यात करने के लिए स्वरूप |
|
||||
| `imgsz` | `640` | एकल रूप में छवि का आकार या (h, w) सूची, जैसे (640, 480) |
|
||||
| `keras` | `False` | TF SavedModel निर्यात के लिए केरस का प्रयोग करें |
|
||||
| `optimize` | `False` | TorchScript: मोबाइल के लिए ऑप्टिमाइज़ करें |
|
||||
| `half` | `False` | FP16 संगणना |
|
||||
| `int8` | `False` | INT8 संगणना |
|
||||
| `dynamic` | `False` | ONNX/TensorRT: गतिशील ध्यान दिलाने वाले ध्यान |
|
||||
| `simplify` | `False` | ONNX/TensorRT: मॉडल को सरल बनाएं |
|
||||
| `opset` | `None` | ONNX: ऑपसेट संस्करण (वैकल्पिक, डिफ़ॉल्ट्स को नवीनतम के रूप में छोड़ें) |
|
||||
| `workspace` | `4` | TensorRT: कार्यक्षेत्र आकार (GB) |
|
||||
| `nms` | `False` | CoreML: NMS जोड़ें |
|
||||
|
||||
## निर्यात स्वरूप
|
||||
|
||||
नीचे दिए गए तालिका में YOLOv8 निर्यात स्वरूप दिए गए हैं। आप किसी भी स्वरूप में निर्यात कर सकते हैं, जैसे `format='onnx'` या `format='engine'`।
|
||||
|
||||
| स्वरूप | `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` |
|
||||
78
docs/hi/modes/index.md
Normal file
78
docs/hi/modes/index.md
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
---
|
||||
comments: true
|
||||
description: प्रशिक्षण से ट्रैकिंग तक, Ultralytics के साथ YOLOv8 का अधिकतम लाभ उठाएं। मान्यता प्राप्त मोड, जैसे पुष्टीकरण, निर्यात और बेंचमार्किंग, के लिए अवधारणाओं और उदाहरण प्राप्त करें।
|
||||
keywords: Ultralytics, YOLOv8, मशीन लर्निंग, ऑब्जेक्ट डिटेक्शन, प्रशिक्षण, पुष्टीकरण, पूर्वावलोकन, निर्यात, ट्रैकिंग, बेंचमार्किंग
|
||||
---
|
||||
|
||||
# Ultralytics YOLOv8 मोड
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics YOLO ecosystem and integrations">
|
||||
|
||||
## परिचय
|
||||
|
||||
Ultralytics YOLOv8 सिर्फ एक ओब्जेक्ट डिटेक्शन मॉडल नहीं है; यह मशीन लर्निंग मॉडलों के पूर्ण जीवन चक्र के लिए एक विकशील फ्रेमवर्क है—डेटा संग्रह और मॉडल प्रशिक्षण से पुष्टीकरण, डिप्लॉयमेंट और वास्तविक दुनिया के ट्रैकिंग तक। प्रत्येक मोड का एक विशेष उद्देश्य होता है और आपको विभिन्न कार्यों और यूज-केस के लिए आवश्यक लचीलापन और कार्यक्षमता प्रदान करने के लिए बनाया जाता है।
|
||||
|
||||
!!! Note
|
||||
|
||||
🚧 हमारी बहुभाषीय दस्तावेज़ीकरण वर्तमान में निर्माणाधीन है, और हम इसे सुधारने के लिए कड़ी मेहनत कर रहे हैं। आपकी सहनशीलता के लिए धन्यवाद! 🙏
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/j8uQc0qB91s?si=dhnGKgqvs7nPgeaM"
|
||||
title="YouTube वीडियो प्लेयर" 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 मॉडल के माध्यम से पूर्वानुमान करें।
|
||||
- **निर्यात** मोड: डिप्लॉयमेंट के लिए मॉडल को विभिन्न प्रारूपों में तैयार करें।
|
||||
- **ट्रैक** मोड: रीयल-टाइम ट्रैकिंग अनुप्रयोगों में योजित आइटम डिटेक्शन मॉडल का विस्तार करें।
|
||||
- **बेंचमार्क** मोड: विविध डिप्लॉयमेंट वातावरणों में मॉडल की गति और सटीकता का विश्लेषण करें।
|
||||
|
||||
यह सामग्री आपको प्रत्येक मोड का अवलोकन और व्यावहारिक अंदाज़ देने का उद्देश्य रखती है, जिससे आप 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` metric (ऑब्जेक्ट डिटेक्शन, सेगमेंटेशन और पोज़ के लिए)
|
||||
या `accuracy_top5` metric (वर्गीकरण के लिए), और चित्र माध्यमिक समय के मिलीसेकंड प्रति इमेज के अलग-अलग निर्यात प्रारूपों की जानकारी प्रदान करता है। यह जानकारी उपयोगकर्ताओं को उनकी विशेष उपयोग के मामले में उनकी खासियतों के लिए मिति और सटीकता के लिए सर्वोत्तम निर्यात प्रारूप का चयन करने में मदद कर सकती है।
|
||||
|
||||
[बेंचमार्क उदाहरण](benchmark.md){ .md-button .md-button--primary}
|
||||
226
docs/hi/modes/predict.md
Normal file
226
docs/hi/modes/predict.md
Normal file
|
|
@ -0,0 +1,226 @@
|
|||
---
|
||||
comments: true
|
||||
description: योलोवी 8 के अल्ट्रालायटिक्स पूर्वानुमान मोड का उपयोग करना सीखें और विभिन्न कार्यों के लिए विभिन्न पूर्वानुमान स्रोतों के बारे में जानें। इमेजेस, वीडियोज़ और डेटा प्रारूपों जैसे पूर्वानुमान स्रोतों के बारे में जानें।
|
||||
keywords: Ultralytics, YOLOv8, पूर्वानुमान मोड, पूर्वानुमान स्रोत, पूर्वानुमान कार्य, धारणा योजना, छवि प्रसंस्करण, वीडियो प्रसंस्करण, मशीन लर्निंग, एआई
|
||||
---
|
||||
|
||||
# अल्ट्रालायटिक्स YOLO मॉडल पूर्वानुमान
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="अल्ट्रालायटिक्स YOLO संघटना और एकीकरण">
|
||||
|
||||
## परिचय
|
||||
|
||||
मशीन लर्निंग और कंप्यूटर विजन की दुनिया में दृश्यांश से समझने की प्रक्रिया को 'पूर्वानुमान' या 'पूर्वानुमान' कहा जाता है। अल्ट्रालायटिक्स YOLOv8 एक शक्तिशाली विशेषता प्रदान करता है जिसे **पूर्वानुमान मोड** कहा जाता है, जो व्यापक डेटा स्रोतों पर उच्च प्रदर्शन, वास्तुकालिक पूर्वानुमान के लिए विशेष रूप से तैयार किया गया है।
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/QtsI0TnwDZs?si=ljesw75cMO2Eas14"
|
||||
title="YouTube video player" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>देखें:</strong> अल्ट्रालायटिक्स YOLOv8 मॉडल से आउटपुट निकालने का तरीका कस्टम परियोजनाओं के लिए।
|
||||
</p>
|
||||
|
||||
## वास्तविक जगत में अनुप्रयोग
|
||||
|
||||
| विनिर्माण | खेल संघ | सुरक्षा |
|
||||
|:-------------------------------------------:|:--------------------------------------------------:|:---------------------------------------------:|
|
||||
| ![वाहन के पुर्जे डिटेक्शन][car spare parts] | ![फुटबॉल खिलाड़ी डिटेक्शन][football player detect] | ![लोगों का गिरना डिटेक्शन][human fall detect] |
|
||||
| वाहन के पुर्जे डिटेक्शन | फुटबॉल खिलाड़ी डिटेक्शन | लोगों का गिरना |
|
||||
|
||||
## पूर्वानुमान के लिए अल्ट्रालायटिक्स YOLO का उपयोग क्यों करें?
|
||||
|
||||
यहां आपको योलोवी 8 के पूर्वानुमान मोड का उपयोग अपने विभिन्न पूर्वानुमान की आवश्यकताओं के लिए करना चाहिए का कारण है:
|
||||
|
||||
- **बहुमुखीपन:** छवियों, वीडियोज और यह तक कि लाइव स्ट्रीम की पूर्वानुमान पर योग्य हैं।
|
||||
- **प्रदर्शन:** मुख्यतः बिना सटीकता पर बलवर्धित, रियल-टाइम, उच्च गति प्रसंस्करण के लिए engineering किए गए हैं।
|
||||
- **उपयोग सहज:** खद्य पाइथन और यथार्थता (CLI) इंटरफ़ेसों को जल्दी विपणन और परीक्षण के लिए।
|
||||
- **ऊच्चतम अनुकूलनयोग्यता:** अपनी विशिष्ट आवश्यकताओं के अनुसार मॉडल के पूर्वानुमान कृति को निर्धारित करने के लिए विभिन्न सेटिंग और पैरामीटर।
|
||||
|
||||
### पूर्वानुमान मोड की प्रमुख सुविधाएँ
|
||||
|
||||
YOLOv8 का पूर्वानुमान मोड मजबूत और विशेषता प्राप्त करने के लिए डिज़ाइन किया गया है, जिसमें शामिल हैं:
|
||||
|
||||
- **यदि आपके डेटा के कई स्रोतों के पंजीकरण:** चाहे आपका डेटा व्यक्तिगत छवियों, छोटू माला छवियों, वीडियो फ़ाइलों या वास्तविक समय वीडियो स्ट्रीमों की रूप में हो, पूर्वानुमान मोड आपके लिए उपयुक्त है।
|
||||
- **स्ट्रीमिंग मोड:** `स्ट्रीमिंग` सुविधाका उपयोग करें और `पूर्वानुमान की कॉल विधि` में `स्ट्रीम = ट्रू` सेट करके `रिजल्ट्स` ऑब्जेक्ट के एक मेमोरी-पर्याप्त जेनरेटर का उत्पादन करें।
|
||||
- **बैच प्रोसेसिंग:** एक ही बैच में कई छवियों या वीडियो फ़्रेम्स की प्रोसेसिंग करने की क्षमता, पूर्वानुमान समय को और तेज़ करती है।
|
||||
- **इंटीग्रेशन फ्रेंडली:** लचीली API के कारण मौजूदा डेटा पाईपलाइन और अन्य सॉफ़्टवेयर घटकों के साथ आसानी से इंटीग्रेट करें।
|
||||
|
||||
जब पूर्वानुमान के दौरान मॉडल को `गेनरेटर की `रूप में लोड किया जाता है, तो अल्ट्रालायटिक्स YOLO मॉडल निम्नलिखित मेथड से `रिजल्ट` ऑब्जेक्ट के एक पायथन सूची या यादृच्छिक संख्यकारी जनरेटर लौटाते हैं:
|
||||
|
||||
!!! Example "पूर्वानुमान"
|
||||
|
||||
=== "`स्ट्रीम = फाल्स` के साथ सूची यादृच्छिक"
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# एक मॉडल लोड करें
|
||||
model = YOLO('yolov8n.pt') # पूर्व-प्रशिक्षित YOLOv8n मॉडल
|
||||
|
||||
# सूची के लिए बैच्ड पूर्वानुमान चलाएं
|
||||
results = model(['im1.jpg', 'im2.jpg']) # रिजल्ट्स ऑब्जेक्ट की सूची लौटाएँ
|
||||
|
||||
# परिणाम सूची को प्रोसेस करें
|
||||
for result in results:
|
||||
boxes = result.boxes # बॉक्स के लिए बॉक्स ऑब्जेक्ट
|
||||
masks = result.masks # सेगमेंटेशन मोड के लिए मास्क्स ऑब्जेक्ट
|
||||
keypoints = result.keypoints # पोज़ के लिए कीपॉइंट्स ऑब्जेक्ट
|
||||
probs = result.probs # वर्गीकरण के लिए प्रोब्स ऑब्जेक्ट
|
||||
```
|
||||
|
||||
=== "`स्ट्रीम = ट्रू के साथ जेनरेटर` की प्राथमिकता"
|
||||
```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 # बॉक्स के लिए बॉक्स ऑब्जेक्ट
|
||||
masks = result.masks # सेगमेंटेशन मास्क्स के लिए मास्क्स ऑब्जेक्ट
|
||||
keypoints = result.keypoints # पोज़ के लिए कीपॉइंट्स ऑब्जेक्ट
|
||||
probs = result.probs # वर्गीकरण के लिए प्रोब्स ऑब्जेक्ट
|
||||
```
|
||||
|
||||
## पूर्वानुमान स्रोत
|
||||
|
||||
YOLOv8 पूर्वानुमान के लिए विभिन्न प्रकार के इनपुट स्रोतों को process कर सकता है, जैसा कि नीचे दिए गए तालिका में दिखाया गया है। स्रोतों में स्थिर छवियाँ, वीडियो स्ट्रीम्स, और विभिन्न डेटा प्रारूपों को विकास के साथ उपयोग किया जा सकता है। यह तालिका भी इंगित करती है कि क्या प्रत्येक स्रोत को स्ट्रीमिंग मोड में `द्वारा इस्तेमाल किया जा सकता है।' यहां स्ट्रीमिंग मोड का उपयोग वीडियो या लाइव स्ट्रीम को प्रोसेस करने के लिए उपयोगी है क्योंकि इसमें सभी फ्रेम्स को मेमोरी में लोड किए बिना एक रिजल्ट की generator बनाई जाती है।
|
||||
|
||||
!!! Tip "सुझाव"
|
||||
|
||||
`स्ट्रीम = ट्रू` का उपयोग बड़ी वीडियोज़ या विशाल डेटासेट को संचालित करने के लिए करें ताकि मेमोरी का दक्षिणा प्रबंधित किया जा सके। `स्ट्रीम = फाल्स` के खंड के खंड में सभी फ्रेम्स या डेटा बिंदुओं के लिए परिणाम स्तोर किए जाते हैं, जो अधिकांशता में मेमोरी में लोड हो सकते हैं और बड़े इनपुट के लिए आउट-ऑफ-मेमोरी त्रुटियां उत्पन्न कर सकते हैं। इसके बराबर उपयोग करके `स्ट्रीम= True` एक जेनरेटर का उपयोग करता है, जिसके संचित होने वाले
|
||||
|
||||
केवल ब्रह्मण्ड के परिणामों को सीमित संग्रह किया जाता है, बहुत कम मेमोरी खपत करता है और बड़े इनपुट के लिए आउट ऑफमेमोरीनुमान syllabus नुकसान होने से बचाता है।
|
||||
|
||||
| स्रोत | तर्क | प्रकार | टिप्पणियाँ |
|
||||
|-----------------|-------------------------------------------|---------------|-------------------------------------------------------------------------------------------------------------|
|
||||
| छवि | `'छवि.जेपीजी'` | `श. या पथ` | एकल छवि फ़ाइल। |
|
||||
| यूआरएल | `'https://ultralytics.com/छवि/बस.जेपीजी'` | `शः` | छवि होस्टेड रिमोटली उन्नत करने के लिए यूआरएल । |
|
||||
| स्क्रीनशॉट | `'स्क्रीन'` | `शः` | स्क्रीन की वर्तमान सामग्री के रूप में कैप्चर । |
|
||||
| आदर्श | `इमेज.ओपन('चित्र.जेपीजी')` | `पीआईएल.इमेज` | HWC format with RGB channels। |
|
||||
| ओपनसीवी | `ओपेंसीवी.इमरेड('चित्र.जेपीजी')` | `एनपी.न्डआरे` | HWC format with BGR channels `uint8 (0-255)`। |
|
||||
| नम्पी | `नपाई.जीरोस((640,1280,३))` | `एनपी.नडअरे` | HWC format with BGR channels `uint8 (0-255)`। |
|
||||
| टॉर्च | `टॉर्च.जीरोस(16,3,320,640)` | `टॉर्च.टेंसर` | BCHW format with RGB channels `float32 (0.0-1.0)`। |
|
||||
| सीएसवी | `'स्रोत.सीएसवी'` | `शः` or `पथ` | छवियों, वीडियोज़, या निर्देशिकाओं की पथों को समेटने वाली CSV फ़ाइल। |
|
||||
| वीडियो ✅ | `'वीडियो.म्प४'` | `पथ` or `पथ` | MP4, AVI, आदि जैसे वीडियो फ़ाइल में वीडियो। |
|
||||
| निर्देशिका ✅ | `'पथ/'` | `शः` or `पथ` | छवियों या वीडियोज़ को समेटने वाली एक निर्देशिका का पथ। |
|
||||
| ग्लॉब ✅ | `'पथ/ *.जेपीजी'` | `शः` | एकाधिक फ़ाइलों के मिलते-जुलते गोलियाँ। वाइल्डकार्ड के रूप में `*` चरित्र का उपयोग करें। |
|
||||
| यूट्यूब ✅ | `'https://youtu.be/LNwODJXcvt4'` | `शः` | एक यूट्यूब वीडियो के लिए यूआरएल। |
|
||||
| स्ट्रीम ✅ | `'rtsp://माद्यदिनता.कॉम/media.म्प४'` | `शः` | RTSP, RTMP, TCP या IP पते जैसे स्ट्रीमिंग प्रोटोकॉल्स के लिए पता। |
|
||||
| मल्टी-स्ट्रीम ✅ | `'सूची.स्ट्रीम्स'` | `शः` or `पथ` | प्रति पंक्ति एक स्ट्रिम URL के साथ `*.streams` पाठ फ़ाइल, उदाहरण के लिए 8 स्ट्रीम 8 बैच-आकार के साथ चलेंगे। |
|
||||
|
||||
लेखक आदान प्रियतमानसों का सुझाव देते हैं:
|
||||
|
||||
!!! Example "पूर्वानुमान स्रोत"
|
||||
|
||||
=== "छवि"
|
||||
एक छवि फ़ाइल पर पूर्वानुमान चलाएं।
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# पूर्व-प्रशिक्षित YOLOv8n मॉडल लोड करें
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# छवि फ़ाइल के लिए पथ निर्धारित करें
|
||||
स्रोत = 'फाईल/पर/चित्र.jpg'
|
||||
|
||||
# छवि पर पूर्वानुमान चलाएं
|
||||
परिणाम = model(स्रोत) # रिजल्ट्स ऑब्जेक्ट की सूची
|
||||
|
||||
# परिणाम सूची को प्रोसेस करें
|
||||
for परिणाम in परिणाम:
|
||||
बॉक्स = परिणाम.बॉक्स # बॉक्स आउटपुट्स के लिए बॉक्स ऑब्जेक्ट
|
||||
मास्क्स = परिणाम.मास्क्स # सेगमेंटेशन मास्क्स आउटपुट्स के लिए मास्क्स ऑब्जेक्ट
|
||||
कीपॉइंट्स = परिणाम.कीपॉइंट्स # पोज के लिए कीपॉइंट्स ऑब्जेक्ट
|
||||
प्रोब्स = परिणाम.प्रोब्स # वर्गीकरण आउटपुट्स के लिए प्रोब्स ऑब्जेक्ट
|
||||
```
|
||||
|
||||
=== "स्क्रीनशॉट"
|
||||
वर्तमान स्क्रीन सामग्री पर पूर्वानुमान चलाएं।
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# पूर्व-प्रशिक्षित YOLOv8n मॉडल लोड करें
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# वर्तमान स्क्रीन सामग्री को स्रोत रूप में परिभाषित करें
|
||||
स्रोत = 'स्क्रीन'
|
||||
|
||||
# वर्तमान सामग्री पर पूर्वानुमान चलाएं
|
||||
परिणाम = model(स्रोत) # रिजल्ट्स ऑब्जेक्ट की सूची
|
||||
```
|
||||
|
||||
=== "यूआरएल"
|
||||
दूरस्थ छवि या वीडियो पर पूर्वानुमान चलाएं।
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# पूर्व-प्रशिक्षित YOLOv8n मॉडल लोड करें
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# गहनर् रूप से निर्धारित दूरस्थ छवि या वीडियो की यूआरएल
|
||||
स्रोत = 'https://ultralytics.com/छवि/बस.जेपीजी'
|
||||
|
||||
# यूआरएल पर पूर्वानुमान चलाएं
|
||||
परिणाम = model(स्रोत) # रिजल्ट्स ऑब्जेक्ट की सूची
|
||||
```
|
||||
|
||||
=== "आदर्श"
|
||||
Python Imaging Library (PIL) के साथ खोली गई छवि पर पूर्वानुमान चलाएं।
|
||||
```python
|
||||
from PIL import Image
|
||||
from ultralytics import YOLO
|
||||
|
||||
# पूर्व-प्रशिक्षित YOLOv8n मॉडल लोड करें
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# Python Imaging Library (PIL) के साथ खोली गई छवि
|
||||
स्रोत = Image.open('छवि.जेपीजी')
|
||||
|
||||
# आदर्श पर पूर्वानुमान चलाएं
|
||||
परिणाम = model(स्रोत) # रिजल्ट्स ऑब्जेक्ट की सूची
|
||||
```
|
||||
|
||||
=== "ओपेंसीवी"
|
||||
OpenCV के साथ पढ़ी गई छवि पर पूर्वानुमान चलाएं।
|
||||
```python
|
||||
import cv2
|
||||
from ultralytics import YOLO
|
||||
|
||||
# पूर्व-प्रशिक्षित YOLOv8n मॉडल लोड करें
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# OpenCV के साथ पढ़ी गई छवि
|
||||
स्रोत = cv2.imread('छवि.जेपीजी')
|
||||
|
||||
# ओपेंसीवी पर पूर्वानुमान चलाएं
|
||||
परिणाम = model(स्रोत) # रिजल्ट्स ऑब्जेक्ट की सूची
|
||||
```
|
||||
|
||||
=== "नम्पी"
|
||||
numpy array के रूप में प्रस्तुत छवि पर पूर्वानुमान चलाएं।
|
||||
```python
|
||||
import numpy as np
|
||||
from ultralytics import YOLO
|
||||
|
||||
# पूर्व-प्रशिक्षित YOLOv8n मॉडल लोड करें
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# छवि रूप में एक हिंदी छवि को बनाएँ
|
||||
स्रोत = np.zeros((640, 640, 3))
|
||||
|
||||
# नम्पी पर पूर्वानुमान चलाएं
|
||||
परिणाम = model(स्रोत) # रिजल्ट्स ऑब्जेक्ट की सूची
|
||||
```
|
||||
|
||||
[वाहन के पुर्जे डिटेक्शन]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/a0f802a8-0776-44cf-8f17-93974a4a28a1
|
||||
|
||||
[फुटबॉल खिलाड़ी डिटेक्शन]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/7d320e1f-fc57-4d7f-a691-78ee579c3442
|
||||
|
||||
[लोगों का गिरना डिटेक्शन]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/86437c4a-3227-4eee-90ef-9efb697bdb43
|
||||
358
docs/hi/modes/track.md
Normal file
358
docs/hi/modes/track.md
Normal file
|
|
@ -0,0 +1,358 @@
|
|||
---
|
||||
comments: true
|
||||
description: वीडियो स्ट्रीम में आवक ट्रेक करने के लिए Ultralytics YOLO का उपयोग कैसे करें। ट्रैकर्स का उपयोग करने और ट्रैकर कॉन्फ़िगरेशन को अनुकूलित करने के लिए गाइड।
|
||||
keywords: Ultralytics, YOLO, आवक ट्रैकिंग, वीडियो स्ट्रीम, BoT-SORT, ByteTrack, पायथन गाइड, 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 का उपयोग अपनी ऑब्जेक्ट ट्रैकिंग की जरूरतों के लिए करने की सलाह दी जा रही है:
|
||||
|
||||
- **प्रदर्शनशीलता:** सटीकता के मामले में समय-सत्य ही होने के साथ वीडियो स्ट्रीम को प्रक्रिया करें।
|
||||
- **लचीलापन:** विभिन्न ट्रैकिंग ऍल्गोरिदम और विन्यास पर समर्थन करें।
|
||||
- **उपयोग करने में आसानी:** झटपट एकीकरण और डिप्लॉय करने के लिए सरल पायथन API और CLI विकल्प।
|
||||
- **कस्टमाइज़ेबिलिटी:** कस्टम ट्रेन किए गए YOLO मॉडल के साथ उपयोग में आसान, जिससे डोमेन-विशिष्ट एप्लिकेशन में समावेश करना संभव होता है।
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/hHyHmOtmEgs?si=VNZtXmm45Nb9s-N-"
|
||||
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 YOLOv8 के साथ ऑब्जेक्ट डिटेक्शन और ट्रैकिंग।
|
||||
</p>
|
||||
|
||||
## वास्तविक दुनिया के अनुप्रयोग
|
||||
|
||||
| परिवहन | खुदराबाज़ार | जलजीवाणुजनित उत्पादन |
|
||||
|:-------------------------------:|:-----------------------------:|:----------------------------:|
|
||||
| ![वाहन ट्रैकिंग][vehicle track] | ![लोग ट्रैकिंग][people track] | ![मछली ट्रैकिंग][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 है।
|
||||
|
||||
## ट्रैकिंग
|
||||
|
||||
वीडियो स्ट्रीम्स पर ट्रैकर चलाने के लिए, YOLOv8n, YOLOv8n-seg और YOLOv8n-pose जैसे प्रशिक्षित Detect, Segment या Pose मॉडल का उपयोग करें।
|
||||
|
||||
!!! Example "उदाहरण"
|
||||
|
||||
=== "पायथन"
|
||||
|
||||
```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"
|
||||
|
||||
```बैश
|
||||
# CLI के साथ विभिन्न मॉडल के साथ ट्रैकिंग करें
|
||||
योलो ट्रैक मॉडल=yolov8n.pt स्रोत="https://youtu.be/LNwODJXcvt4" # आधिकारिक डिटेक्ट मॉडल
|
||||
योलो ट्रैक मॉडल=yolov8n-seg.pt स्रोत="https://youtu.be/LNwODJXcvt4" # आधिकारिक सेगमेंट मॉडल
|
||||
योलो ट्रैक मॉडल=yolov8n-pose.pt स्रोत="https://youtu.be/LNwODJXcvt4" # आधिकारिक पोज मॉडल
|
||||
योलो ट्रैक मॉडल=path/to/best.pt स्रोत="https://youtu.be/LNwODJXcvt4" # कस्टम प्रशिक्षित मॉडल
|
||||
|
||||
# ByteTrack ट्रैकर का उपयोग करें
|
||||
योलो ट्रैक मॉडल=path/to/best.pt ट्रैकर="bytetrack.yaml"
|
||||
```
|
||||
|
||||
ऊपर के उपयोग में उंगलियों के निचले हिस्से के द्वारा ट्रैकिंग उपलब्ध है सभी डिटेक्ट, सेगमेंट और पोज मॉडल्स के लिए जो वीडियो या स्ट्रीमिंग स्रोत पर चला जा सकते हैं।
|
||||
|
||||
## कॉन्फ़िगरेशन
|
||||
|
||||
### ट्रैकिंग आर्ग्युमेंट्स
|
||||
|
||||
ट्रैकिंग कॉन्फ़िगरेशन, जैसे कि `conf`, `iou` और `show`, ने प्रेडिक्शन मोड के साथ गुणों को साझा करता है। और विन्यास करने के लिए, कृपया [प्रेडिक्शन](../modes/predict.md#inference-arguments) मॉडल पृष्ठ पर संदर्भ करें।
|
||||
|
||||
!!! Example "उदाहरण"
|
||||
|
||||
=== "पायथन"
|
||||
|
||||
```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"
|
||||
|
||||
```बैश
|
||||
# कमांड लाइन इंटरफेस का उपयोग करें ट्रैकिंग पैरामीटर कॉन्फ़िगर करें और ट्रैकर चलाएं
|
||||
योलो ट्रैक मॉडल=yolov8n.pt स्रोत="https://youtu.be/LNwODJXcvt4" conf=0.3, iou=0.5 show
|
||||
```
|
||||
|
||||
### ट्रैकर चयन
|
||||
|
||||
Ultralytics आपको एक संशोधित ट्रैकर कॉन्फ़िगरेशन फ़ाइल का उपयोग करने की भी अनुमति देता है। ऐसा करने के लिए, बस [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers) से एक ट्रैकर कॉन्फ़िगरेशन फ़ाइल (जैसे `custom_tracker.yaml`) की एक प्रतिलिपि बनाएँ और किसी भी विन्यास को संशोधित करें ( `tracker_type` को छोड़कर) अपनी जरूरतों के अनुसार।
|
||||
|
||||
!!! Example "उदाहरण"
|
||||
|
||||
=== "पायथन"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# मॉडल लोड करें और एक कस्टम कॉन्फ़िगरेशन फ़ाइल के साथ ट्रैकर चलाएं
|
||||
model = YOLO('yolov8n.pt')
|
||||
results = model.track(source="https://youtu.be/LNwODJXcvt4", tracker='custom_tracker.yaml')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```बैश
|
||||
# ट्रैकर के साथ एक कस्टम कॉन्फ़िगरेशन फ़ाइल का उपयोग करके मॉडल लोड करें और ट्रैकर चलाएं
|
||||
योलो ट्रैक मॉडल=yolov8n.pt स्रोत="https://youtu.be/LNwODJXcvt4" tracker='custom_tracker.yaml'
|
||||
```
|
||||
|
||||
ट्रैकिंग आर्ग्युमेंट्स की एक व्यापक सूची के लिए, [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers) पेज पर संदर्भ करें।
|
||||
|
||||
## पायथन उदाहरण
|
||||
|
||||
### ट्रैक पर्सिस्ट करना
|
||||
|
||||
यहाँ एक Python स्क्रिप्ट है जो OpenCV (`cv2`) और YOLOv8 का उपयोग करके वीडियो फ़्रेम पर ऑब्जेक्ट ट्रैकिंग चलाने के लिए है। इस स्क्रिप्ट में यह मान लिया गया है कि आपने पहले ही आवश्यक पैकेज (`opencv-python` और `ultralytics`) इंस्टॉल कर लिए हैं। `persist=True` आर्ग्युमेंट ये ट्रैकर को बताता है कि मौजूदा इमेज या फ़्रेम उन अनुसरण तथ्यों के लिए होता है जो पिछले इमेज में से बनाए गए होते हैं।
|
||||
|
||||
!!! Example "ट्रैकिंग के लिए स्ट्रीमिंग फ़ोर-लूप"
|
||||
|
||||
```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 ट्रैकिंग", 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 के साथ समय के साथ ट्रैक्स को प्लॉट करना एक चुस्त और कुशल प्रक्रिया है।
|
||||
|
||||
निम्न उदाहरण में, हम दिखाए गए वीडियो फ्रेम्स पर 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 centre point
|
||||
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 ट्रैकिंग", annotated_frame)
|
||||
|
||||
# 'q' दबायें तो फ़्रेम से बाहर निकलें
|
||||
if cv2.waitKey(1) & 0xFF == ord("q"):
|
||||
break
|
||||
else:
|
||||
# वीडियो के अंत तक पहुँचने पर भी फ़्रेम से बाहर निकलें
|
||||
break
|
||||
|
||||
# वीडियो कैप्चर ऑब्जेक्ट छोड़ें और प्रदर्शन विंडो बंद करें
|
||||
cap.release()
|
||||
cv2.destroyAllWindows()
|
||||
```
|
||||
|
||||
### मल्टीथ्रेड ट्रैकिंग
|
||||
|
||||
मल्टीथ्रेड ट्रैकिंग एक साथ कई वीडियो स्ट्रीमों पर ऑब्जेक्ट ट्रैकिंग चलाने की क्षमता प्रदान करता है। यह खासकर उपयोगी होता है जब हम कई निगरानी कैमरों से जैसे कि वहां से मौजूद वीडियो इनपुट को संभालने के लिए परस्पर प्रोसेसिंग करने की क्षमता बढ़ा सकते हैं।
|
||||
|
||||
प्रदान किए गए पायथन स्क्रिप्ट में हम Python के `threading` मॉड्यूल का उपयोग करके यह संभव करते हैं कि कई इंस्टेंसेज को एक साथ ट्रैकर चलाया जा सके। यह हर थ्रेड के लिए एक ट्रैकर चलाने की जिम्मेदारी होती है, और सभी थ्रेड संघ थ्रेड बैकग्राउंड में एक साथ चलते हैं।
|
||||
|
||||
हर थ्रेड को सही पैरामीटर्स (वीडियो फ़ाइल, उपयोग करने के लिए मॉडल और फ़ाइल इंडेक्स) प्राप्त करने के लिए, हम `run_tracker_in_thread` नामक एक फ़ंक्शन को परिभाषित करते हैं जो इन पैरामीटर्स को स्वीकार करता है और मुख्य ट्रैकिंग लूप को संबंधित करता है। यह फ़ंक्शन वीडियो फ्रेम्स को फ्रेम द्वारा पढकर, ट्रैकर चलाने और परिणामों को प्रदर्शित कर रही है।
|
||||
|
||||
इस उदाहरण में दो अलग मॉडल इस्तेमाल होते हैं: `yolov8n.pt` और `yolov8n-seg.pt`, जो हर एक अलग वीडियो फ़ाइल में ऑब्जेक्ट को ट्रैक करते हैं। वीडियो फाइल `video_file1` और `video_file2` में निर्दिष्ट किए गए हैं। `threading.Thread` में `daemon=True` विधिमति का उपयोग संकेत करता है कि यह सुनिश्चित करता है कि जब प्रमुख कार्यक्रम समाप्त हो जाए, तो ये सभी थ्रेड बंद हो जाएंगे। हम `start()` का उपयोग करके थ्रेडों को शुरू करते हैं और `join()` का उपयोग करके मुख्य थ्रेड को प्रतीक्षा करने के लिए बनाते हैं जब तक कि ट्रैकर थ्रेड खत्म नहीं हो जाते।
|
||||
|
||||
चूंकि सभी थ्रेडों ने अपना कार्य पूरा कर लिया है, इसलिए `cv2.destroyAllWindows()` का उपयोग करके परिणामों को दिखाने वाली विंडो को बंद करते हैं।
|
||||
|
||||
!!! Example "ट्रैकिंग के लिए स्ट्रीमिंग फ़ोर-लूप"
|
||||
|
||||
```python
|
||||
import threading
|
||||
import cv2
|
||||
from ultralytics import YOLO
|
||||
|
||||
|
||||
def run_tracker_in_thread(filename, model, file_index):
|
||||
"""
|
||||
थ्रेडिंग के साथ YOLOv8 मॉडल के साथ एक वीडियो फ़ाइल या webcam स्रोत संगतरूप पर ट्रैकर चलाता है।
|
||||
|
||||
यह फ़ंक्शन एक वेदनीय वीडियो फ़ाइल या कैमरा स्रोत से वीडियो फ़्रेमों को पकड़ता है और ऑब्जेक्ट ट्रैकिंग के लिए YOLOv8 मॉडल का उपयोग करता है। यह फ़ंक्शन अपनी थ्रेड में चलता है जो कार्य प्रसंस्करण के रूप में एक साथ चलता है।
|
||||
|
||||
Args:
|
||||
filename (str): वीडियो फ़ाइल के पथ या कैमरे / बाहरी कैमरे स्रोत का पहचानकर्ता।
|
||||
model (obj): YOLOv8 मॉडल ऑब्जेक्ट।
|
||||
file_index (int): फ़ाइल को पहचानने के लिए ऐंद्रिक कोड।
|
||||
|
||||
ध्यान दें:
|
||||
वीडियो डिस्प्ले विंडो बंद करने के लिए 'q' दबाएं।
|
||||
"""
|
||||
वीडियो = cv2.VideoCapture(filename) # वीडियो फ़ाइल पढ़ें
|
||||
|
||||
while True:
|
||||
सफलता, फ़्रेम = वीडियो.read() # वीडियो फ़्रेम पढ़ें
|
||||
|
||||
# कोई भी फ़्रेम न बचा हो, तो लूप से बाहर निकलें
|
||||
if not सफलता:
|
||||
तोड़ो
|
||||
तोड़ो
|
||||
|
||||
# ऑब्जेक्ट्स को ट्रैक करें यदि उपलब्ध हों
|
||||
results = model.track(फ़्रेम, persist=True)
|
||||
res_plotted = results[0].plot()
|
||||
cv2.imshow(f"स्रोत_{file_index} पर ट्रैकिंग", res_plotted)
|
||||
|
||||
कुंजी = cv2.waitKey(1)
|
||||
if कुंजी == ord('q'):
|
||||
तोड़ो
|
||||
|
||||
# वीडियो स्रोतों को छोड़ें
|
||||
वीडियो.रिलीज़े()
|
||||
|
||||
|
||||
# मॉडल लोड करें
|
||||
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()
|
||||
|
||||
# सभी ट्रैकर थ्रेडों के निपटाए जाने के बाद, परिणामों को प्रदर्शन विंडोज बंद करें
|
||||
cv2.destroyAllWindows()
|
||||
```
|
||||
|
||||
यह उदाहरण स्क्रिप्ट जोड़कर और इसी मार्गदर्शन का उपयोग करके और अधिक वीडियो फ़ाइल और मॉडल के लिए बाहरी थ्रेड बना कर इसे कार्यान्वित करने के लिए आसानी से विस्तारित किया जा सकता है।
|
||||
|
||||
## नए ट्रैकरों में सहयोग दें
|
||||
|
||||
क्या आप बहु-ऑब्जेक्ट ट्रैकिंग में माहिर हैं और उल्ट्रालिटिक्स YOLO के साथ एक ट्रैकिंग ऍल्गोरिदम को सफलतापूर्वक अमल में लाया है? हम आपको [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers) में हमारे ट्रैकर खंड के लिए योगदान देने के लिए आमंत्रित करते हैं! आपका वास्तविक दुनिया के अनुप्रयोग और समाधान आपके समुदाय के लिए अमूल्य हो सकते हैं।
|
||||
|
||||
इस खंड में योगदान देकर, आप उल्ट्रालिटिक्स YOLO फ्रेमवर्क के भीतर उपलब्ध ट्रैकिंग समाधानों की विस्तारवादी सूची बढ़ा सकते हैं, जो उल्ट्रालिटिक्स YOLO माध्यम से काम कर रहे उपयोगकर्ताओं के लिए अत्यधिक समर्पणशीलता और उपयोगीता जोड़ते हैं।
|
||||
|
||||
अपनी योगदान की शुरुआत करने के लिए, कृपया हमारे [योगदान गाइड](https://docs.ultralytics.com/help/contributing) का संदर्भ लें जहां परामर्शिका प्रस्तुत करने के सचेत निर्देश दिए गए हैं। हम इंतजार कर रहे हैं देखें आप क्या लाते हैं!
|
||||
|
||||
साथ में, चलिए Ultralytics YOLO पारिस्थितिकी की गतिशीलता को मजबूत करें 🙏!
|
||||
|
||||
[वाहन ट्रैकिंग]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/ee6e6038-383b-4f21-ac29-b2a1c7d386ab
|
||||
|
||||
[लोग ट्रैकिंग]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/93bb4ee2-77a0-4e4e-8eb6-eb8f527f0527
|
||||
|
||||
[मछली ट्रैकिंग]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/a5146d0f-bfa8-4e0a-b7df-3c1446cd8142
|
||||
293
docs/hi/modes/train.md
Normal file
293
docs/hi/modes/train.md
Normal file
|
|
@ -0,0 +1,293 @@
|
|||
---
|
||||
comments: true
|
||||
description: Ultralytics YOLO के साथ YOLOv8 मॉडल ट्रेन करने के लिए चरणबद्ध मार्गदर्शिका, एकल-GPU और बहु-GPU ट्रेनिंग के उदाहरणों के साथ।
|
||||
keywords: Ultralytics, YOLOv8, YOLO, ऑब्जेक्ट डिटेक्शन, ट्रेन मोड, कस्टम डेटासेट, GPU ट्रेनिंग, बहु-GPU, हाइपरपैरामीटर, CLI उदाहरण, Python उदाहरण
|
||||
---
|
||||
|
||||
# Ultralytics YOLO के साथ मॉडल ट्रेनिंग
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics YOLO इकोसिस्टम और इंटीग्रेशन">
|
||||
|
||||
## परिचय
|
||||
|
||||
एक गहरी यान्त्रिकी मॉडल को ट्रेनिंग देना उसे डेटा खिलाते हुए और इसके पैरामीटर्स को समायोजित करके सही पूर्वानुमान करने की सामर्थ्य को शामिल करता है। YOLOv8 मॉडल में Ultralytics YOLO के ट्रेन मोड ने ऑब्जेक्ट डिटेक्शन मॉडल्स को प्रभावी और दक्ष ट्रेनिंग के लिए इंजीनियरिंग किया गया है, जिससे आधुनिक हार्डवेयर क्षमताओं का पूरी तरह से उपयोग किया जा सके। यह मार्गदर्शिका उन सभी विवरणों को कवर करने का उद्देश्य रखती है जो आपको 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> Google Colab में अपने कस्टम डेटासेट पर एक YOLOv8 मॉडल को ट्रेन करने का तरीका।
|
||||
</p>
|
||||
|
||||
## प्रशिक्षण के लिए Ultralytics YOLO का चयन क्यों करें?
|
||||
|
||||
यहां YOLOv8 के ट्रेन मोड को चुनने के कुछ प्रमुख कारण हैं:
|
||||
|
||||
- **दक्षता:** अपने हार्डवेयर से सबसे अधिक लाभ उठाएं, चाहे आप सिंगल-GPU सेटअप पर हों या कई GPU पर स्केल कर रहें हों।
|
||||
- **प्राक्तिशिल्ता:** COCO, VOC और ImageNet जैसे तत्परता उपलब्ध डेटासेटों के अलावा कस्टम डेटासेट पर ट्रेन करें।
|
||||
- **उपयोगकर्ता मित्रपूर्णता:** सीधे और शक्तिशाली CLI और Python इंटरफ़ेस का उपयोग एक सीधी ट्रेनिंग अनुभव के लिए।
|
||||
- **हाइपरपैरामीटर लचीलापन:** मॉडल प्रदर्शन को सुधारने के लिए वैश्विक स्तर पर अनुकूलन योग्य हाइपरपैरामीटरों की एक व्यापक श्रृंखला।
|
||||
|
||||
### ट्रेन मोड की प्रमुख सुविधाएं
|
||||
|
||||
निम्नलिखित YOLOv8 के ट्रेन मोड की कुछ महत्वपूर्ण सुविधाएं हैं:
|
||||
|
||||
- **स्वत: डेटासेट डाउनलोड:** COCO, VOC और ImageNet जैसे मानक डेटासेट्स को पहली बार के उपयोग पर स्वत: डाउनलोड किया जाता है।
|
||||
- **बहु-GPU समर्थन:** प्रक्रिया की गति को तेज करने के लिए अनुप्रयोग में कई जीपीयू का उपयोग करें।
|
||||
- **हाइपरपैरामीटर कॉन्फ़िगरेशन:** हाइपरपैरामीटर को यामल कॉन्फ़िगरेशन फ़ाइल या CLI तर्कों के माध्यम से संशोधित करने का विकल्प।
|
||||
- **दृश्यीकरण और मॉनिटरिंग:** प्रशिक्षण मैट्रिक्स के वास्तविक समय ट्रैकिंग और सीखने की प्रक्रिया के दृश्यीकरण के लिए बेहतर अवधारणा के लिए।
|
||||
|
||||
!!! Tip "टिप"
|
||||
|
||||
* COCO, VOC, ImageNet और कई अन्य जैसे YOLOv8 डेटासेट पहले से आपूर्ति हो जाते हैं, उपयोग पर स्वत: डाउनलोड होते हैं, जैसे `yolo train data=coco.yaml`
|
||||
|
||||
## उपयोग उदाहरण
|
||||
|
||||
सौंधांग्रही कोड को नजरअंदाज किए बिना कोई उत्तर देने के लिए, कोको128 डेटासेट के लिए YOLOv8n पर ट्रेनिंग करें। ट्रेनिंग उपकरण `device` तर्क का उपयोग करके निर्दिष्ट किया जा सकता है। आगर कोई तर्क निर्दिष्ट नहीं किया जाता है, तो प्रशिक्षण `device=0` लगाने के लिए उपयुक्त GPU `device=0` का उपयोग करेगा, अन्यथा `device=cpu` का उपयोग किया जाएगा। पूरी प्रशिक्षण तर्कों की पूरी सूची के लिए नीचे देखें।
|
||||
|
||||
!!! Example "सिंगल-जीपीयू और सीपीयू प्रशिक्षण उदाहरण"
|
||||
|
||||
उपकरण स्वत: निर्धारित किया जाता है। यदि साझा-GPU उपलब्ध हो तो उसका उपयोग किया जाएगा, अन्यथा प्रशिक्षण सीपीयू पर शुरू होगा।
|
||||
|
||||
=== "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
|
||||
```
|
||||
|
||||
### बहु-जीपीयू प्रशिक्षण
|
||||
|
||||
बहु-जीपीयू प्रशिक्षण एकाधिक जीपीयू के उपयोग से उपलब्ध होता है और उपकरण माध्यम से भी Python API के माध्यम से उपलब्ध है। बहु-जीपीयू प्रशिक्षण को सक्षम करने के लिए, आप उपयोग करना चाहते हैं उन जीपीयू उपकरण आईडीजी को निर्दिष्ट करें।
|
||||
|
||||
!!! Example "बहु-जीपीयू प्रशिक्षण का उदाहरण"
|
||||
|
||||
2 जीपीयू के साथ प्रशिक्षित करें, CUDA उपकरण 0 और 1 का उपयोग करें। अतिरिक्त जीपीयू के लिए विस्तार करें जितना आवश्यक हो।
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# एक मॉडल लोड करें
|
||||
model = YOLO('yolov8n.pt') # प्रशिक्षण के लिए सिफारिश की जाती है, एक पूर्व-प्रशिक्षित मॉडल लोड करें
|
||||
|
||||
# दो जीपीयू के साथ मॉडल प्रशिक्षण
|
||||
results = model.train(data='coco128.yaml', epochs=100, imgsz=640, device=[0, 1])
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# पूर्व-प्रशिक्षित *.pt मॉडल से जीपीयू 0 और 1 का उपयोग करके प्रशिक्षण शुरू करें
|
||||
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640 device=0,1
|
||||
```
|
||||
|
||||
### ऐपल M1 और M2 MPS प्रशिक्षण
|
||||
|
||||
ऐपल M1 और M2 चिप्स के समर्थन के साथ Ultralytics YOLO मॉडल पर ट्रेनिंग करना अब ऐसे उपकरणों पर संभव होता है जहां शक्तिशाली मेटल परफार्मेंस शेडर (MPS) फ़्रेमवर्क का उपयोग किया जाता है। MPS कंप्यूटेशन और छवि प्रसंस्करण कार्यों को आईयूपी स्लिकॉन पर निष्पादित करने का एक उच्च कार्यक्षमता तरीका प्रदान करता है।
|
||||
|
||||
ऐपल M1 और M2 चिप्स पर प्रशिक्षण को सक्षम करने के लिए, आपको प्रशिक्षण प्रक्रिया शुरू करते समय "mps" को अपने उपकरण के रूप में निर्दिष्ट करना चाहिए। नीचे Python और कमांड लाइन में इसे कैसे कर सकते हैं उसका एक उदाहरण दिया गया है:
|
||||
|
||||
!!! Example "MPS प्रशिक्षण का उदाहरण"
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# एक मॉडल लोड करें
|
||||
model = YOLO('yolov8n.pt') # प्रशिक्षण के लिए सिफारिश की जाती है, एक पूर्व-प्रशिक्षित मॉडल लोड करें
|
||||
|
||||
# दो जीपीयू के साथ मॉडल प्रशिक्षण
|
||||
results = model.train(data='coco128.yaml', epochs=100, imgsz=640, device='mps')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# पूर्व-प्रशिक्षित *.pt मॉडल से जीपीयू 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 में प्रशिक्षण को बहाल कर सकते हैं जब आप `train` विधि को बुलाने पर `resume` तर्क को `True` निर्दिष्ट करके और आंशिक रूप से निर्दिष्ट `pt` फ़ाइल के पथ को निर्दिष्ट करके, और आपका ट्रेनिंग प्रक्रिया जहां से छोड़ गई थी से प्रशिक्षण जारी रखने के लिए `train` फ़ंक्शन को कम्युट कीजिए।
|
||||
|
||||
नीचे एक उदाहरण दिया गया है कि कैसे पायथन और कमांड लाइन में एक अविरल प्रशिक्षण को कैसे बहाल करें:
|
||||
|
||||
!!! Example "प्रशिक्षण बहाल करने का उदाहरण"
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# एक मॉडल लोड करें
|
||||
model = YOLO('path/to/last.pt') # एक आंशिक-प्रशिक्षित मॉडल लोड करें
|
||||
|
||||
# प्रशिक्षण बहाल करें
|
||||
results = model.train(resume=True)
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
```bash शैल
|
||||
# एक अविरल प्रशिक्षण बहाल करें
|
||||
yolo train resume model=path/to/last.pt
|
||||
```
|
||||
|
||||
`resume=True` सेट करके, `train` फ़ंक्शन पहले से बचे हुए मॉडल के स्थान में बचे हुए अवस्था में से प्रशिक्षण जारी रखेगा। यदि `resume` तर्क छोड़ दिया जाता है या `False` के रूप में निर्दिष्ट किया जाता है, तो `train` फ़ंक्शन एक नया प्रशिक्षण सत्र शुरू करेगा।
|
||||
|
||||
याद रखें कि डिफ़ॉल्ट रूप स्थिति पर दशा-अतीत प्रति के अंत में बचावात्मक संग्रहण होते हैं, या `save_period` तर्क का उपयोग करके निश्चित अंतराल पर, इसलिए आपको एक प्रशिक्षण दौड़ को बहाल करने के लिए कम से कम 1 इपॉक्स पूर्ण करना होगा।
|
||||
|
||||
## तर्क
|
||||
|
||||
YOLO मॉडलों के लिए प्रशिक्षण सेटिंग विभिन्न हाइपरपैरामीटर और कॉन्फ़िगरेशन का उपयोग करते हैं जो मॉडल को एक डेटासेट पर प्रशिक्षित करने के लिए उपयोग होता है। इन सेटिंग्स में मॉडल के प्रदर्शन, गति और नियमितता पर प्रभाव पड़ सकता है। कुछ सामान्य YOLO प्रशिक्षण सेटिंग्स में बैच का आकार, सीखने दर, मोमेंटम और वेट डिके जैसी मानक अद्यतन वाली चीजें शामिल हैं। प्रशिक्षण प्रक्रिया को प्रभावी ढंग से स्थापित करने के लिए इन सेटिंग्स को सावधानीपूर्वक संयोजित करना महत्वपूर्ण है और एक दिए गए कार्य के लिए श्रेणी में सबसे अच्छे परिणाम प्राप्त करने के लिए इन सेटिंग्स के साथ संगतन करने की आवश्यकता होती है।
|
||||
|
||||
| कुंजी | मान | विवरण |
|
||||
|-------------------|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `model` | `None` | मॉडल फ़ाइल का पथ, चाहे yolov8n.pt, yolov8n.yaml |
|
||||
| `data` | `None` | डेटा फ़ाइल का पथ, चाहे coco128.yaml |
|
||||
| `epochs` | `100` | प्रशिक्षण के लिए बार की संख्या |
|
||||
| `patience` | `50` | प्रशिक्षण के आरंभ में कोई देखने के योग्य सुधार के लिए इपॉक्स इंतजार करें |
|
||||
| `batch` | `16` | प्रति बैच छवि की संख्या (-1 के लिए AutoBatch) |
|
||||
| `imgsz` | `640` | प्रारंभिक छवियों का आकार मानदंड |
|
||||
| `save` | `True` | प्रशिक्षण नियंत्रितक और पूर्वानुमान परिणाम सहेजें |
|
||||
| `save_period` | `-1` | प्रत्येक x ईपॉक्स पर निर्वाचित चेकप्वाइंट (1 से कम द्वारा अक्षम) |
|
||||
| `cache` | `False` | [सही/रैम](https://github.com/rwightman/pytorch-image-models/blob/master/timm/data/constants.py) या खोलने के लिए ब्राउज़र के लिए ब्राउज़र डेटा लोड करने के लिए उपयोग करें |
|
||||
| `device` | `None` | चलाने के लिए उपकरण, उदाहरण के लिए cuda उपकरण का उपयोग करें device=0 या device=0,1 या device=cpu |
|
||||
| `workers` | `8` | वर्कर सूत्रों की संख्या |
|
||||
| `project` | `None` | प्रोजेक्ट का नाम |
|
||||
| `name` | `None` | प्रयोग का नाम |
|
||||
| `exist_ok` | `False` | मौजूदा प्रयोग को अधिलेखित करने के लिए या नहीं |
|
||||
| `pretrained` | `True` | (बूल या स्ट्रिंग) आज्ञानुसार एक पूर्व-प्रशिक्षित मॉडल का उपयोग करें (बूल) या वजनों को लोड करने के लिए मॉडल से (स्ट्रिंग) |
|
||||
| `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` | अंतिम अवधि के लिए मॉज़ेक त断श्रावक में माध्यम वृक्षों की सक्षमता (0 को अक्षम करें) |
|
||||
| `resume` | `False` | आखिरी निर्वाचित चेकप्वाइंट से प्रशिक्षण बहाल करें |
|
||||
| `amp` | `True` | ऑटोमेटिक मिक्स्ड प्रेसिजन (AMP) प्रशिक्षण, चयन=[True, False] |
|
||||
| `fraction` | `1.0` | प्रशिक्षित करने के लिए डेटासेट आंशिक (डिफ़ॉल्ट 1.0, प्रशिक्षण सेट में सभी छवियां) |
|
||||
| `profile` | `False` | लॉगर्स के लिए प्रशिक्षण के दौरान ONNX और TensorRT की स्पीड प्रोफ़ाइल |
|
||||
| `freeze` | `None` | श्रोणि की पहले n परतें, या श्रोणि सूची लेयर सूची को प्रशिक्षण के दौरान लॉक करें |
|
||||
| `lr0` | `0.01` | प्रारंभिक सीखने दर (उदा. SGD=1E-2, Adam=1E-3) |
|
||||
| `lrf` | `0.01` | परिणामकारी सीखने दर (lr0 * lrf) |
|
||||
| `momentum` | `0.937` | SGD मोमेंटम/Adam बीटा1 |
|
||||
| `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` | कीपॉइंट obj हानि प्राप्ति (केवल ठंडा) |
|
||||
| `label_smoothing` | `0.0` | लेबल स्मूदिंग (अंश) |
|
||||
| `nbs` | `64` | नामोज़यल बैच का आकार |
|
||||
| `overlap_mask` | `True` | प्रशिक्षण के दौरान मास्क ओवरलैप होने चाहिए (सेगमेंट ट्रेन केवल) |
|
||||
| `mask_ratio` | `4` | स्थानकटू औरता (सेगमेंट ट्रेन केवल) |
|
||||
| `dropout` | `0.0` | निर्द्यमता का उपयोग करें (वर्गीकरण केवल प्रशिक्षण) |
|
||||
| `val` | `True` | प्रशिक्षण के दौरान जाँच/परीक्षण |
|
||||
|
||||
## लॉगिंग
|
||||
|
||||
YOLO मॉडल के प्रशिक्षण में आपको समय-समय पर मॉडल के प्रदर्शन का पता रखना महत्वपूर्ण हो सकता है। यहां लॉगिंग की एक वैरांगणिकता, यानी कीमेट, क्लियरएमएल और टेंसरबोर्ड का समर्थन है।
|
||||
|
||||
लॉगर का उपयोग करने के लिए, ऊपरी कोड स्निपेट के ठोकवाला मेनू से इसे चयन करें और इसे चलाएं। चयनित लॉगर स्थापित किया जाएगा और इनिशलाइज़ किया जाएगा।
|
||||
|
||||
### कीमेट
|
||||
|
||||
[कीमेट](../../integrations/comet.md) एक प्लेटफ़ॉर्म है जो डेटा वैज्ञानिकों और डेवलपरों को प्रयोग और मॉडलों की प्रशिक्षण में तुलनात्मक, व्याख्यान करने और अग्रिम निर्धारण करने में मदद करता है। इसकी सुविधाएं वास्तविक समय मापक, कोड अंतर और हाइपरपैरामीटर ट्रैकिंग जैसी विभिन्नताएं प्रदान करती हैं।
|
||||
|
||||
कीमेट का उपयोग करने के लिए:
|
||||
|
||||
!!! Example "उदाहरण"
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
# pip install comet_ml
|
||||
import comet_ml
|
||||
|
||||
comet_ml.init()
|
||||
```
|
||||
|
||||
कृपया कीमेट वेबसाइट पर अपने कीमेट खाते में साइन इन करें और अपनी एपीआई कुंजी प्राप्त करें। आपको अपने वातावरण प्रतिस्थापित करने या अपने स्क्रिप्ट में इसे जोड़ने की आवश्यकता होगी ताकि आप अपने प्रयोगों को लॉग कर सकें।
|
||||
|
||||
### क्लियरएमएल
|
||||
|
||||
[क्लियरएमएल](https://www.clear.ml/) एक ओपन-सोर्स प्लेटफ़ॉर्म है जो प्रयोगों के ट्रैकिंग को स्वतंत्र और प्रभावी संसाधित करने में मदद करता है। यह टीम को उनके एमएल का कार्य प्रबंधन, क्रियाकलापों को क्रियान्वयन करने और उनकी पुनःसृजन की संवेदनशीलता से सहायता करने के लिए डिज़ाइन दोबारा करने के लिए विकसित किया गया है।
|
||||
|
||||
क्लियरएमएल का उपयोग करने के लिए:
|
||||
|
||||
!!! Example "उदाहरण"
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
# pip install clearml
|
||||
import clearml
|
||||
|
||||
clearml.browser_login()
|
||||
```
|
||||
|
||||
इस स्क्रिप्ट को चलाने के बाद, कृपया क्लियरएमएल वेबसाइट पर अपने क्लियरएमएल खाते में साइन इन करें और अपने ब्राउज़र सत्र की प्रमाणिकता स्वीकार करें।
|
||||
|
||||
### टेंसरबोर्ड
|
||||
|
||||
[टेंसरबोर्ड](https://www.tensorflow.org/tensorboard) एक टेन्सरफ़्लो वीज़ुअलाइज़ेशन टूलकिट है। यह आपको अपने टेन्सरफ़्लो ग्राफ को दृष्टिगतिक टुकड़ों में वेटवेद्य करने, आपातकालीन अवकलनों के बारे में मितियों को प्लॉट करने और इसके मध्य से जाने की कल्पना से बदलने जैसे अतिरिक्त डेटा दिखाने की अनुमति देता है।
|
||||
|
||||
[Google Colab में](https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb) टेंसरबोर्ड का उपयोग करने के लिए:
|
||||
|
||||
!!! Example "उदाहरण"
|
||||
|
||||
=== "CLI"
|
||||
```bash
|
||||
load_ext tensorboard
|
||||
tensorboard --logdir ultralytics/runs # ध्यान दें कि 'धावक' निर्देशिका के साथ बदलें
|
||||
```
|
||||
|
||||
स्थानीय टेंसरबोर्ड का उपयोग करने के लिए नीचे दिए गए कमांड को चलाएं और परिणामों को http://localhost:6006/ पर देखें।
|
||||
|
||||
!!! Example "उदाहरण"
|
||||
|
||||
=== "CLI"
|
||||
```bash
|
||||
tensorboard --logdir ultralytics/runs # ध्यान दें कि 'धावक' निर्देशिका के साथ बदलें
|
||||
```
|
||||
|
||||
इससे टेंसरबोर्ड लोड होगा और यह आपके प्रशिक्षण लॉगों की सहेजी हुई निर्देशिका की ओर दिशानिर्देश करेगा।
|
||||
|
||||
लॉगर स्थापित करने के बाद, आप अपने चयनित प्लेटफ़ॉर्म में स्वचालित रूप से रूपांतरण मात्राओं को अद्यतन करने के लिए प्रशिक्षणीय कोड जारी रख सकते हैं, और आपको इन लॉगों का उपयोग करके अपने मॉडल के प्रदर्शन का मूल्यांकन कर सकते हैं चाहे यह मॉडलों के प्रदर्शन के समय, विभिन्न मॉडलों का तुलनात्मक मूल्यांकन, और सुधार करने का पहचान करने के लिए।
|
||||
86
docs/hi/modes/val.md
Normal file
86
docs/hi/modes/val.md
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
---
|
||||
comments: true
|
||||
description: YOLOv8 मॉडलों की मान्यता सत्यापन के लिए गाइड। यहाँ जानें कि कैसे पायथन और CLI उदाहरणों के साथ परीक्षण सेटिंग्स और मापों का उपयोग करके अपने YOLO मॉडलों के प्रदर्शन का मूल्यांकन करें।
|
||||
keywords: Ultralytics, YOLO दस्तावेज़, YOLOv8, मान्यता, मॉडल मूल्यांकन, हाइपरपैरामीटर, सटीकता, माप, पायथन, सीएलआई
|
||||
---
|
||||
|
||||
# Ultralytics YOLO के साथ मॉडल मान्यता
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics YOLO पारिस्थितिकी और एकीकरण">
|
||||
|
||||
## परिचय
|
||||
|
||||
मान्यता मशीन लर्निंग पाइपलाइन में एक महत्वपूर्ण चरण है, जो आपको अपने प्रशिक्षित मॉडलों की गुणवत्ता का मूल्यांकन करने की अनुमति देता है। Ultralytics YOLOv8 में Val मोड बहुत सारे टूल्स और मापों का प्रयोग करके आपके ऑब्जेक्ट डिटेक्शन मॉडलों के प्रदर्शन का मूल्यांकन करने के लिए है। यह गाइड योग्यता और विश्वसनीयता दोनों सुनिश्चित करने के लिए Val मोड का सविस्तर संसाधन के रूप में काम आता है।
|
||||
|
||||
## Ultralytics YOLO के साथ मान्यता करने के फायदे
|
||||
|
||||
यहाँ योलोवी8 के Val मोड का उपयोग करने के फायदे हैं:
|
||||
|
||||
- **सटीकता:** अपने मॉडल को पूरी तरह से मूल्यांकित करने के लिए mAP50, mAP75, और mAP50-95 जैसे टिकाऊ मापों को प्राप्त करें।
|
||||
- **सुविधा:** मूल्यांकन प्रक्रिया को सरल बनाने के लिए ट्रेनिंग सेटिंग्स को याद करने वाली इनबिल्ट सुविधा का उपयोग करें।
|
||||
- **लचीलापन:** अपने मॉडल को एक ही या अलग डेटासेट और छवि आकार के साथ मान्यता दें।
|
||||
- **हाइपरपैरामीटर ट्यूनिंग:** मूल्यांकन मापों का उपयोग करके अपने मॉडल को बेहतर प्रदर्शन के लिए समायोजित करें।
|
||||
|
||||
### Val मोड की मुख्य विशेषताएं
|
||||
|
||||
ये हैं YOLOv8 के Val मोड द्वारा प्रदान की जाने वाली महत्वपूर्ण कार्यक्षमताएं:
|
||||
|
||||
- **स्वत: सेटिंग्स:** मॉडल योग्यता के लिए अपने प्रशिक्षण समायोजनों को स्वतः याद रखते हैं।
|
||||
- **बहुमान्यता समर्थन:** विभिन्न सटीकता मापों के आधार पर अपने मॉडल की मूल्यांकन करें।
|
||||
- **CLI और पायथन एपीआई:** मान्यता के लिए CLI या पायथन एपीआई में से एक का चयन करें।
|
||||
- **डेटा सम्पर्कता:** कोकोविवक प्रशिक्षण चरण में उपयोग की जाने वाली डेटासेट के साथ सहजता से काम करता है।
|
||||
|
||||
!!! Tip "टिप"
|
||||
|
||||
* YOLOv8 मॉडल अपने प्रशिक्षण सेटिंग्स को स्वतः याद रखते हैं, इसलिए आप केवल `yolo val model=yolov8n.pt` या `model('yolov8n.pt').val()` द्वारा सरलतापूर्वक एक मॉडल को समान छवि आकार के साथ और मूल डेटासेट पर मान्यता दे सकते हैं।
|
||||
|
||||
## उपयोग के उदाहरण
|
||||
|
||||
COCO128 डेटासेट पर प्रशिक्षित YOLOv8n मॉडल की सटीकता मान्यांकन करें। `model` को विद्यमान ट्रेनिंग `data` और तर्क बने रहते हैं, इसलिए कोई तर्क पास कराने की आवश्यकता नहीं है। पूरी सूची निर्यात तर्कों के लिए नीचे देखें।
|
||||
|
||||
!!! 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 से बना एक सूची
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```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 for AutoBatch) |
|
||||
| `save_json` | `False` | परिणाम JSON फ़ाइल में सहेजें |
|
||||
| `save_hybrid` | `False` | प्रकारों के हाइब्रिड संस्करण को सहेजें (लेबल + अतिरिक्त पूर्वानुमान) |
|
||||
| `conf` | `0.001` | डिटेक्शन के लिए वस्तु का विश्वसनीयता थ्रेशहोल्ड |
|
||||
| `iou` | `0.6` | संयोग/संधि (IoU) के लिए थ्रेशहोल्ड डाकघर |
|
||||
| `max_det` | `300` | प्रति छवि के लिए अधिकतम निकासी संख्या |
|
||||
| `half` | `True` | अर्धसरलता (FP16) का उपयोग करें |
|
||||
| `device` | `None` | चलाएं के लिए युक्ति, उदाहरण के लिए cuda device=0/1/2/3 या device=cpu |
|
||||
| `dnn` | `False` | ओएनएनएक्स संज्ञानात्मक के लिए ओपेंसीवी डीएनएन का उपयोग करें |
|
||||
| `plots` | `False` | प्रशिक्षण के दौरान चित्रितियाँ दिखाएं |
|
||||
| `rect` | `False` | न्यूनतम पैडिंग के लिए हर बैच को संकलित आयताकारक विमान करें |
|
||||
| `split` | `val` | मान्यांकन के लिए उपयोग की जाने वाली डेटासेट स्प्लिट, जैसे 'val', 'test' या 'train' |
|
||||
|
|
||||
Loading…
Add table
Add a link
Reference in a new issue