| 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=300, # 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_optimized", # Nombre del experimento optimizado | |
| exist_ok=True # Evita sobreescritura, crea versiones numeradas | |
| ) |