─░├žeri─če ge├ž

Python Kullan─▒m

YOLOv8 Python Kullan─▒m belgelerine ho┼č geldiniz! Bu k─▒lavuz, nesne alg─▒lama, segmentasyon ve s─▒n─▒fland─▒rma i├žin YOLOv8 adresini Python projelerinize sorunsuz bir ┼čekilde entegre etmenize yard─▒mc─▒ olmak i├žin tasarlanm─▒┼čt─▒r. Burada, ├Ânceden e─čitilmi┼č modelleri nas─▒l y├╝kleyece─činizi ve kullanaca─č─▒n─▒z─▒, yeni modelleri nas─▒l e─čitece─činizi ve g├Âr├╝nt├╝ler ├╝zerinde tahminleri nas─▒l ger├žekle┼čtirece─činizi ├Â─čreneceksiniz. Kullan─▒m─▒ kolay Python aray├╝z├╝, YOLOv8 adresini Python projelerine dahil etmek isteyen herkes i├žin de─čerli bir kaynakt─▒r ve geli┼čmi┼č nesne alg─▒lama ├Âzelliklerini h─▒zl─▒ bir ┼čekilde uygulaman─▒za olanak tan─▒r. Haydi ba┼člayal─▒m!



─░zle: Mastering Ultralytics YOLOv8 : Python

├ľrne─čin, kullan─▒c─▒lar bir modeli y├╝kleyebilir, e─čitebilir, bir do─črulama k├╝mesi ├╝zerindeki performans─▒n─▒ de─čerlendirebilir ve hatta sadece birka├ž sat─▒r kodla ONNX format─▒na aktarabilir.

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")

Tren

Train modu, ├Âzel bir veri k├╝mesi ├╝zerinde bir YOLOv8 modelini e─čitmek i├žin kullan─▒l─▒r. Bu modda model, belirtilen veri k├╝mesi ve hiperparametreler kullan─▒larak e─čitilir. E─čitim s├╝reci, bir g├Âr├╝nt├╝deki nesnelerin s─▒n─▒flar─▒n─▒ ve konumlar─▒n─▒ do─čru bir ┼čekilde tahmin edebilmesi i├žin modelin parametrelerinin optimize edilmesini i├žerir.

Tren

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)

Tren ├ľrnekleri

Val

Val modu, e─čitildikten sonra bir YOLOv8 modelini do─črulamak i├žin kullan─▒l─▒r. Bu modda model, do─črulu─čunu ve genelleme performans─▒n─▒ ├Âl├žmek i├žin bir do─črulama k├╝mesi ├╝zerinde de─čerlendirilir. Bu mod, performans─▒n─▒ art─▒rmak i├žin modelin hiperparametrelerini ayarlamak i├žin kullan─▒labilir.

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 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")

Val ├ľrnekleri

Tahmin Et

Tahmin modu, yeni g├Âr├╝nt├╝ler veya videolar ├╝zerinde e─čitilmi┼č bir YOLOv8 modeli kullanarak tahminler yapmak i├žin kullan─▒l─▒r. Bu modda, model bir kontrol noktas─▒ dosyas─▒ndan y├╝klenir ve kullan─▒c─▒ ├ž─▒kar─▒m yapmak i├žin g├Âr├╝nt├╝ veya video sa─člayabilir. Model, giri┼č g├Âr├╝nt├╝leri veya videolar─▒ndaki nesnelerin s─▒n─▒flar─▒n─▒ ve konumlar─▒n─▒ tahmin eder.

Tahmin Et

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()

├ľrnekleri Tahmin Et

─░hracat

D─▒┼ča aktarma modu, bir YOLOv8 modelini da─č─▒t─▒m i├žin kullan─▒labilecek bir formata aktarmak i├žin kullan─▒l─▒r. Bu modda model, di─čer yaz─▒l─▒m uygulamalar─▒ veya donan─▒m cihazlar─▒ taraf─▒ndan kullan─▒labilecek bir bi├žime d├Ân├╝┼čt├╝r├╝l├╝r. Bu mod, modeli ├╝retim ortamlar─▒na da─č─▒t─▒rken kullan─▒┼čl─▒d─▒r.

─░hracat

Resmi bir YOLOv8n modelini dinamik parti boyutu ve g├Âr├╝nt├╝ boyutu ile ONNX adresine aktar─▒n.

from ultralytics import YOLO

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

Resmi bir YOLOv8n modelini TensorRT adresine aktar─▒n device=0 CUDA cihazlar─▒nda h─▒zland─▒rma i├žin.

from ultralytics import YOLO

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

─░hracat ├ľrnekleri

Par├ža

─░zleme modu, bir YOLOv8 modeli kullanarak nesneleri ger├žek zamanl─▒ olarak izlemek i├žin kullan─▒l─▒r. Bu modda, model bir kontrol noktas─▒ dosyas─▒ndan y├╝klenir ve kullan─▒c─▒ ger├žek zamanl─▒ nesne takibi ger├žekle┼čtirmek i├žin canl─▒ bir video ak─▒┼č─▒ sa─člayabilir. Bu mod, g├Âzetleme sistemleri veya s├╝r├╝c├╝s├╝z arabalar gibi uygulamalar i├žin kullan─▒┼čl─▒d─▒r.

Par├ža

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")

Par├ža ├ľrnekleri

Benchmark

Benchmark modu YOLOv8 i├žin ├že┼čitli d─▒┼ča aktarma formatlar─▒n─▒n h─▒z ve do─čruluk profilini ├ž─▒karmak i├žin kullan─▒l─▒r. K─▒yaslamalar, d─▒┼ča aktar─▒lan format─▒n boyutu, h─▒z─▒ ve do─črulu─ču hakk─▒nda bilgi sa─člar. mAP50-95 metrikleri (nesne alg─▒lama ve segmentasyon i├žin) veya accuracy_top5 metrikleri (s─▒n─▒fland─▒rma i├žin) ve ONNX, OpenVINO, TensorRT ve di─čerleri gibi ├že┼čitli d─▒┼ča aktarma bi├žimlerinde g├Âr├╝nt├╝ ba┼č─▒na milisaniye cinsinden ├ž─▒kar─▒m s├╝resi. Bu bilgiler, kullan─▒c─▒lar─▒n h─▒z ve do─čruluk gereksinimlerine g├Âre kendi ├Âzel kullan─▒m durumlar─▒ i├žin en uygun d─▒┼ča aktarma bi├žimini se├žmelerine yard─▒mc─▒ olabilir.

Benchmark

Resmi bir YOLOv8n modelini t├╝m d─▒┼ča aktarma bi├žimlerinde kar┼č─▒la┼čt─▒r─▒n.

from ultralytics.utils.benchmarks import benchmark

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

Benchmark ├ľrnekleri

Ka┼čif

Explorer API, di─čer ├Âzelliklerin yan─▒ s─▒ra geli┼čmi┼č semantik, vekt├Âr benzerli─či ve SQL aramas─▒ ile veri k├╝melerini ke┼čfetmek i├žin kullan─▒labilir. Ayr─▒ca, LLM'lerin g├╝c├╝nden yararlanarak do─čal dil kullanarak i├žeriklerine g├Âre g├Âr├╝nt├╝lerin aranmas─▒n─▒ da sa─člar. Explorer API, veri k├╝melerinizle ilgili i├žg├Âr├╝ler elde etmek i├žin kendi veri k├╝mesi ke┼čif not defterlerinizi veya komut dosyalar─▒n─▒z─▒ yazman─▒za olanak tan─▒r.

Explorer Kullanarak Anlamsal Arama

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())

Ka┼čif

E─čitmenleri Kullanma

YOLO model s─▒n─▒f─▒, Trainer s─▒n─▒flar─▒ ├╝zerinde ├╝st d├╝zey bir sarmalay─▒c─▒d─▒r. Her YOLO g├Ârevinin, ┼ču s─▒n─▒ftan miras alan kendi e─čitmeni vard─▒r BaseTrainer.

Alg─▒lama E─čitmeni ├ľrne─či

```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)
```

├ľzel g├Ârevleri desteklemek veya Ar-Ge fikirlerini ke┼čfetmek i├žin E─čitmenleri kolayca ├Âzelle┼čtirebilirsiniz. ├ľzelle┼čtirme hakk─▒nda daha fazla bilgi edinin Trainers, Validators ve Predictors ├ľzelle┼čtirme B├Âl├╝m├╝nde proje ihtiya├žlar─▒n─▒za uyacak ┼čekilde ayarlay─▒n.

├ľzelle┼čtirme e─čitimleri



Created 2023-11-12, Updated 2024-06-09
Authors: IvorZhu331 (1), glenn-jocher (12), AyushExel (1), RizwanMunawar (1), Laughing-q (1)

Yorumlar