# Entrenar modelos de Object Detection (YOLO)

La **Object Detection Training Window** entrena modelos de detección de objetos basados en YOLO usando tu conjunto de datos anotado.

{% hint style="info" %}
El entrenamiento funciona mejor con una [Nvidia GPU](https://docs.augelab.com/spanish/introduccion/system-requirements) y con [CUDA / cuDNN](https://docs.augelab.com/spanish/primeros-pasos/installation-and-licensing) correctamente instalados.

Si la ventana de entrenamiento está deshabilitada o muestra errores por falta de runtime/dependencias, abre la [Module Downloader Window](https://docs.augelab.com/spanish/interfaz-de-augelab-studio/external-features/module-downloader) e instala las herramientas de IA requeridas.
{% endhint %}

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-1836774d8a7cdef8b17d117807f495bb7ac6d447%2Fobject-detection-first-look.jpg?alt=media" alt=""><figcaption></figcaption></figure>

## Primeros pasos

1. Inicia AugeLab Studio.
2. Abre `AI Tools` → [**Object Detection Training Window**](https://docs.augelab.com/spanish/caracteristicas-clave/train-custom-ai-models-with-training-window)
3. Prepara:
   * una **carpeta de dataset** y un **archivo de nombres de clases** preparados con la `Annotation Tool` de AugeLab Studio: (../../key-features/annotate-data-for-object-detection/annotation-window-how-to.md)
   * o una **carpeta de dataset** que contenga imágenes y archivos de etiquetas YOLO (`.txt`) en la **misma carpeta**
   * un **archivo de nombres de clases** en formato `.names` (un nombre de clase por línea)

{% hint style="info" %}
La ventana de entrenamiento escanea tu dataset y muestra las **Dataset Analytics** (total de imágenes, contajes anotadas/no anotadas y la lista de clases) para ayudarte a detectar errores temprano.
{% endhint %}

## 1) Configuración

La ventana de entrenamiento actual usa un panel sencillo de **Configuration** en lugar de un flujo de trabajo solo por menús.

### Select Dataset Folder

Elige la carpeta que contiene tus imágenes de entrenamiento.

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-2b17b34bbc103314e341af52cc19e2fd7b57f9b5%2Fobject-detection-load-dataset.jpg?alt=media" alt=""><figcaption></figcaption></figure>

Notas:

* Solo se usan los archivos en esta carpeta (mantén tus imágenes de entrenamiento en una sola carpeta)
* Las extensiones de imagen soportadas incluyen: `.jpg`, `.jpeg`, `.png`, `.bmp`, `.tiff`, `.tif`

### Select Class Names File (`.names`)

Elige tu archivo de lista de clases.

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-9f3e8bca103aa7e6e2be1f6c575cb285d25f16b7%2Fobject-detection-load-class-file.jpg?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Si el archivo `.names` está vacío, la ventana de entrenamiento lo tratará como un error. Asegúrate de que contenga un nombre de clase por línea.
{% endhint %}

### Model Type

Elige una variante de modelo desde **Model Type**.

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-ea77e81a049145f79229afb14df880c3d06f9618%2Fobject-detection-models.jpg?alt=media" alt=""><figcaption></figcaption></figure>

En general:

* Las variantes **Robust Ones** son más lentas pero pueden alcanzar mayor precisión; YOLOv4-Scaled es una buena opción por defecto.
* Las variantes **Fast** entrenan más rápido y son más adecuadas para PCs con especificaciones bajas.
* **Micro / Nano** están diseñadas para modelos muy pequeños o dispositivos edge.

### Optional: Custom Weights

Puedes iniciar desde pesos personalizados/preentrenados (Darknet `.weights` / backbone `.conv.*`).

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-1b45441ed602b02d4bd537ca4ca1cf83340c0aeb%2Fobject-detection-continue-weights.jpg?alt=media" alt=""><figcaption></figcaption></figure>

Casos de uso recomendables:

* Continuar una ejecución anterior
* Convergencia más rápida en datasets similares

{% hint style="warning" %}
Si cambias el **Model Type**, lo más seguro es limpiar y volver a seleccionar pesos que coincidan con el modelo elegido.
{% endhint %}

## 2) Advanced Settings

Advanced Settings te permite ajustar el comportamiento del entrenamiento (uso de memoria, velocidad y precisión).

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-a81e0934256751e86a3edd648b7a9d90162b9449%2Fobject-detection-open-adv-set.jpg?alt=media" alt=""><figcaption></figcaption></figure>

Los ajustes más importantes:

* **Dataset Split Ratio (Train/Val)**: cuánto dato se usa para validación (afecta el reporte de mAP)
* **Network Input Size (Width/Height)**: tamaños mayores pueden ayudar con objetos pequeños, pero consumen más VRAM y ralentizan el entrenamiento
* **Batch Size / Subdivisions**: los principales controles para errores de memoria GPU
  * Si ves “Out of Memory”, **aumenta subdivisions** o **disminuye batch size**
* **Recalculate Anchors**: puede mejorar resultados en datasets personalizados (recomendado para datasets nuevos)
* **Calculate Optimal Network Size**: ayuda opcional para autoselección
* **GPUs to Use**: para sistemas multi-GPU (por ejemplo, `0` o `0,1`)
* **mAP During Training**: muestra el progreso de precisión pero puede ralentizar un poco el entrenamiento
* **Clear Previous Training**: empezar desde cero vs. reanudar
* **Live Augmentation Options**: aplica variaciones on-the-fly durante el entrenamiento (no crea archivos adicionales)

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-20ed387a71aa62d4f7f51c946f826e6c3342f7e7%2Fobject-detection-adv-set.jpg?alt=media" alt=""><figcaption></figcaption></figure>

## 3) Iniciar / Detener Entrenamiento

Una vez que Dataset + Classes sean válidos, el botón principal se activa.

1. Haz clic en **Start Training**
2. Monitorea:
   * el área de **Log** (salida de consola)
   * la ventana **Training Chart** (loss / mAP)
3. Haz clic en **Stop Training** para terminar el proceso

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-69fc17ac46d597193d442f3c0656efddba15c59e%2Fobject-detection-start-training.jpg?alt=media" alt="" width="563"><figcaption><p>Training Logging</p></figcaption></figure>

{% hint style="warning" %}
Cerrar la ventana de entrenamiento mientras está en ejecución terminará el proceso de entrenamiento.
{% endhint %}

## Después del Entrenamiento

Cuando el entrenamiento termina (o lo detienes), revisa el directorio de salida que se indica en los mensajes del log/estado.

Siguientes pasos recomendados:

* Carga tu modelo entrenado en tu workflow (inferencia)
* Valida los resultados con un conjunto de holdout o con video de cámara real
