इमेज क्लासिफिकेशन
इमेज क्लासिफिकेशन तीन कार्यों में से सबसे सरल है और पूरी तस्वीर को एक पूर्वनिर्धारित कक्षा में वर्गीकृत करना शामिल होता है।
इमेज क्लासिफायर का आउटपुट एक एकल क्लास लेबल और एक विश्वास प्रामाणिकता स्कोर होता है। इमेज क्लासिफिकेशन उपयोगी होता है जब आपको केवल इसे जानने की जरूरत होती है कि एक इमेज किस कक्षा में सम्मिलित है और आपको नहीं पता होना चाहिए कि उस कक्षा के वस्त्राणु किस स्थान पर स्थित हैं या उनकी सटीक आकृति क्या है।
टिप
YOLOv8 Classify मॉडेल्स में -cls
संकेतक प्रयोग किया जाता है, जैसे yolov8n-cls.pt
और इन्हें पूर्व प्रशिक्षित किया जाता है ImageNet पर।
मॉडेल
यहां YOLOv8 पूर्व प्रशिक्षित Classify मॉडेल दिखाए गए हैं। Detect, Segment, और Pose मॉडेल्स COCO डेटासेट पर पूर्व प्रशिक्षित होते हैं, जबकि Classify मॉडेल ImageNet डेटासेट पर पूर्व प्रशिक्षित होते हैं।
मॉडेल डाउनलोड पहली बार उपयोग पर ताजगी Ultralytics प्रकाशन से स्वतः होता है।
मॉडेल | आकार (पिक्सेल) |
तालिका शीर्ष 1 |
तालिका शीर्ष 5 |
स्पीड सीपीयू ONNX (मि. सेकंड) |
स्पीड A100 TensorRT (मि. सेकंड) |
पैरामीटर (M) |
FLOPs (B) at 640 |
---|---|---|---|---|---|---|---|
YOLOv8n-cls | 224 | 66.6 | 87.0 | 12.9 | 0.31 | 2.7 | 4.3 |
YOLOv8s-cls | 224 | 72.3 | 91.1 | 23.4 | 0.35 | 6.4 | 13.5 |
YOLOv8m-cls | 224 | 76.4 | 93.2 | 85.4 | 0.62 | 17.0 | 42.7 |
YOLOv8l-cls | 224 | 78.0 | 94.1 | 163.0 | 0.87 | 37.5 | 99.7 |
YOLOv8x-cls | 224 | 78.4 | 94.3 | 232.0 | 1.01 | 57.4 | 154.8 |
- तालिका मॉडेलों की ImageNet डेटासेट मान्यीकरण सेट पर सटीकता है।
yolo val classify data=path/to/ImageNet device=0
द्वारा पुनः उत्पन्न करें - स्पीड एक Amazon EC2 P4d इंस्टेंस का उपयोग करके ImageNet के वैल छवियों पर औसत जोड़ी गई है।
yolo val classify data=path/to/ImageNet batch=1 device=0|cpu
द्वारा पुनः उत्पन्न करें
ट्रेन
100 एपॉक्स के लिए MNIST160 डेटासेट पर YOLOv8n-cls को 64 इमेज आकार पर रिक्तियों के साथ ट्रेन करें। उपलब्ध विकल्पों की पूरी सूची के लिए Configuration पेज देखें।
उदाहरण
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)
# 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 क्लासिफिकेशन डेटासेट प्रारूप Dataset Guide में विस्तृत रूप में दिया गया है।
वेलिडेट
MNIST160 डेटासेट पर प्रशिक्षित YOLOv8n-cls मॉडेल की सटीकता का मूल्यांकन करें। कोई आर्गुमेंट चक्रवात नहीं करना चाहिए क्योंकि मॉडेल
अपने प्रशिक्षण यथार्थ डेटा और आर्गुमेंट्स को स्मरण रखता है।
उदाहरण
from ultralytics import YOLO
# एक मॉडेल लोड करें
model = YOLO('yolov8n-cls.pt') # एक आधिकारिक मॉडेल लोड करें
model = YOLO('path/to/best.pt') # एक स्वचालित मॉडेल लोड करें
# मॉडेल का मूल्यांकन करें
metrics = model.val() # कोई आर्गुमेंट आवश्यक नहीं हैं, डेटासेट और सेटिंग्स याद रखे जाते हैं
metrics.top1 # शीर्ष1 सटीकता
metrics.top5 # शीर्ष5 सटीकता
प्रेडिक्ट
प्रशिक्षित YOLOv8n-cls मॉडेल का उपयोग तस्वीरों पर पूर्वानुमान चलाने के लिए करें।
उदाहरण
पूर्वानुमान पूरा होने के बाद निर्यात को सीधे पूर्वानुमानित मॉडेल पर लागू कर सकते हैं, जैसे yolo predict model=yolov8n-cls.onnx
। एक्सपोर्ट पूर्ण होने के बाद, अपने मॉडेल के उपयोग के लिए आपको उपयोग उदाहरण दिखाए गए हैं।
एक्सपोर्ट
YOLOv8n-cls मॉडल को ONNX, CoreML आदि जैसे विभिन्न प्रारूपों में निर्यात करें।
उदाहरण
टेबल में उपलब्ध YOLOv8-cls निर्यात प्रारूप निम्नानुसार हैं। निर्यात पूरा होने के बाद आप सीधे निर्यात किए गए मॉडेल पर पूर्व-आश्रिताओं की तरह पूर्वानुमान या मूल्यांकन कर सकते हैं, जैसे yolo predict model=yolov8n-cls.onnx
। उपयोग की उदाहरण आपके मॉडेल के लिए निर्यात पूरा होने के बाद दिखाए गए हैं।
प्रारूप | format आर्गुमेंट |
मॉडेल | मेटाडेटा | आर्गुमेंट्स |
---|---|---|---|---|
PyTorch | - | yolov8n-cls.pt |
✅ | - |
TorchScript | torchscript |
yolov8n-cls.torchscript |
✅ | imgsz , optimize |
ONNX | onnx |
yolov8n-cls.onnx |
✅ | imgsz , half , dynamic , simplify , opset |
OpenVINO | openvino |
yolov8n-cls_openvino_model/ |
✅ | imgsz , half |
TensorRT | engine |
yolov8n-cls.engine |
✅ | imgsz , half , dynamic , simplify , workspace |
CoreML | coreml |
yolov8n-cls.mlpackage |
✅ | imgsz , half , int8 , nms |
TF SavedModel | saved_model |
yolov8n-cls_saved_model/ |
✅ | imgsz , keras |
TF GraphDef | pb |
yolov8n-cls.pb |
❌ | imgsz |
TF Lite | tflite |
yolov8n-cls.tflite |
✅ | imgsz , half , int8 |
TF Edge TPU | edgetpu |
yolov8n-cls_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolov8n-cls_web_model/ |
✅ | imgsz |
PaddlePaddle | paddle |
yolov8n-cls_paddle_model/ |
✅ | imgsz |
ncnn | ncnn |
yolov8n-cls_ncnn_model/ |
✅ | imgsz , half |
Export पेज में export
के पूरी विवरण देखें।