Lección 2 del curso PyTorch Nivel Avanzado.
En la lección anterior vimos cómo usar PyTorch para aplicar el concepto de transferencia de aprendizaje a un problema de visión por computador.
En esta segunda lección veremos qué son y cómo implementar los «checkpoints» en PyTorch, una herramienta que resulta muy útil cuando los tiempos de entrenamiento son muy prolongados y cuando queremos almacenar progresivamente dicho entrenamiento.
Así que veamos en detalle esta herramienta:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Como acabamos de ver, resulta muy sencillo implementar esta funcionalidad de los «checkpoints» en cualquier bloque de entrenamiento de un modelo de PyTorch. En primer lugar creamos dos funciones:
- Una para almacenar el estado actual del entrenamiento (parámetros del modelo, pérdida, iteración y estado del optimizador)
- Y una para recuperar el checkpoint (es decir el estado del entrenamiento)
Y luego simplemente llamamos estas funciones antes del «loop» de entrenamiento (para el caso de la recuperación del checkpoint) y durante el mismo «loop» (para el caso del almacenamiento del checkpoint).
¡Y listo! Con esto ya hemos añadido la funcionalidad de almacenamiento y recuperación de «checkpoints» al proceso de entrenamiento. Y esta misma lógica se puede aplicar a cualquier tipo de modelo de Deep Learning que queramos entrenar con PyTorch.
Así que teniendo claro cómo implementar esta funcionalidad de los «checkpoints», en la próxima lección partiremos de este código y veremos qué es y cómo implementar el «early-stopping» (o parada temprana) en PyTorch, otra herramienta que resulta muy útil para prevenir el sobre-ajuste de un modelo de Deep Learning.
Todas las lecciones del curso PyTorch Nivel Avanzado
