1. 安装
直接pip安装 notify-run 包:
1 |
pip install notify-run |
2. 配置
注册服务:
1 |
notify-run register |
手机扫描这个二维码,并用chrome打开这个网页,其他浏览器未尝试,只要支持WebPushAPI就可以。
注册的叫Channel,每个Channel都对应一个Channel ID。
然后点击 Subscribe on this device ,同意此网站给你发送通知:
这样就在此设备上注册完成了。
3. 测试
可以先用 cURL 测试一下推送是否成功:
1 |
curl https://notify.run/YourChannelID -d "message goes here" |
手机上收到的通知如下:
效果还不错,延迟几秒之内,优先级高。
4. 嵌入代码
1 2 3 |
from notify_run import Notify notify = Notify() notify.send('Message from python~!') |
运行就会在手机上收到通知
5.写入/读取配置
如果在不同环境中要使用同一份配置,需要写入/读取配置。配置在notify-run中被称作Endpoint。
首先在已经register过的环境上运行:
1 2 3 |
from notify-run import Notify notify = Notify() notify.write_config() |
接着,在其他环境中读取此配置:
1 2 3 |
from notify_run import Notify notify = Notify() notify.read_config() |
或者使用命令行:
1 |
notify-run configure <endpoint URL> |
6. Keras回调
notify-run实现了Keras的回调函数,这样就可以在训练过程中实时发送训练情况,而不是训练完成后发送。 嵌入 model.fit() 的 callback 中就可以:
1 |
model.fit(imgs_train, imgs_mask_train, callbacks=[NotifyCallback()]) |
手机上会在每个 epoch 完成后收到的 loss 和 acc 数值的通知: