ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ содСрТимому

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ классификации ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ - самая простая ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π·Π°Π΄Π°Ρ‡, которая Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² отнСсСнии всСго изобраТСния ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· мноТСства Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… классов.

Π’Ρ‹Ρ…ΠΎΠ΄ классификатора ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ - это ΠΌΠ΅Ρ‚ΠΊΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса ΠΈ Π±Π°Π»Π» довСрия. ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π΅Π·Π½Π°, ΠΊΠΎΠ³Π΄Π° Ρ‚Π΅Π±Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΈ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Π³Π΄Π΅ располоТСны ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ этого класса ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠ²Π° ΠΈΡ… точная Ρ„ΠΎΡ€ΠΌΠ°.



Π‘ΠΌΠΎΡ‚Ρ€ΠΈ: Π˜Π·ΡƒΡ‡ΠΈ Ultralytics YOLO Π—Π°Π΄Π°Ρ‡ΠΈ: ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ultralytics HUB

НаконСчник

YOLOv8 ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ -cls суффикс, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ yolov8n-cls.pt ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½Ρ‹ Π½Π° ImageNet.

МодСли

YOLOv8 Π—Π΄Π΅ΡΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Classify. МодСли Detect, Segment ΠΈ Pose Π±Ρ‹Π»ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½Ρ‹ Π½Π° Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… COCO, Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Classify - Π½Π° Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ImageNet.

МодСли автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ с послСднСгорСлиза Ultralytics ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ использовании.

МодСль Π Π°Π·ΠΌΠ΅Ρ€
(пиксСлСй)
acc
top1
Акк
Ρ‚ΠΎΠΏ5
Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ
CPU ONNX
(мс)
Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ
A100 TensorRT
(мс)
params
(M)
FLOPs
(B) ΠΏΡ€ΠΈ 640
YOLOv8n-cls 224 69.0 88.3 12.9 0.31 2.7 4.3
YOLOv8s-cls 224 73.8 91.7 23.4 0.35 6.4 13.5
YOLOv8m-cls 224 76.8 93.5 85.4 0.62 17.0 42.7
YOLOv8l-cls 224 76.8 93.5 163.0 0.87 37.5 99.7
YOLOv8x-cls 224 79.0 94.6 232.0 1.01 57.4 154.8
  • acc ЗначСния - это Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ImageNet Набор для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
    РазмноТайся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ yolo val classify data=path/to/ImageNet device=0
  • Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ УсрСднСниС ΠΏΠΎ изобраТСниям ImageNet val с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Amazon EC2 P4d Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€.
    РазмноТайся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ yolo val classify data=path/to/ImageNet batch=1 device=0|cpu

ПоСзд

ΠžΠ±ΡƒΡ‡ΠΈ YOLOv8n-cls Π½Π° Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… MNIST160 Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 100 эпох ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ изобраТСния 64. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список доступных Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² смотри Π½Π° страницС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n-cls.yaml')  # build a new model from YAML
model = YOLO('yolov8n-cls.pt')  # load a pretrained model (recommended for training)
model = YOLO('yolov8n-cls.yaml').load('yolov8n-cls.pt')  # build from YAML and transfer weights

# Train the model
results = model.train(data='mnist160', epochs=100, imgsz=64)
# Build a new model from YAML and start training from scratch
yolo classify train data=mnist160 model=yolov8n-cls.yaml epochs=100 imgsz=64

# Start training from a pretrained *.pt model
yolo classify train data=mnist160 model=yolov8n-cls.pt epochs=100 imgsz=64

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo classify train data=mnist160 model=yolov8n-cls.yaml pretrained=yolov8n-cls.pt epochs=100 imgsz=64

Π€ΠΎΡ€ΠΌΠ°Ρ‚ датасСта

YOLO Π€ΠΎΡ€ΠΌΠ°Ρ‚ классификационного Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π² руководствС ΠΏΠΎ Π½Π°Π±ΠΎΡ€Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….

Вэл

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ YOLOv8n-cls Π½Π° Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… MNIST160. НС Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² качСствС model сохраняСт свою ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ data ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² качСствС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n-cls.pt')  # load an official model
model = YOLO('path/to/best.pt')  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.top1   # top1 accuracy
metrics.top5   # top5 accuracy
yolo classify val model=yolov8n-cls.pt  # val official model
yolo classify val model=path/to/best.pt  # val custom model

ΠŸΡ€Π΅Π΄ΡΠΊΠ°Π·Ρ‹Π²Π°ΠΉ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ ΠΎΠ±ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ модСль YOLOv8n-cls для выполнСния прСдсказаний Π½Π° изобраТСниях.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n-cls.pt')  # load an official model
model = YOLO('path/to/best.pt')  # load a custom model

# Predict with the model
results = model('https://ultralytics.com/images/bus.jpg')  # predict on an image
yolo classify predict model=yolov8n-cls.pt source='https://ultralytics.com/images/bus.jpg'  # predict with official model
yolo classify predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'  # predict with custom model

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ predict ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π² ΠŸΡ€Π΅Π΄ΡΠΊΠ°Π·Ρ‹Π²Π°ΠΉ Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π°.

Экспорт

Экспортируй модСль YOLOv8n-cls Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ONNX, CoreML, ΠΈ Ρ‚.Π΄.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n-cls.pt')  # load an official model
model = YOLO('path/to/best.pt')  # load a custom trained model

# Export the model
model.export(format='onnx')
yolo export model=yolov8n-cls.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx  # export custom trained model

ДоступныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ экспорта YOLOv8-cls ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅. Π’Ρ‹ моТСшь ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² любой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ format Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ format='onnx' ΠΈΠ»ΠΈ format='engine'. Π’Ρ‹ моТСшь ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ нСпосрСдствСнно Π½Π° экспортированных модСлях, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ yolo predict model=yolov8n-cls.onnx. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ для Ρ‚Π²ΠΎΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ экспорта.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ format АргумСнт МодСль ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ АргумСнты
PyTorch - yolov8n-cls.pt βœ… -
TorchScript torchscript yolov8n-cls.torchscript βœ… imgsz, optimize, batch
ONNX onnx yolov8n-cls.onnx βœ… imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolov8n-cls_openvino_model/ βœ… imgsz, half, int8, batch
TensorRT engine yolov8n-cls.engine βœ… imgsz, half, dynamic, simplify, workspace, batch
CoreML coreml yolov8n-cls.mlpackage βœ… imgsz, half, int8, nms, batch
TF SavedModel saved_model yolov8n-cls_saved_model/ βœ… imgsz, keras, int8, batch
TF GraphDef pb yolov8n-cls.pb ❌ imgsz, batch
TF Lite tflite yolov8n-cls.tflite βœ… imgsz, half, int8, batch
TF ΠšΡ€Π°ΠΉ TPU edgetpu yolov8n-cls_edgetpu.tflite βœ… imgsz, batch
TF.js tfjs yolov8n-cls_web_model/ βœ… imgsz, half, int8, batch
PaddlePaddle paddle yolov8n-cls_paddle_model/ βœ… imgsz, batch
NCNN ncnn yolov8n-cls_ncnn_model/ βœ… imgsz, half, batch

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ export подробности Π² Экспорт Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π°.



Боздано 2023-11-12, ОбновлСно 2024-04-27
Авторы: glenn-jocher (12), Burhan-Q (1), RizwanMunawar (2), fcakyon (1), Laughing-q (1), AyushExel (1)

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ