Если вы работаете с глубоким обучением, вы, вероятно, столкнулись с ситуацией, когда ваша модель занимает слишком много времени, чтобы учиться, и вы должны продолжать наблюдать за его прогрессом, однако оставаясь перед столом, наблюдая, как это не совсем самая захватывающая вещь, По этой причине цель этой статьи состоит в том, чтобы представить CodeMonitor, простой, но очень полезную библиотеку Python. Это поможет вам следить за вашей моделью, даже когда вы находитесь вдали от вашего компьютера, отправив отчеты о каждой эпоху непосредственно на свой телефон в виде сообщений.
Первое, что вам нужно знать о CodeMonitor, заключается в том, что это инициатива с открытым исходным кодом, таким образом, любые предложения или проблемы с проблемами более чем приветствуются. Код размещен на GitHub и для любого отчета, пожалуйста, используйте вопросы раздел.
Lucasfrota/CodeMonitor
Кодовый монитор – это простой способ отправить отзыв о вашем коде на свой смартфон в качестве сообщения Telegram!
В настоящее время эта библиотека использует только телеграмму для отправки сообщений и иметь два способа сделать это, вы можете использовать обратный вызов KERAS, который отправит отчет о журналах, созданных на тренировке для вашего Telegram Chat в конце каждой эпохи, Эти журналы могут быть потерями или точностью, например, она может варьироваться в зависимости от вашего проекта. Другой способ использовать его, просто отправляет любую строку, которую вам нравится, в качестве сообщения, при этом вы можете отправлять сообщения любой природы, в любом контексте, с которым вы придумали.
В этой статье я предполагаю, что у вас уже есть модель KERAS, если это не ваше дело, вы можете узнать больше о KERAS с этим Учебное пособие Это касается классификации текстов почерка на изображениями и вернуться позже или просто прочитать его без полной реализации кода.
Чтобы импортировать эту библиотеку, вы можете загрузить исходный код непосредственно из GitHub или получить его с PIP, в этом руководстве я собираюсь использовать второй вариант для простоты, чтобы сделать это просто скопировать и вставить следующую строку кода на вашем терминале (Предполагаем, что у вас уже есть установленные PIP, чтобы узнать больше о PIP посетите их Page Mating ).
pip install CodeMonitor
После того, как у вас установлено, вам нужно настроить сторону телеграммы, которая довольно проста, если у вас уже есть приложение, установленное на вашем телефоне, просто откройте его и коснитесь значка поиска в правом верхнем углу и найдите CodeMonitor и на изображении Ниже выберите его.
На этом этапе вам просто нужно отправить любое сообщение, в ответ, вы получите код, это идентификатор чата, мы используем его для отправки сообщений в этот чат, держите этот код в секрете, потому что если кто-то, кто имеет Он может отправлять вам сообщения.
Теперь все настроено на стороне телеграммы, поэтому мы можем вернуться к компьютеру и отправить наше сообщение кулаку из Python! На стороне Python у нас есть два класса, которые отвечают за функциональные возможности, которые мы обсуждали ранее, давайте импортируем их.
from CodeMonitor.telegram import Messenger, FitMonitor
Обратите внимание, что в примерном коде мы будем использовать «123456789» в качестве идентификатора чата, однако вам нужно заменить его в свой код
Этот класс позволяет отправлять любую строку, которую вы хотите Telegram Chat, требуя только идентификатора чата, как упомянуто на стороне телеграммы.
messenger = Messenger("123456789")
Когда класс создается, он отправляет сообщение «Все готово!», Чтобы отправить свои сообщения использовать функцию send_message.
messenger.send_message("your awesome message!")
Как уже упоминалось выше, этот класс позволяет отправлять отчеты на основе журналов, созданных на тренировке, как в первом классе, вам придется предоставить идентификатор чата для идентификации вашего чата. Чтобы просто отправить все журналы, созданные на тренировке, просто добавьте класс фитмонатора в список обратных вызовов, как показано ниже.
model.fit(X_train, Y_train, epochs = 10, validation_data = (X_test, Y_test), callbacks=[FitMonitor("123456789")])
Чтобы указать журналы, которые вы хотите отправить, вы можете установить список тех, которые вы хотите включить в сообщение, используя параметр log_keys, как показано на фрагменте кода, который указывает, что только потеря должна быть включена в сообщение.
model.fit(X_train, Y_train, epochs = 10, validation_data = (X_test, Y_test), callbacks=[FitMonitor("123456789", log_keys=["loss"])])
В этой статье вы были представлены простым, но полезным инструментом, который может помочь вам сохранить мониторинг вашей модели из любого места с вашим телефоном, как уже упоминалось выше, это инициатива с открытым исходным кодом и все еще развивается, так что если у вас есть какие-либо идеи или предложение, пожалуйста, бросьте его на комментарии и спасибо за чтение.
Оригинал: “https://dev.to/lucasfrota/keeping-the-eye-on-the-ml-model-training-with-codemonitor-3ho9”