Следите за моделями Keras с CodeMonitor

Опубликовано: 20 Июля, 2021

Если вы работаете с глубоким обучением, вы, вероятно, сталкивались с ситуацией, когда вашей модели требуется слишком много времени для изучения, и вам нужно постоянно наблюдать за ее прогрессом, однако стоять перед столом и наблюдать, как она учится, - не самое захватывающее занятие. по этой причине цель данной статьи - познакомить с CodeMonitor, простой, но очень полезной библиотекой Python. Это помогает вам лучше использовать свое время и при этом следить за своей моделью, где бы она ни проходила обучение, отправляя отчеты за каждую эпоху прямо на ваш телефон в виде сообщений.

Первое, что вам нужно знать о CodeMonitor, это то, что это инициатива с открытым исходным кодом от человека, который пишет эту статью, поэтому любые предложения или возражения по проблеме более чем приветствуются. Код размещен на Github, и для любого отчета используйте раздел « Проблемы».

В настоящее время эта библиотека использует только Telegram для отправки сообщений и имеет два способа сделать это: вы можете использовать обратный вызов Keras, который будет отправлять отчет о журналах, созданных во время обучения, в ваш чат Telegram в конце каждой эпохи, в этих журналах может быть потеря или точность, например, она может варьироваться в зависимости от вашего проекта. Другой способ его использования - просто отправить любую строку, которая вам нравится, в виде сообщения, таким образом, вы можете отправлять сообщения любого характера в любом контексте, который вы придумали.

В этой статье мы предполагаем, что у вас уже есть модель Keras, если это не ваш случай, вы можете узнать больше о Keras с помощью этого руководства, в котором рассматривается классификация рукописных текстов на изображениях, и вернуться позже или просто прочитать его без полной реализации код.

Настраивать

Чтобы использовать эту библиотеку, вы можете загрузить исходный код прямо с GitHub или получить его с помощью pip, в этом руководстве мы собираемся использовать второй вариант для простоты, для этого просто скопируйте и вставьте следующую строку кода на ваш терминал (мы предполагаем, что у вас уже установлен pip, чтобы узнать больше о pip, посетите их страницу установки ).

pip установить CodeMonitor


После того, как вы его установили, вам нужно настроить сторону Telegram, что довольно просто: если у вас уже установлено приложение на вашем телефоне, просто откройте его, коснитесь значка поиска в правом верхнем углу и найдите CodeMonitor и на изображении ниже выберите его.

На этом этапе вам просто нужно отправить ему какое-либо сообщение, в ответ вы получите код, это идентификатор чата, мы используем его для отправки сообщений в этот чат, держите этот код в секрете, потому что если кто-то он может отправлять вам сообщения.

Теперь все настроено на стороне Telegram, поэтому мы можем вернуться к компьютеру и отправить первое сообщение с Python! На стороне Python у нас есть два класса, которые отвечают за функции, которые мы обсуждали ранее, давайте импортируем их.

 из CodeMonitor.telegram импортировать Messenger, FitMonitor

Обратите внимание, что в примере кода мы будем использовать «123456789» в качестве идентификатора чата, однако вам необходимо заменить его в своем коде.

Посланник

Этот класс позволяет вам отправлять любую строку, которую вы хотите, в чат Telegram, требуя только идентификатор чата, как указано в боковом разделе Telegram.

 messenger = Messenger ("123456789")

При создании экземпляра класса он отправляет сообщение «Все готово!» Для отправки ваших сообщений с использованием функции send_message .

 messenger.send_message ("твое классное сообщение!")

FitMonitor

Как упоминалось выше, этот класс позволяет вам отправлять отчеты на основе журналов, созданных во время обучения, поскольку в первом классе вам нужно будет предоставить идентификатор чата для идентификации вашего чата. Чтобы просто отправить все журналы, созданные во время обучения, просто добавьте класс FitMonitor в список обратных вызовов, как показано ниже.

 model.fit (X_train, Y_train,          
          эпох = 10,
          validation_data = (X_test, Y_test), 
          callbacks = [ FitMonitor ("123456789") ])

Чтобы указать журналы, которые вы хотите отправить, вы можете установить список тех, которые вы хотите включить в сообщение, используя параметр log_keys , как показано во фрагменте кода, который указывает, что в сообщение должны быть включены только потери.

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

Заключение

В этой статье вы познакомились с простым, но полезным инструментом, который может помочь вам следить за своей моделью из любого места с помощью телефона, как упоминалось выше, это инициатива с открытым исходным кодом, которая все еще разрабатывается, поэтому, если у вас есть какие-либо идеи или предложение, которое вы можете оставить в комментариях.

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.