Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

335
Visualizações
¿Qué hace model.eval() en pytorch?

¿Cuándo debo usar .eval() ? Entiendo que se supone que me permite "evaluar mi modelo". ¿Cómo lo vuelvo a apagar para entrenar?

Ejemplo de código de entrenamiento usando .eval() .

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

model.eval() es una especie de interruptor para algunas capas/partes específicas del modelo que se comportan de manera diferente durante el tiempo de entrenamiento e inferencia (evaluación). Por ejemplo, Dropouts Layers, BatchNorm Layers, etc. Debe desactivarlas durante la evaluación del modelo y .eval() lo hará por usted. Además, la práctica común para evaluar/validar es usar torch.no_grad() junto con model.eval() para desactivar el cálculo de gradientes:

 # evaluate model: model.eval() with torch.no_grad(): ... out_data = model(data) ...

PERO, no olvide volver al modo de training después del paso de evaluación:

 # training step ... model.train() ...
over 4 years ago · Santiago Trujillo Relatório

0

model.train() model.eval()
Establece el modelo en modo de entrenamiento :

• capas de normalización 1 usan estadísticas por lote
• activa las capas de Dropout 2
Establece el modelo en modo de evaluación (inferencia):

• las capas de normalización usan estadísticas en ejecución
• desactiva las capas de Dropout
Equivalente a model.train(False) .

Puede desactivar el modo de evaluación ejecutando model.train() . Debe usarlo cuando ejecute su modelo como un motor de inferencia, es decir, cuando pruebe, valide y prediga (aunque prácticamente no hará ninguna diferencia si su modelo no incluye ninguna de las capas que se comportan de manera diferente ).


  1. por ejemplo, BatchNorm , InstanceNorm
  2. Esto incluye submódulos de módulos RNN, etc.
over 4 years ago · Santiago Trujillo Relatório

0

model.eval es un método de torch.nn.Module :

eval()

Establece el módulo en modo de evaluación.

Esto tiene algún efecto solo en ciertos módulos. Consulte la documentación de módulos particulares para obtener detalles de sus comportamientos en el modo de capacitación/evaluación, si se ven afectados, por ejemplo, Dropout , BatchNorm , etc.

Esto es equivalente a self.train(False) .

El método opuesto es model.train explicado muy bien por Umang Gupta.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda