Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Epoch

Uma época é uma passagem completa do modelo pelos dados de treinamento. Veja a relação entre épocas, lotes e iterações e quantas épocas usar no treinamento.

Uma época é uma passagem completa de um modelo de aprendizado de máquina por todo o seu conjunto de dados de treinamento. Durante uma época, cada exemplo de treinamento contribui exatamente uma vez para as atualizações dos pesos do modelo. Modelos de aprendizado profundo raramente aprendem o suficiente em uma única passagem, então o treinamento é executado por muitas épocas, e o erro nos dados de treinamento normalmente diminui a cada época, à medida que a rede refina suas previsões.

Época vs. lote vs. iteração#

Três termos descrevem a estrutura de uma execução de treinamento, e cada um está contido no anterior:

  • Época: uma passagem completa pelo conjunto de dados de treinamento.
  • Lote: o grupo de exemplos processados juntos em uma etapa. Raramente os conjuntos de dados cabem de uma vez na memória da GPU, então cada época é dividida em lotes, geralmente depois de embaralhar os dados.
  • Iteração: uma atualização dos pesos, feita depois que a função de perda é calculada para um lote e seus gradientes são propagados de volta por meio da retropropagação. "Etapa" é um sinônimo.

O número de iterações por época é igual ao tamanho do conjunto de dados dividido pelo tamanho do lote, arredondado para cima. Um conjunto de dados com 1.000 imagens e tamanho de lote 100 exige 10 iterações por época; assim, 50 épocas geram 500 atualizações dos pesos. No PyTorch, essa estrutura aparece como dois loops aninhados: um loop externo para as épocas e um interno para os lotes fornecidos por um 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 executa 10 iterações, e a perda no lote final cai de 0,1096 após a primeira época para 0,0088 após a quinta, à medida que o modelo converge para a linha verdadeira. Quando o treinamento usa aumento de dados, cada época recebe uma versão recém-transformada de cada imagem, então as épocas seguintes acrescentam variedade em vez de repetir exatamente as mesmas imagens.

Como escolher o número de épocas#

A contagem de épocas é uma das principais configurações no ajuste de hiperparâmetros. Poucas épocas deixam o modelo com subajuste, ou seja, erro alto tanto nos dados de treinamento quanto nos dados de validação. Épocas demais levam ao sobreajuste, situação em que a perda de treinamento continua caindo enquanto a pontuação de validação estagna ou diminui, porque o modelo começou a memorizar os exemplos de treinamento. A quantidade adequada depende do tamanho do conjunto de dados, do tamanho do modelo, do cronograma da taxa de aprendizado e de o treinamento começar com pesos pré-treinados por meio de aprendizado por transferência. A escala também altera a resposta: conjuntos de dados pequenos de visão costumam ser treinados por centenas de épocas, enquanto os grandes modelos de linguagem veem boa parte dos dados menos de uma vez, e o GPT-3 completou 0,44 época com os dados filtrados do Common Crawl.

A parada antecipada automatiza essa escolha. O modelo é avaliado com dados de validação após cada época, o melhor checkpoint é mantido e o treinamento termina quando a pontuação de validação não melhora por um número definido de épocas, chamado paciência.

Cronogramas de treinamento baseados em épocas#

Além do ponto de parada, muitas configurações de treinamento mudam de acordo com um cronograma por época, como o aquecimento e o decaimento da taxa de aprendizado ou a intensidade do aumento de dados. No treinamento do Ultralytics YOLO, epochs e patience têm ambos o valor padrão 100, a taxa de aprendizado passa por aquecimento nas primeiras 3 épocas e o aumento de dados mosaic é desativado nas 10 épocas finais (close_mosaic=10), para que o modelo termine o treinamento com imagens semelhantes às entradas reais. A receita de treinamento do YOLO26 mostra como a quantidade varia conforme o tamanho do modelo: após 150 épocas de pré-treinamento com Objects365, o ajuste fino com COCO durou 245 épocas para o YOLO26n e 40 épocas para o YOLO26x.

from ultralytics import YOLO

# Carrega um modelo YOLO26n pré-treinado
model = YOLO("yolo26n.pt")

# Treina por 50 épocas: 50 passagens completas pelas imagens de treinamento do COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

Durante essa execução, o treinador valida o modelo YOLO26 após cada época, sobrescreve last.pt a cada vez e salva best.pt sempre que a aptidão de validação, que corresponde ao mAP50-95 para detecção, atinge um novo máximo.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina