العودة إلى المدونة
Computer Vision 12 مارس 2025 8 min للقراءة

تدريب YOLOv8 المخصص: من مجموعة البيانات إلى API الإنتاج

دليل شامل لتدريب YOLOv8 على مجموعة بيانات مخصصة — من التوسيم حتى نشر FastAPI.

تجهيز مجموعة البيانات

  1. علّق البيانات باستخدام Roboflow أو LabelImg
  2. صدّر بصيغة YOLOv8
  3. التقسيم: 80/10/10 تدريب/تحقق/اختبار

التدريب

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

تصدير ONNX للإنتاج

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

نقطة نهاية 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

مهندس ذكاء اصطناعي وأنظمة ML — المغرب