Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Epoch

Una época es una pasada completa de un modelo por sus datos de entrenamiento. Descubre cómo se relacionan las épocas con los lotes y las iteraciones, y cuántas épocas debes entrenar.

Una época es una pasada completa de un modelo de aprendizaje automático por todo su conjunto de datos de entrenamiento. Durante una época, cada ejemplo de entrenamiento contribuye exactamente una vez a las actualizaciones de los pesos del modelo. Los modelos de aprendizaje profundo rara vez aprenden lo suficiente en una sola pasada, así que el entrenamiento se prolonga durante muchas épocas y el error en los datos de entrenamiento suele disminuir en cada una a medida que la red refina sus predicciones.

Época, lote e iteración#

Tres términos describen la estructura de una ejecución de entrenamiento, y cada uno se integra en el anterior:

  • Época: una pasada completa por el conjunto de datos de entrenamiento.
  • Lote: grupo de ejemplos procesados juntos en un paso. Los conjuntos de datos rara vez caben enteros en la memoria de la GPU, así que cada época se divide en lotes, normalmente después de barajar los datos.
  • Iteración: una actualización de pesos, que se realiza después de calcular la función de pérdida de un lote y propagar sus gradientes hacia atrás mediante retropropagación. «Paso» es un sinónimo.

El número de iteraciones por época es el tamaño del conjunto de datos dividido por el tamaño del lote, redondeado hacia arriba. Un conjunto de datos de 1.000 imágenes con un tamaño de lote de 100 requiere 10 iteraciones por época, así que 50 épocas producen 500 actualizaciones de pesos. En PyTorch, esta estructura se representa mediante dos bucles anidados: un bucle externo sobre las épocas y otro interno sobre los lotes que proporciona un DataLoader.

import torch
from torch.utils.data import DataLoader, TensorDataset

torch.manual_seed(0)

# 1,000 noisy samples of the line y = 3x + 2, served in shuffled batches of 100
x = torch.rand(1000, 1)
y = 3 * x + 2 + 0.1 * torch.randn(1000, 1)
loader = DataLoader(TensorDataset(x, y), batch_size=100, shuffle=True)

model = torch.nn.Linear(1, 1)
optimizer = torch.optim.SGD(model.parameters(), lr=0.5)

for epoch in range(5):  # one epoch = one full pass over all 1,000 samples
    for xb, yb in loader:  # 1,000 / 100 = 10 iterations per epoch
        loss = torch.nn.functional.mse_loss(model(xb), yb)
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
    print(f"Epoch {epoch + 1}: {len(loader)} iterations, last batch loss {loss.item():.4f}")

Cada época incluye 10 iteraciones, y la pérdida del último lote baja de 0.1096 tras la primera época a 0.0088 tras la quinta, a medida que el modelo converge hacia la línea real. Cuando el entrenamiento utiliza aumento de datos, en cada época se ve una versión recién transformada de cada imagen, así que las épocas posteriores aportan variedad en vez de repeticiones exactas.

Cómo elegir el número de épocas#

El número de épocas es uno de los principales parámetros del ajuste de hiperparámetros. Si son muy pocas, el modelo presenta subajuste y un error elevado tanto en los datos de entrenamiento como en los datos de validación. Si son demasiadas, el modelo tiende al sobreajuste: la pérdida de entrenamiento sigue bajando, mientras que la puntuación de validación se estanca o disminuye porque el modelo empieza a memorizar los ejemplos de entrenamiento. El número adecuado depende del tamaño del conjunto de datos y del modelo, del calendario de la tasa de aprendizaje y de si el entrenamiento parte de pesos preentrenados mediante transferencia de aprendizaje. La escala también influye: los conjuntos de datos de visión pequeños suelen entrenarse durante cientos de épocas, mientras que los modelos de lenguaje grandes ven gran parte de sus datos menos de una vez, y GPT-3 completó 0,44 épocas con sus datos filtrados de Common Crawl.

La parada temprana automatiza la elección. El modelo se evalúa con datos de validación después de cada época, se conserva el mejor checkpoint y el entrenamiento termina cuando la puntuación de validación no mejora durante un número determinado de épocas, denominado paciencia.

Calendarios de entrenamiento basados en épocas#

Además del punto de parada, muchos parámetros de entrenamiento cambian según un calendario de épocas, como el calentamiento y el descenso de la tasa de aprendizaje o la intensidad del aumento de datos. En el entrenamiento de Ultralytics YOLO, epochs y patience tienen un valor predeterminado de 100, la tasa de aprendizaje se calienta durante las tres primeras épocas y el aumento de datos mosaico se desactiva en las últimas 10 épocas (close_mosaic=10), para que el modelo termine entrenándose con imágenes parecidas a las entradas reales. La receta de entrenamiento de YOLO26 muestra cuánto varía el número según el tamaño del modelo: tras 150 épocas de preentrenamiento con Objects365, el ajuste fino con COCO duró 245 épocas para YOLO26n y 40 para YOLO26x.

from ultralytics import YOLO

# Carga un modelo YOLO26n preentrenado
model = YOLO("yolo26n.pt")

# Entrena durante 50 épocas: 50 pasadas completas por las imágenes de entrenamiento de COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

Durante esta ejecución, el entrenador valida el modelo YOLO26 después de cada época, sobrescribe last.pt cada vez y guarda best.pt cuando el rendimiento de validación, medido como mAP50-95 para la detección, alcanza un nuevo máximo.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático