Cómo rastrear el entrenamiento de modelos de ML: Integración de fastai + neptune.ai
Tabla de Contenidos:
- Introducción
- Instalación de dependencias
- Creando un run de Neptune
- Descargando el conjunto de datos
- Utilizando Neptune para registrar metadatos
- Creando el modelo de aprendizaje
- Entrenando el modelo
- Visualizando métricas y resultados
- Guardando y cargando pesos del modelo
- Registrando imágenes en Neptune
- Conclusión
Introducción
¡Hola! Soy Prince Kanuma, un desarrollador de advocate en Neptune AI. En este artículo, te mostraré cómo funciona la integración de Neptune con Fast AI. Aprenderemos a instalar las dependencias necesarias, cómo crear un proyecto en Neptune y cómo utilizar Neptune para registrar metadatos y métricas durante el entrenamiento de un modelo de aprendizaje automático.
Instalación de dependencias
Antes de empezar, debemos asegurarnos de tener instaladas todas las dependencias necesarias. En este caso, necesitaremos instalar Fast AI y la integración de Neptune, así como el cliente de Neptune.
# Código de instalación de dependencias
Creando un run de Neptune
El primer paso importante es crear un run de Neptune y proporcionar el nombre del proyecto y el token de la API. Esto nos permitirá acceder a la interfaz de usuario de Neptune y registrar nuestros metadatos.
# Código para crear un run de Neptune
Una vez que ejecutemos este código, encontraremos un enlace en la salida. Si visitamos ese enlace, accederemos a la interfaz de usuario de Neptune donde podremos ver todos los metadatos de nuestro proyecto. Sin embargo, en este momento estará un poco vacío, ya que aún no hemos registrado nada. ¡Pero eso cambiará pronto!
Descargando el conjunto de datos
En este ejemplo, vamos a utilizar el conjunto de datos MNIST Tiny, que contiene únicamente los dígitos tres y siete. Descargaremos el conjunto de datos y crearemos un image loader para cargar las imágenes. También mostraremos un ejemplo de lote para verificar que los datos se han cargado correctamente.
# Código para descargar y cargar el conjunto de datos
Utilizando Neptune para registrar metadatos
El segundo paso es utilizar el Neptune callback para registrar nuestros metadatos en Neptune. Esto nos permitirá realizar un seguimiento de los hiperparámetros, la pérdida, las métricas y la arquitectura del modelo de manera automática.
# Código para utilizar el Neptune callback
Una vez que hayamos registrado nuestros metadatos en Neptune, podremos acceder a ellos desde la interfaz de usuario. En la sección "Configuration" encontraremos los hiperparámetros, la arquitectura del modelo y otros detalles importantes. En la sección "Metrics" podremos ver la pérdida y las métricas durante el entrenamiento y la validación. Además, Neptune nos proporcionará una interfaz personalizable para visualizar y analizar estos datos.
Creando el modelo de aprendizaje
Ahora que hemos configurado Neptune y registrado nuestros metadatos, podemos crear nuestro modelo de aprendizaje. En este ejemplo, utilizaremos Fast AI para crear un modelo con tres capas y entrenar durante cinco épocas.
# Código para crear y entrenar el modelo de aprendizaje
Visualizando métricas y resultados
Una vez que hemos entrenado nuestro modelo, podemos visualizar las métricas y los resultados utilizando la interfaz de usuario de Neptune. En la sección "Metrics" encontraremos información sobre la pérdida y las métricas durante el entrenamiento y la validación. También podremos ver la progresión de los hiperparámetros, como la tasa de aprendizaje y el Momentum.
Guardando y cargando pesos del modelo
Neptune nos permite guardar y cargar los pesos del modelo de manera sencilla. Podemos guardar todos los modelos guardados localmente en Neptune, o solo el último modelo. En este ejemplo, guardaremos todos los modelos cada dos épocas.
# Código para guardar y cargar los pesos del modelo
Registrando imágenes en Neptune
Por último, Neptune también nos permite registrar y visualizar imágenes. En Fast AI, las imágenes se representan como tensores, y podemos convertir estos tensores en imágenes utilizando Neptune.
# Código para registrar imágenes en Neptune
Conclusión
En este artículo, hemos aprendido cómo utilizar Neptune para integrarlo con Fast AI. Hemos visto cómo instalar las dependencias, crear un proyecto en Neptune, registrar metadatos, entrenar un modelo de aprendizaje automático y visualizar métricas y resultados. Neptune nos proporciona una manera fácil y conveniente de realizar un seguimiento de nuestros proyectos de aprendizaje automático y analizar los resultados. ¡Espero que esta guía te haya sido útil!
Recursos: