Retour au Blog
Computer Vision 12 mars 2025 8 min de lecture

YOLOv8 entraînement personnalisé : du dataset à l'API de production

Guide de bout en bout pour entraîner YOLOv8 sur un dataset personnalisé — annotation, entraînement, évaluation et déploiement FastAPI.

Préparation du jeu de données

  1. Annotez avec Roboflow ou LabelImg
  2. Exportez au format YOLOv8
  3. Découpage : 80/10/10 entraînement/validation/test

Entraînement

from ultralytics import YOLO

model = YOLO('yolov8n.pt')  # nano for fast prototyping
results = model.train(
    data='dataset.yaml',
    epochs=100,
    imgsz=640,
    batch=16,
    augment=True,
)

Export ONNX pour la production

model.export(format='onnx', dynamic=True, simplify=True)

Endpoint FastAPI

@app.post('/detect')
async def detect(file: UploadFile):
    img = Image.open(file.file)
    results = model(img)
    return {'detections': results[0].boxes.json()}
YOLOv8Object DetectionFastAPIONNXProduction
O

Ossama Elhakki

Ingénieur IA & Systèmes ML — Maroc