📜  使用 CodeMonitor 密切关注 Keras 模型

📅  最后修改于: 2022-05-13 01:55:46.402000             🧑  作者: Mango

使用 CodeMonitor 密切关注 Keras 模型

如果您从事深度学习工作,您可能遇到过模型学习时间过长的情况,您必须继续观察它的进展,但是坐在办公桌前看着它学习并不是最令人兴奋的事情,为此,本文的目的是介绍 CodeMonitor,一个简单但非常有用的Python库。它可以帮助您更好地利用您的时间,并且通过将每个 epoch 的报告以消息的形式直接发送到您的手机来帮助您在任何地方训练您的模型。

关于 CodeMonitor,您首先需要了解的是,它是本文作者的一项开源计划,因此非常欢迎提出任何建议或问题反驳。该代码托管在Github上,对于任何报告,请使用问题部分。

目前,这个库只使用 Telegram 来发送消息,并且有两种方法可以做到这一点,你可以使用 Keras 回调,它会在每个 epoch 结束时将训练生成的日志报告发送到你的 Telegram 聊天中,这些日志可能是丢失或准确性,例如,它可能会根据您的项目而有所不同。您可以使用它的另一种方式只是发送您喜欢的任何字符串,作为消息,因此您可以在您想出的任何上下文中发送任何性质的消息。

在本文中,我们假设您已经有一个 Keras 模型,如果不是您的情况,您可以通过本教程了解更多关于 Keras 的信息,该教程解决了图像上手写文本的分类问题,稍后再回来,或者只是阅读它而不完全实现代码。

设置

要使用这个库,您可以直接从 GitHub 下载源代码或使用 pip 获取它,在本教程中,为简单起见,我们将使用第二个选项,只需将以下代码行复制并粘贴到您的终端(我们假设您已经安装了 pip,要了解有关 pip 的更多信息,请访问他们的安装页面)。

pip install CodeMonitor

安装完成后,您需要设置 Telegram 端,这非常简单,如果您已经在手机上安装了该应用程序,只需打开它并触摸右上角的搜索图标并搜索 CodeMonitor 并在图像中下面,选择它。

此时您只需向它发送任何消息,作为响应,您将收到一个代码,这是聊天 ID,我们正在使用它向此聊天发送消息,请将此代码保密,因为如果有人有它可以向您发送消息。

现在一切都在 Telegram 端设置好了,所以我们可以回到计算机并从Python发送我们的第一条消息!在Python方面,我们有两个类负责我们之前讨论过的功能,让我们导入它们。

from CodeMonitor.telegram import Messenger, FitMonitor

请注意,在示例代码中,我们将使用“123456789”作为聊天 ID,但是您需要在代码中替换它

信使

此类允许您将任何您想要的字符串发送到 Telegram 聊天,只需要 Telegram 侧部分中提到的聊天 id。

messenger = Messenger("123456789")

当类被实例化时,它会发送消息“All ready!”,以发送您的消息以使用函数send_message

messenger.send_message("your awesome message!")

健身监视器

如上所述,该课程允许您根据培训生成的日志发送报告,因为在第一堂课中您必须提供聊天 ID 来识别您的聊天。要简单地发送训练中生成的所有日志,只需将 FitMonitor 类添加到回调列表中,如下所示。

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"])])

结论

在本文中,您已经了解了一个简单但有用的工具,它可以帮助您通过手机随时随地监控您的模型,如上所述,这是一个开源计划,仍在开发中,所以如果您有任何想法或建议您更欢迎在评论中将其删除。