рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдВ

рдореЙрдбрд▓ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде Ultralytics YOLO

Ultralytics YOLO рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдФрд░ рдПрдХреАрдХрд░рдг

рдкрд░рд┐рдЪрдп

рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдкрдХрд╛ рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдФрд░ рдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдЧрд▓рд╛ рддрд╛рд░реНрдХрд┐рдХ рдХрджрдо рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдЗрд╕рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рд╣реИред рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЛрдб рдореЗрдВ Ultralytics YOLOv8 рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЖрдкрдХреЗ рдореЙрдбрд▓ рдХреА рдЧрддрд┐ рдФрд░ рд╕рдЯреАрдХрддрд╛ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдордЬрдмреВрдд рдврд╛рдВрдЪрд╛ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред



рд╕рддрд░реНрдХрддрд╛: Ultralytics рдореЛрдб рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓: рдмреЗрдВрдЪрдорд╛рд░реНрдХ

рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ?

  • рд╕реВрдЪрд┐рдд рдирд┐рд░реНрдгрдп: рдЧрддрд┐ рдФрд░ рд╕рдЯреАрдХрддрд╛ рдХреЗ рдмреАрдЪ рд╡реНрдпрд╛рдкрд╛рд░-рдирд╛рдкрд╕рдВрдж рдореЗрдВ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
  • рд╕рдВрд╕рд╛рдзрди рдЖрд╡рдВрдЯрди: рд╕рдордЭреЗрдВ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдк рд╡рд┐рднрд┐рдиреНрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдХреИрд╕рд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реИрдВред
  • рдЕрдиреБрдХреВрд▓рди: рдЬрд╛рдиреЗрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдк рдЖрдкрдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
  • рд▓рд╛рдЧрдд рдХреНрд╖рдорддрд╛: рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЛрдб рдореЗрдВ рдкреНрд░рдореБрдЦ рдореАрдЯреНрд░рд┐рдХ

  • рдПрдордПрдкреА 50-95: рд╡рд╕реНрддреБ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ, рд╡рд┐рднрд╛рдЬрди рдФрд░ рдореБрджреНрд░рд╛ рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдПред
  • accuracy_top5: рдЫрд╡рд┐ рд╡рд░реНрдЧреАрдХрд░рдг рдХреЗ рд▓рд┐рдПред
  • рдЕрдиреБрдорд╛рди рд╕рдордп: рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╕рдордпред

рд╕рдорд░реНрдерд┐рдд рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдк

  • ONNX: рдЗрд╖реНрдЯрддрдо CPU рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП
  • TensorRT: рдЕрдзрд┐рдХрддрдо GPU рджрдХреНрд╖рддрд╛ рдХреЗ рд▓рд┐рдП
  • OpenVINO: рдЗрдВрдЯреЗрд▓ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП
  • CoreML, TensorFlow SavedModel, рдФрд░ рдЕрдзрд┐рдХ: рд╡рд┐рд╡рд┐рдз рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдПред

рдиреЛрдХ

  • рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ ONNX рдирд╣реАрдВ рддреЛ OpenVINO 3x CPU рд╕реНрдкреАрдбрдЕрдк рддрдХред
  • рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ TensorRT 5x GPU рд╕реНрдкреАрдбрдЕрдк рддрдХред

рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг

рдЪрд▓рд╛рдирд╛ YOLOv8n рд╕рд╣рд┐рдд рд╕рднреА рд╕рдорд░реНрдерд┐рдд рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдкреЛрдВ рдкрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХ ONNX, TensorRT рдЖрджрд┐ред рдирд┐рд░реНрдпрд╛рдд рддрд░реНрдХреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рддрд░реНрдХ рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВред

рдЙрджрд╛рд╣рд░рдг

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model='yolov8n.pt', data='coco8.yaml', imgsz=640, half=False, device=0)
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0

рддрд░реНрдХ

рддрд░реНрдХ рдЬреИрд╕реЗ model, data, imgsz, half, deviceрдФрд░ verbose рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдирдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЪреАрд▓рд╛рдкрди рдкреНрд░рджрд╛рди рдХрд░реЗрдВред

рдЕрддреНтАНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо
model None рдореЙрдбрд▓ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рджреЛрдиреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ .pt рдФрд░ .yaml рдкреНрд░рд╛рд░реВрдк, рдЬреИрд╕реЗ, "yolov8n.pt" рдкреВрд░реНрд╡-рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдПред
data None рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА YAML рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде, рдЖрдорддреМрд░ рдкрд░ рд╕рддреНрдпрд╛рдкрди рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдкрде рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рд╣рд┐рддред рдЙрджрд╛рд╣рд░рдг: "coco8.yaml".
imgsz 640 рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ред рд╡рд░реНрдЧ рдЫрд╡рд┐рдпреЛрдВ рдпрд╛ рдПрдХ рдЯрдкрд▓ рдХреЗ рд▓рд┐рдП рдПрдХрд▓ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (width, height) рдЧреИрд░-рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ, (640, 480).
half False FP16 (рдЕрд░реНрдз-рдкрд░рд┐рд╢реБрджреНрдзрддрд╛) рдЕрдиреБрдорд╛рди рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ, рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдЧрдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рд╕рдВрднрд╡рддрдГ рдЧрддрд┐ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдкреНрд░рдпреЛрдЧ half=True рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
int8 False рд╕рдорд░реНрдерд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЖрдЧреЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП INT8 рдкрд░рд┐рдорд╛рдгреАрдХрд░рдг рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрд┐рдирд╛рд░реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреАред рдЕрд╕реНрдд рд╣реЛ int8=True рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
device None рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ рдбрд┐рд╡рд╛рдЗрд╕ (рдЙрдкрдХрд░рдгреЛрдВ) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ "cpu", "cuda:0", рдпрд╛ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдЬреИрд╕реЗ "cuda:0,1" рдорд▓реНрдЯреА-рдЬреАрдкреАрдпреВ рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдПред
verbose False рд▓реЙрдЧрд┐рдВрдЧ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕реНрддрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдХ рдмреВрд▓рд┐рдпрди рдореВрд▓реНрдп; рдЕрд╕реНрдд рд╣реЛ verbose=True рд╡рд┐рд╕реНрддреГрдд рд▓реЙрдЧ рдпрд╛ рдереНрд░реЗрд╕рд╣реЛрд▓реНрдбрд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдлреНрд▓реЛрдЯ рдХреЗ рд▓рд┐рдПред

рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдк

рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдкреЛрдВ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЪрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред

рдкреНрд░рд╛рд░реВрдк format рдпреБрдХреНрддрд┐ рдХреЛ рдЧрдврд╝рдирд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рддрд░реНрдХ
PyTorch - yolov8n.pt тЬЕ -
TorchScript torchscript yolov8n.torchscript тЬЕ imgsz, optimize, batch
ONNX onnx yolov8n.onnx тЬЕ imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolov8n_openvino_model/ тЬЕ imgsz, half, int8, batch
TensorRT engine yolov8n.engine тЬЕ imgsz, half, dynamic, simplify, workspace, batch
CoreML coreml yolov8n.mlpackage тЬЕ imgsz, half, int8, nms, batch
TF SavedModel saved_model yolov8n_saved_model/ тЬЕ imgsz, keras, int8, batch
TF GraphDef pb yolov8n.pb тЭМ imgsz, batch
TF рд▓рд╛рдЗрдЯ tflite yolov8n.tflite тЬЕ imgsz, half, int8, batch
TF рдХрд┐рдирд╛рд░рд╛ TPU edgetpu yolov8n_edgetpu.tflite тЬЕ imgsz, batch
TFредрдЬреЗ рдПрд╕ tfjs yolov8n_web_model/ тЬЕ imgsz, half, int8, batch
PaddlePaddle paddle yolov8n_paddle_model/ тЬЕ imgsz, batch
NCNN ncnn yolov8n_ncnn_model/ тЬЕ imgsz, half, batch

рдкреВрд░рд╛ рджреЗрдЦреЗрдВ export рдореЗрдВ рд╡рд┐рд╡рд░рдг рдирд┐рд░реНрдпрд╛рддрд┐рдд рдорд╛рд▓ рдкреГрд╖реНрдаред


рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ