训练结束来个短信通知
简介
训练要跑几天几小时,总不能时不时去看输出进展到哪一步了,心有旁骛,就不能专心看论文了。
现在好了,给自己的框架添上一个短信通知功能,在训练结束时得到第一手资讯,再也不用时不时的关注训练进度了。
本文实现的功能是基于Twilio提供的SMS功能。
Twilio是一个免费的SMS网关服务,在官网注册后可以使用程序向登记过的电话号码发送短信。
Twilio提供试用账户包含一个电话号码,将作为短信的发送者。
同时,Twilio发送短信的接收者只能是验证过的号码,一般来讲就是自己注册时验证账户用的手机号码。
注册和使用都很简单,分三步走:
- 注册账户,获取必要的账户信息和Token信息
- 测试短信发送接收
- 将该功能作为模块添加到自己的训练框架中
注册获取权限
- 进官网注册账号。
- 验证自己的手机号。
- 创建一个Account Notifications project。
- 进入控制台(Console)。
- 进入PhoneNumer那一栏,也就是有个大大的**#**标志的那一栏。
- 通过Apply New Number,获取一个Twilio给的虚拟号码,改号码就是用来作为短信的发送者的。
- 收集必要信息。包括
- ACCOUNT SID
- AUTH TOKEN
- 自己的号码,用于接收短信
- Twilio Number:申请的Twilio号码,用于发送短信
这些信息可以在以下图示区域中找到。
测试短信发送
安装Twilio 模块
1 | pip install twilio |
编程测试
代码如下(test.py):
1 | # coding=utf-8 |
运行文件:python test.py
,可以收到一条短信,如下图:
添加至训练框架中
- 模块代码:
1 | # coding=utf-8 |
- 在训练用的配置表中,添加一个选项。SMS_NOTIFICATION: True/False。
比如在我用的maskrcnn_benchmark中,在配置表中添加如下:
- 在框架代码中,在程序初始化时添加模块的初始化,在训练结束时发送完成信息。可以如下
简单介绍到这里,其实还可以在此基础上继续DIY,比如训练过程中的重要信息,训练结束的测试结果等,也可以作为短信通知的内容。