from ultralytics import YOLO | |
# Cargar el modelo YOLOv8 preentrenado | |
model = YOLO("yolov8n.pt") # Puedes probar con "yolov8s.pt" para mayor precisión | |
# Entrenar el modelo con hiperparámetros ajustados | |
model.train( | |
data="/home/izaskunmz/yolo/yolov8-object-detection/datasets/coco8/data.yaml", # Ruta correcta al dataset | |
epochs=150, # Aumentamos las épocas para mejorar precisión | |
batch=8, # Reducimos el batch para estabilidad en CPU | |
imgsz=640, # Tamaño de la imagen | |
device="cpu", # Entrenamiento en CPU | |
lr0=0.0005, # Learning rate inicial más bajo para mejorar estabilidad | |
lrf=0.0001, # Decaimiento más lento del learning rate | |
momentum=0.95, # Aumentamos momentum para estabilizar entrenamiento | |
weight_decay=0.0001, # Regularización más fuerte para evitar sobreajuste | |
optimizer="AdamW", # Mejor optimizador que SGD para convergencia en CPU | |
cos_lr=True, # Usamos learning rate decay con coseno para ajuste fino | |
close_mosaic=5, # Desactivamos aumentación mosaico después de 5 épocas | |
patience=0, # 🔹 Desactiva Early Stopping | |
project="/home/izaskunmz/yolo/yolov8-object-detection/runs/detect", # Ruta correcta para guardar los modelos | |
name="train_yolov8n", # Nombre del experimento optimizado | |
exist_ok=True # Evita sobreescritura, crea versiones numeradas | |
) |