• Saltar a la navegación principal
  • Saltar al contenido principal
Logo Codificando Bits

Codificando Bits

  • Academia
    • Rutas
    • Cursos
    • Proyectos
    • Tutoriales
  • Acceder
  • Suscribirse

5 – Afinación de hiper-parámetros de un modelo de PyTorch

Lección 5 del curso PyTorch Nivel Intermedio.

En la lección anterior vimos cómo crear, entrenar, validar y poner a prueba una Red LSTM en PyTorch para generar predicciones sobre Series de Tiempo.

En esta última lección del curso veremos un ejemplo práctico de afinación de hiper-parámetros de un modelo de PyTorch haciendo uso la librería Ray Tune.

La afinación de hiper-parámetros es una tarea clave al momento de desarrollar cualquier modelo de Machine o Deep Learning, pues nos permite encontrar la combinación de hiper-parámetros del modelo que arroja las mejores predicciones posibles.

Y Ray Tune es una librería que nos permite realizar este proceso de afinación en diferentes tipos de modelos de Deep Learning, incluidos los modelos de PyTorch.

En particular, en esta última práctica veremos cómo realizar la afinación del modelo desarrollado en la lección 1, cuando construimos un clasificador de imágenes con PyTorch. Y este ejemplo servirá como base para entender la lógica de funcionamiento de Ray Tune y les resultará útil al momento de afinar otros modelos de Deep Learning implementados en PyTorch.

Así que comencemos entendiendo en detalle qué es la afinación de hiper-parámetros y además construyamos un modelo base y calculemos su desempeño:

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.

En esencia, la afinación de hiper-parámetros de cualquier modelo implica definir un primer modelo base (o de referencia) y calcular su desempeño. Después de esto, debemos definir una grilla de hiper-parámetros a partir de la cual entrenaremos diferentes modelos usando las diferentes combinaciones de hiper-parámetros. Y al final del proceso de afinación simplemente debemos seleccionar aquella combinación de hiper-parámetros (junto con el respectivo modelo) que arroje el mejor desempeño.

Además, hemos recreado el código usado en la lección 1 para construir la Red Convolucional que permite clasificar el set de datos CIFAR10 y hemos medido el desempeño de este modelo base, llegando a una exactitud del 70% aproximadamente.

El objetivo ahora es usar Ray Tune para realizar la afinación de este modelo, intentando así mejorar su desempeño. Veamos en detalle esta parte de la implementación:

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.

¡Muy bien! Acabamos de ver los pasos que generalmente tendremos que implementar para realizar la afinación de hiper-parámetros de un modelo de PyTorch haciendo uso de la librería Ray Tune.

En esencia debemos contemplar estos 4 pasos:

  1. Crear una función para la carga de datos (muy similar a la creación del Dataset)
  2. Crear un modelo configurable que en este caso será una Red Convolucional (similar a la original) pero cuyos hiper-parámetros podremos modificar desde Ray Tune
  3. Crear una función para el entrenamiento del modelo desde Ray Tune.
  4. Crear una función que ejecute todos los pasos anteriores y permitirá realizar la afinación.

Y una vez aplicamos este procedimiento para la Red Convolucional obtuvimos un desempeño (exactitud) del clasificador de aproximadamente 71.4%.

Así que con esto ya hemos completado este curso de PyTorch Nivel Intermedio: ¡felicitaciones por haber llegado hasta este punto!

En este segundo curso de la serie hemos aprendido a crear, entrenar, validar y poner a prueba Redes Convolucionales y LSTM en PyTorch para resolver problemas de clasificación y regresión. Y además, en esta última lección, hemos visto un ejemplo práctico de afinación de hiper-parámetros de uno de estos modelos haciendo uso de la librería Ray Tune.

Como siempre, te invito a contactarme a través de la Intranet para que me compartas tus comentarios sobre el curso así como tus sugerencias para seguir mejorando el contenido de la Academia Online. Y te invito igualmente a continuar con el siguiente curso en esta serie: PyTorch Nivel Avanzado.

¡Te envío un saludo y nos vemos en el próximo curso!

Todas las lecciones del curso PyTorch Nivel Intermedio

© Codificando Bits, LLC | Blog | Contacto | Servicios | Acerca de | Políticas

¿Has olvidado la contraseña?
¿Has perdido tu contraseña? Por favor, introduce tu nombre de usuario o dirección de correo electrónico. Recibirás por correo electrónico un enlace para crear una nueva contraseña.
body::-webkit-scrollbar { width: 7px; } body::-webkit-scrollbar-track { border-radius: 10px; background: #f0f0f0; } body::-webkit-scrollbar-thumb { border-radius: 50px; background: #dfdbdb }