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

Python рдЙрдкрдпреЛрдЧ

рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ YOLOv8 Python рдЙрдкрдпреЛрдЧ рдкреНрд░рд▓реЗрдЦрди! рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдЖрдкрдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рд╣реИ YOLOv8 рдЕрдкрдиреЗ рдореЗрдВ Python рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди, рд╕реЗрдЧрдореЗрдВрдЯреЗрд╢рди рдФрд░ рд╡рд░реНрдЧреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ред рдпрд╣рд╛рдВ, рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рдкреВрд░реНрд╡-рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рдХреИрд╕реЗ рд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдирдП рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реЗрдВ рдФрд░ рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпрд╛рдВ рдХрд░реЗрдВред рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди Python рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдореВрд▓реНрдпрд╡рд╛рди рд╕рдВрд╕рд╛рдзрди рд╣реИ YOLOv8 рдореЗрдВ рдЙрдирдХреЗ Python рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ, рдЖрдкрдХреЛ рдЙрдиреНрдирдд рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред рдЖрдПрдБ рд╢реБрд░реВ рдХрд░реЗрдВ!



рд╕рддрд░реНрдХрддрд╛: рдорд╛рд╣рд┐рд░ Ultralytics YOLOv8: Python

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдореЙрдбрд▓ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рддреНрдпрд╛рдкрди рд╕реЗрдЯ рдкрд░ рдЗрд╕рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ рдХрд┐ рдЗрд╕реЗ рдирд┐рд░реНрдпрд╛рдд рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ONNX рдХреЛрдб рдХреА рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░реЗрдВред

Python

from ultralytics import YOLO

# Create a new YOLO model from scratch
model = YOLO("yolov8n.yaml")

# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolov8n.pt")

# Train the model using the 'coco8.yaml' dataset for 3 epochs
results = model.train(data="coco8.yaml", epochs=3)

# Evaluate the model's performance on the validation set
results = model.val()

# Perform object detection on an image using the model
results = model("https://ultralytics.com/images/bus.jpg")

# Export the model to ONNX format
success = model.export(format="onnx")

рд░реЗрд▓рдЧрд╛рдбрд╝реА

рдЯреНрд░реЗрди рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ a YOLOv8 рдХрд╕реНрдЯрдо рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдореЙрдбрд▓ред рдЗрд╕ рдореЛрдб рдореЗрдВ, рдореЙрдбрд▓ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбреЗрдЯрд╛рд╕реЗрдЯ рдФрд░ рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдореЙрдбрд▓ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рд╢рд╛рдорд┐рд▓ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдПрдХ рдЫрд╡рд┐ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╡рд░реНрдЧреЛрдВ рдФрд░ рд╕реНрдерд╛рдиреЛрдВ рдХреА рд╕рдЯреАрдХ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░ рд╕рдХреЗред

рд░реЗрд▓рдЧрд╛рдбрд╝реА

from ultralytics import YOLO

model = YOLO("yolov8n.pt")  # pass any model type
results = model.train(epochs=5)
from ultralytics import YOLO

model = YOLO("yolov8n.yaml")
results = model.train(data="coco8.yaml", epochs=5)
model = YOLO("last.pt")
results = model.train(resume=True)

рдЯреНрд░реЗрди рдЙрджрд╛рд╣рд░рдг

рд╡реИрд▓

рд╡реИрд▓ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ YOLOv8 рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдореЙрдбрд▓ред рдЗрд╕ рдореЛрдб рдореЗрдВ, рдореЙрдбрд▓ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдЗрд╕рдХреА рд╕рдЯреАрдХрддрд╛ рдФрд░ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рддреНрдпрд╛рдкрди рд╕реЗрдЯ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЙрдбрд▓ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЯреНрдпреВрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡реИрд▓

from ultralytics import YOLO

# Load a YOLOv8 model
model = YOLO("yolov8n.yaml")

# Train the model
model.train(data="coco8.yaml", epochs=5)

# Validate on training data
model.val()
from ultralytics import YOLO

# Load a YOLOv8 model
model = YOLO("yolov8n.yaml")

# Train the model
model.train(data="coco8.yaml", epochs=5)

# Validate on separate data
model.val(data="path/to/separate/data.yaml")

рд╡реИрд▓ рдЙрджрд╛рд╣рд░рдг

рднрд╡рд┐рд╖реНтАНрдпрд╡рд╛рдгреА рдХрд░рдирд╛

рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпрд╛рдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ YOLOv8 рдирдИ рдЫрд╡рд┐рдпреЛрдВ рдпрд╛ рд╡реАрдбрд┐рдпреЛ рдкрд░ рдореЙрдбрд▓ред рдЗрд╕ рдореЛрдб рдореЗрдВ, рдореЙрдбрд▓ рдХреЛ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░ рдпрд╛ рд╡реАрдбрд┐рдпреЛ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореЙрдбрд▓ рдЗрдирдкреБрдЯ рдЫрд╡рд┐рдпреЛрдВ рдпрд╛ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╡рд░реНрдЧреЛрдВ рдФрд░ рд╕реНрдерд╛рдиреЛрдВ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддрд╛ рд╣реИред

рднрд╡рд┐рд╖реНтАНрдпрд╡рд╛рдгреА рдХрд░рдирд╛

import cv2
from PIL import Image

from ultralytics import YOLO

model = YOLO("model.pt")
# accepts all formats - image/dir/Path/URL/video/PIL/ndarray. 0 for webcam
results = model.predict(source="0")
results = model.predict(source="folder", show=True)  # Display preds. Accepts all YOLO predict arguments

# from PIL
im1 = Image.open("bus.jpg")
results = model.predict(source=im1, save=True)  # save plotted images

# from ndarray
im2 = cv2.imread("bus.jpg")
results = model.predict(source=im2, save=True, save_txt=True)  # save predictions as labels

# from list of PIL/ndarray
results = model.predict(source=[im1, im2])
# results would be a list of Results object including all the predictions by default
# but be careful as it could occupy a lot memory when there're many images,
# especially the task is segmentation.
# 1. return as a list
results = model.predict(source="folder")

# results would be a generator which is more friendly to memory by setting stream=True
# 2. return as a generator
results = model.predict(source=0, stream=True)

for result in results:
    # Detection
    result.boxes.xyxy  # box with xyxy format, (N, 4)
    result.boxes.xywh  # box with xywh format, (N, 4)
    result.boxes.xyxyn  # box with xyxy format but normalized, (N, 4)
    result.boxes.xywhn  # box with xywh format but normalized, (N, 4)
    result.boxes.conf  # confidence score, (N, 1)
    result.boxes.cls  # cls, (N, 1)

    # Segmentation
    result.masks.data  # masks, (N, H, W)
    result.masks.xy  # x,y segments (pixels), List[segment] * N
    result.masks.xyn  # x,y segments (normalized), List[segment] * N

    # Classification
    result.probs  # cls prob, (num_class, )

# Each result is composed of torch.Tensor by default,
# in which you can easily use following functionality:
result = result.cuda()
result = result.cpu()
result = result.to("cpu")
result = result.numpy()

рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░реЗрдВ

рдирд┐рд░реНрдпрд╛рддрд┐рдд рдорд╛рд▓

рдирд┐рд░реНрдпрд╛рдд рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ YOLOv8 рдПрдХ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдЬрд┐рд╕реЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдореЛрдб рдореЗрдВ, рдореЙрдбрд▓ рдХреЛ рдПрдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЙрдкрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореЙрдбрд▓ рдХреЛ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдореЛрдб рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИред

рдирд┐рд░реНрдпрд╛рддрд┐рдд рдорд╛рд▓

рдПрдХ рдЕрдзрд┐рдХрд╛рд░реА рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ YOLOv8n рдореЙрдбрд▓ рдХреЛ ONNX рдЧрддрд┐рд╢реАрд▓ рдмреИрдЪ-рдЖрдХрд╛рд░ рдФрд░ рдЫрд╡рд┐-рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рдеред

from ultralytics import YOLO

model = YOLO("yolov8n.pt")
model.export(format="onnx", dynamic=True)

рдПрдХ рдЕрдзрд┐рдХрд╛рд░реА рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ YOLOv8n рдореЙрдбрд▓ рдХреЛ TensorRT рдкрд░ device=0 рддреНрд╡рд░рдг рдХреЗ рд▓рд┐рдП CUDA рдЙрдкрдХрд░рдгреЛрдВред

from ultralytics import YOLO

model = YOLO("yolov8n.pt")
model.export(format="onnx", device=0)

рдирд┐рд░реНрдпрд╛рдд рдЙрджрд╛рд╣рд░рдг

рдЯреНрд░реИрдХ

рдЯреНрд░реИрдХ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ YOLOv8 рдХреЛ рдЧрдврд╝рдирд╛ред рдЗрд╕ рдореЛрдб рдореЗрдВ, рдореЙрдбрд▓ рдХреЛ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд╛рдЗрд╡ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдореЛрдб рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓реА рдпрд╛ рд╕реНрд╡-рдбреНрд░рд╛рдЗрд╡рд┐рдВрдЧ рдХрд╛рд░реЛрдВ рдЬреИрд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред

рдЯреНрд░реИрдХ

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load an official detection model
model = YOLO("yolov8n-seg.pt")  # load an official segmentation model
model = YOLO("path/to/best.pt")  # load a custom model

# Track with the model
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True)
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True, tracker="bytetrack.yaml")

рдЯреНрд░реИрдХ рдЙрджрд╛рд╣рд░рдг

рдХрд╕реМрдЯреА

рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреА рдЧрддрд┐ рдФрд░ рд╕рдЯреАрдХрддрд╛ рдХреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ YOLOv8. рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдкреНрд░рд╛рд░реВрдк рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ mAP50-95 рдореЗрдЯреНрд░рд┐рдХреНрд╕ (рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдФрд░ рд╕реЗрдЧрдореЗрдВрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП) рдпрд╛ accuracy_top5 рдореАрдЯреНрд░рд┐рдХ (рд╡рд░реНрдЧреАрдХрд░рдг рдХреЗ рд▓рд┐рдП), рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рдкреНрд░рддрд┐ рдЫрд╡рд┐ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдЕрдиреБрдорд╛рди рд╕рдордп рдЬреИрд╕реЗ ONNX, OpenVINO, TensorRT рдФрд░ рдЕрдиреНрдпред рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЧрддрд┐ рдФрд░ рд╕рдЯреАрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдирдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдк рдЪреБрдирдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИред

рдХрд╕реМрдЯреА

рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдПрдХ рдЕрдзрд┐рдХрд╛рд░реА YOLOv8n рд╕рднреА рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рдореЙрдбрд▓ред

from ultralytics.utils.benchmarks import benchmark

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

рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЙрджрд╛рд╣рд░рдг

рдЦреЛрдЬрдпрд╛рддреНрд░реА

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

рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рдореЗрдВрдЯрд┐рдХ рдЦреЛрдЬ

from ultralytics import Explorer

# create an Explorer object
exp = Explorer(data="coco8.yaml", model="yolov8n.pt")
exp.create_embeddings_table()

similar = exp.get_similar(img="https://ultralytics.com/images/bus.jpg", limit=10)
print(similar.head())

# Search using multiple indices
similar = exp.get_similar(
    img=["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/bus.jpg"], limit=10
)
print(similar.head())
from ultralytics import Explorer

# create an Explorer object
exp = Explorer(data="coco8.yaml", model="yolov8n.pt")
exp.create_embeddings_table()

similar = exp.get_similar(idx=1, limit=10)
print(similar.head())

# Search using multiple indices
similar = exp.get_similar(idx=[1, 10], limit=10)
print(similar.head())

рдЦреЛрдЬрдпрд╛рддреНрд░реА

рдкреНрд░рд╢рд┐рдХреНрд╖рдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

YOLO рдореЙрдбрд▓ рдХреНрд▓рд╛рд╕ рдЯреНрд░реЗрдирд░ рдХрдХреНрд╖рд╛рдУрдВ рдкрд░ рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЖрд╡рд░рдг рд╣реИред рд╣рд░ YOLO рдЯрд╛рд╕реНрдХ рдХрд╛ рдЕрдкрдирд╛ рдЯреНрд░реЗрдирд░ рд╣реИ рдЬреЛ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рддрд╛ рд╣реИ BaseTrainer.

рдбрд┐рдЯреЗрдХреНрд╢рди рдЯреНрд░реЗрдирд░ рдЙрджрд╛рд╣рд░рдг

```python
from ultralytics.models.yolo import DetectionPredictor, DetectionTrainer, DetectionValidator

# trainer
trainer = DetectionTrainer(overrides={})
trainer.train()
trained_model = trainer.best

# Validator
val = DetectionValidator(args=...)
val(model=trained_model)

# predictor
pred = DetectionPredictor(overrides={})
pred(source=SOURCE, model=trained_model)

# resume from last weight
overrides["resume"] = trainer.last
trainer = detect.DetectionTrainer(overrides=overrides)
```

рдЖрдк рдХрд╕реНрдЯрдо рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдпрд╛ рдЖрд░ рдПрдВрдб рдбреА рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рдХреЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ Trainers, Validators рдФрд░ Predictors рдЕрдиреБрдХреВрд▓рди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЕрдиреБрдХреВрд▓рди рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди

рдореИрдВ рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ YOLOv8 рдореЗрд░реЗ рдореЗрдВ Python рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ?

рдПрдХреАрдХрд░рдг Ultralytics YOLOv8 рдЕрдкрдиреЗ рдореЗрдВ Python рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╕рд░рд▓ рд╣реИрдВред рдЖрдк рдПрдХ рдкреВрд░реНрд╡-рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЦрд░реЛрдВрдЪ рд╕реЗ рдПрдХ рдирдпрд╛ рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

from ultralytics import YOLO

# Load a pretrained YOLO model
model = YOLO("yolov8n.pt")

# Perform object detection on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Visualize the results
for result in results:
    result.show()

рд╣рдорд╛рд░реЗ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдореЛрдб рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред

рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╡рд┐рднрд┐рдиреНрди рдореЛрдб рдХреНрдпрд╛ рд╣реИрдВ YOLOv8?

Ultralytics YOLOv8 рд╡рд┐рднрд┐рдиреНрди рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдореЛрдб рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗ рд╢рд╛рдорд┐рд▓ рд╣реИ:

  • рдЯреНрд░реЗрди: рдХрд╕реНрдЯрдо рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реЗрдВред
  • рд╡реИрд▓: рд╕рддреНрдпрд╛рдкрди рд╕реЗрдЯ рдкрд░ рдореЙрдбрд▓ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдиреНрдп рдХрд░реЗрдВред
  • рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛: рдирдИ рдЗрдореЗрдЬ рдпрд╛ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдкрд░ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рд▓рдЧрд╛рдПрдВ.
  • рдирд┐рд░реНрдпрд╛рдд: рдЬреИрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдореЙрдбрд▓ ONNX, TensorRT.
  • рдЯреНрд░реИрдХ: рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдЯреНрд░реИрдХрд┐рдВрдЧред
  • рдмреЗрдВрдЪрдорд╛рд░реНрдХ: рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдиреНрдпрд╛рд╕реЛрдВ рдореЗрдВ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЙрдбрд▓ рдкреНрд░рджрд░реНрд╢рдиред

рдкреНрд░рддреНрдпреЗрдХ рдореЛрдб рдХреЛ рдореЙрдбрд▓ рд╡рд┐рдХрд╛рд╕ рдФрд░ рддреИрдирд╛рддреА рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдкрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореИрдВ рдПрдХ рдХрд╕реНрдЯрдо рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реВрдВ YOLOv8 рдореЗрд░реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдбрд▓?

рдПрдХ рдХрд╕реНрдЯрдо рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП YOLOv8 рдореЙрдбрд▓, рдЖрдкрдХреЛ рдЕрдкрдирд╛ рдбреЗрдЯрд╛рд╕реЗрдЯ рдФрд░ рдЕрдиреНрдп рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рддреНрд╡рд░рд┐рдд рдЙрджрд╛рд╣рд░рдг рд╣реИ:

from ultralytics import YOLO

# Load the YOLO model
model = YOLO("yolov8n.yaml")

# Train the model with custom dataset
model.train(data="path/to/your/dataset.yaml", epochs=10)

рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рд╣рд╛рдЗрдкрд░рд▓рд┐рдВрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдЯреНрд░реЗрди рдореЛрдб рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВред

рдореИрдВ рдирд┐рд░реНрдпрд╛рдд рдХреИрд╕реЗ рдХрд░реВрдВ YOLOv8 рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓?

рдирд┐рд░реНрдпрд╛рдд YOLOv8 рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рд╕реАрдзрд╛ рд╣реИ export рдлрд▓рдиред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдореЙрдбрд▓ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ONNX рдкреНрд░рд╛рд░реВрдк:

from ultralytics import YOLO

# Load the YOLO model
model = YOLO("yolov8n.pt")

# Export the model to ONNX format
model.export(format="onnx")

рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрдпрд╛рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП, рдирд┐рд░реНрдпрд╛рдд рдореЛрдб рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рджреЗрдЦреЗрдВред

рдХреНрдпрд╛ рдореИрдВ рдЕрдкрдиреЗ рдХреЛ рдорд╛рдиреНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ YOLOv8 рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдореЙрдбрд▓?

рд╣рд╛рдВ, рдорд╛рдиреНрдп рдХрд░рдирд╛ YOLOv8 рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдореЙрдбрд▓ рд╕рдВрднрд╡ рд╣реИред рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рдмрд╛рдж, рдЖрдк рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рддреНрдпрд╛рдкрди рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

from ultralytics import YOLO

# Load a YOLOv8 model
model = YOLO("yolov8n.yaml")

# Train the model
model.train(data="coco8.yaml", epochs=5)

# Validate the model on a different dataset
model.val(data="path/to/separate/data.yaml")

рд╡рд┐рд╕реНрддреГрдд рдЙрджрд╛рд╣рд░рдг рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╡реИрд▓ рдореЛрдб рдкреГрд╖реНрда рджреЗрдЦреЗрдВред



рдмрдирд╛рдпрд╛ рдЧрдпрд╛ 2023-11-12, рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 2024-07-04
рд▓реЗрдЦрдХ: рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (13), рдЗрд╡реЛрд░рдЭреВ331 (1), рдЖрдпреБрд╖рдПрдХреНрд╕рд▓ (1), рд░рд┐рдЬрд╡рд╛рди рдореБрдирд╡реНрд╡рд░ (1), рд▓рд╛рдлрд┐рдВрдЧ-рдХреНрдпреВ (1)

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