Vigilando los modelos de Keras con CodeMonitor

Si trabaja con aprendizaje profundo, probablemente se ha enfrentado a una situación en la que su modelo tarda demasiado en aprender y tiene que seguir observando su progreso, sin embargo, permanecer frente al escritorio viendo cómo aprende no es exactamente lo más emocionante. por esta razón, el propósito de este artículo es presentar CodeMonitor, una biblioteca de python simple pero muy útil. Le ayuda a hacer un mejor uso de su tiempo y seguir vigilando su modelo dondequiera que esté siendo entrenado mediante el envío de informes sobre cada época directamente a su teléfono en forma de mensajes.

Lo primero que debe saber sobre CodeMonitor es que es una iniciativa de código abierto de la persona que escribe este artículo, por lo que cualquier sugerencia o respuesta a problemas es más que bienvenida. El código está alojado en y para cualquier informe, utilice la sección.

Actualmente, esta biblioteca usa solo Telegram para enviar los mensajes y tiene dos formas de hacerlo, puede usar una devolución de llamada de Keras que enviará un informe de los registros generados en el entrenamiento a su chat de Telegram al final de cada época, estos registros pueden ser la pérdida o la precisión, por ejemplo, puede variar según su proyecto. La otra forma en que podría usarlo es simplemente enviando cualquier string que desee, como un mensaje, por lo que puede enviar mensajes de cualquier naturaleza, en cualquier contexto que se le ocurra.

En este artículo asumimos que ya tiene un modelo de Keras, si no es su caso, puede obtener más información sobre Keras con este que aborda la clasificación de textos escritos a mano en imágenes y volver más tarde o simplemente leerlo sin implementar completamente el código. .

Configurar

Para hacer uso de esta biblioteca, puede descargar el código fuente directamente de GitHub o obtenerlo con pip, en este tutorial vamos a usar la segunda opción por simplicidad, para hacerlo simplemente copie y pegue la siguiente línea de código en su terminal (suponemos que ya tiene pip instalado, para obtener más información sobre pip, visite su ).

pip install CodeMonitor

Una vez que lo haya instalado, debe configurar el lado de Telegram, que es bastante simple, si ya tiene la aplicación instalada en su teléfono, simplemente ábrala y toque el ícono de búsqueda en la esquina superior derecha y busque CodeMonitor y en la imagen a continuación, selecciónelo.

En este punto, solo necesita enviarle cualquier mensaje, en respuesta, recibirá un código, esta es la identificación del chat, la estamos usando para enviar mensajes a este chat, mantenga este código en secreto, porque si alguien que tiene puede enviarte mensajes.

¡Ahora todo está configurado en el lado de Telegram, por lo que podemos volver a la computadora y enviar nuestro primer mensaje desde python! En el lado de Python, tenemos dos clases que son responsables de las funcionalidades que hemos discutido anteriormente, vamos a importarlas.

from CodeMonitor.telegram import Messenger, FitMonitor

Tenga en cuenta que en el código de muestra, usaremos «123456789» como ID de chat, sin embargo, deberá reemplazarlo en su código

Mensajero

Esta clase le permite enviar cualquier string que desee al chat de Telegram, solo requiere la identificación del chat como se menciona en la sección lateral de Telegram.

messenger = Messenger("123456789")

Cuando se instancia la clase, envía el mensaje «¡Todo listo!», para enviar sus mensajes para usar la función  enviar_mensaje .

messenger.send_message("your awesome message!")

FitMonitor

Como se mencionó anteriormente, esta clase le permite enviar informes basados ​​en los registros generados en la capacitación, ya que en la primera clase deberá proporcionar la identificación del chat para identificar su chat. Para enviar simplemente todos los registros generados en el entrenamiento, simplemente agregue la clase FitMonitor a la lista de devoluciones de llamada como se muestra a continuación.

model.fit(X_train, Y_train,          
          epochs = 10,
          validation_data = (X_test, Y_test), 
          callbacks=[FitMonitor("123456789")])

Para especificar los registros que desea enviar, puede establecer una lista de los que desea incluir en el mensaje utilizando el  parámetro log_keys  , como se muestra en el fragmento de código que especifica que solo la pérdida debe incluirse en el mensaje.

model.fit(X_train, Y_train,          
          epochs = 10,
          validation_data = (X_test, Y_test), 
          callbacks=[FitMonitor("123456789", log_keys=["loss"])])

Conclusión

En este artículo, se le presentó una herramienta simple pero útil que puede ayudarlo a seguir monitoreando su modelo desde cualquier lugar con su teléfono, como se mencionó anteriormente, esta es una iniciativa de código abierto y aún se está desarrollando, así que si tiene alguna idea o sugerencia, es más que bienvenido a dejarlo en los comentarios.

Publicación traducida automáticamente

Artículo escrito por lucasfrota y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *