SwanLab飞书通知插件:训练完成收到飞书消息,掌握训练进度更及时
如果你希望在训练完成/发生错误时,第一时间发送飞书信息通知你,那么非常推荐你使用飞书通知插件。
SwanLab插件均为开源代码,你可以在Github源代码中查看,欢迎提交你的建议和PR!
文章目录
- 准备工作
- 基本用法
- 自由提醒
- 限制
准备工作
- 自定义机器人API使用指南·
- 在飞书群组中使用机器人
- 在1个飞书群中,点击右上角的 「···」-「设置」
- 点击 「群机器人」
- 点击 「添加机器人」
- 添加 「自定义机器人」
- 复制 「Webhook 地址」和 「签名」
至此,你完成了准备工作。
基本用法
使用飞书通知插件的方法非常简单,只需要初始化1个LarkCallback
对象:
from swanlab.plugin.notification import LarkCallback
lark_callback = LarkCallback(
webhook_url="https://open.larkoffice.com/open-apis/bot/v2/hook/xxxx",
secrets="xxxx",
)
然后将lark_callback
对象传入swanlab.init
的callbacks
参数中:
swanlab.init(callbacks=[lark_callback])
这样,当训练完成/发生错误时(触发swanlab.finish()
),你将会收到飞书信息通知。
自由提醒
你还可以使用LarkCallback
对象的send_msg
方法,发送自定义的飞书信息。
这在提醒你某些指标达到某个阈值时非常有用!
if accuracy > 0.95:
# 自定义场景发送消息
lark_callback.send_msg(
content=f"Current Accuracy: {accuracy}", # 通知内容
)
限制
-
飞书通知插件的训练完成/异常通知,使用的是
SwanKitCallback
的on_stop
生命周期回调,所以如果你的进程被突然kill
,或者训练机异常关机,那么会因为无法触发on_stop
回调,从而导致未发送飞书通知。 -
完善方案请期待
SwanLab
的平台开放API
上线。