Deep Learning Academy · Aula

Modo de Treinamento vs Avaliação

Entenda por que model.train() e model.eval() são diferentes

Aula 4 de 413 etapas

Modo de Treinamento vs Avaliação é uma aula grátis de Deep Learning Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Deep Learning Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Deep Learning Academy inclui 4 aulas no total.

Um Modelo Tem Duas Faces

Sua rede se comporta de maneira diferente enquanto aprende e enquanto é testada. O PyTorch chama esses dois estados de modo train e modo eval. 🎭

Mude para o Modo train

Antes do treinamento, chame model.train. Isso informa a cada camada que ela deve se comportar da maneira adequada enquanto o modelo está aprendendo ativamente com os dados.

model.train()

Mude para o Modo eval

Antes de validar ou fazer previsões, chame model.eval. Agora a rede muda para seu comportamento estável e determinístico, permitindo uma medição confiável.

model.eval()

O Dropout se Importa

O Dropout zera neurônios aleatoriamente durante o treinamento para evitar o sobreajuste. No modo eval, ele é completamente desativado, para que todos os neurônios contribuam para a previsão.

A Normalização de Lote Também se Importa

A normalização de lote usa as estatísticas de cada lote durante o treinamento, mas muda para médias móveis armazenadas durante a avaliação, produzindo saídas estáveis e consistentes.

É Apenas uma Alternância

Essas chamadas não treinam nem testam nada por si mesmas. Elas simplesmente alteram uma flag que informa às camadas de dropout e normalização qual comportamento usar.

eval Não É no_grad

Uma confusão comum: eval altera o comportamento das camadas, enquanto no_grad interrompe o rastreamento dos gradientes. Eles resolvem problemas diferentes, portanto normalmente você usa ambos juntos.

model.eval()
with torch.no_grad():
    pred = model(x)

Esquecer eval Prejudica

Se você validar sem eval, o dropout e a normalização de lote manterão o comportamento de treinamento. Suas pontuações ficarão instáveis e parecerão piores do que o modelo realmente é.

Esquecer train Prejudica

O inverso também é prejudicial: se você deixar o modelo em eval, o dropout nunca será ativado, e sua regularização desaparecerá silenciosamente durante o treinamento.

Incorpore Isso ao Loop

Transforme a alternância em um hábito: defina train antes da etapa de treinamento e eval antes da validação, em todas as épocas, para que o modelo nunca permaneça no modo errado.

for epoch in range(epochs):
    model.train()
    # ... train ...
    model.eval()
    # ... validate ...

Uma Pequena Chamada, um Grande Efeito

São duas chamadas minúsculas, mas elas determinam se suas métricas são confiáveis. Trate a alternância de modo como uma parte indispensável de todo loop.

Verificação Rápida

O que chamar model.eval() realmente altera?

Recapitulação

Você aprendeu os dois modos: train ativa o dropout e as estatísticas dos lotes; eval torna tudo determinístico. Alterne a cada época e combine eval com no_grad. 🎉

Grátis para começar

Aprenda Python com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Modo de Treinamento vs Avaliação” é grátis?

Sim — o texto completo de “Modo de Treinamento vs Avaliação” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Deep Learning Academy, atualize para CoddyKit PRO. O curso de Deep Learning Academy inclui 4 aulas no total.

O que vou aprender em “Modo de Treinamento vs Avaliação”?

Entenda por que model.train() e model.eval() são diferentes Você pratica Deep Learning Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Deep Learning Academy?

Nenhuma experiência prévia é necessária. Deep Learning Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Modo de Treinamento vs Avaliação”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Deep Learning Academy?

Sim. Cada aula de Deep Learning Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Passagem Direta, Perda, Retropropagação e Passo
  2. Escreva um Ciclo de Treinamento Mínimo
  3. Acompanhe a Exatidão Durante o Treinamento
  4. Modo de Treinamento vs Avaliação
← Voltar para Deep Learning Academy