现如今,微信已经成为每个中国人接入社会的重要接口,我们用微信在地铁上看鸡汤、在商场使用电子支付、瘫在沙发上刷朋友圈、谈恋(划掉)。总之,微信几乎包办了我们生活中的一切,让人产生一种错觉,在不久的未来手机上只需要装微信一个软件就够了。
为了证明人类社会的下一阶段是微信主义,我们先定一个小目标:用微信控制深度学习训练。
一般来说,想要监控深度学习训练,只能用ssh或者tensorboard,用手机操作毕竟很麻烦,如果微信能把监控深度学习也包办了岂不是妙哉?
在命令行时代,使用图形界面就是逼格;在图形界面时代,使用命令行就是逼格。玩的就是个潮!
@Coldwings利用微信监管你的TF训练 - 知乎专栏已经实现了微信监控Tensorflow训练,受此启发,我决定开发一个控制keras训练的插件。(控制pytorch、mxnet、caffe交给各位了,动态图类的还可能可以用微信动态定义)
现在已经实现了包括被动监控、主动查询、远程关机/停止训练等多项功能。
效果展示:
与手机微信间的通信主要由littlecodersh/ItChat实现。
欢迎fork这个项目的GitHub:QuantumLiu/wechat_callback,为了方便阅读(添乱)我硬着头皮加了双语注释。
我很惭愧,只做了一点微小的工作,希望能抛砖引玉,得到各位的支持一起完善这个项目。
一、主要功能介绍
实时监控:在每个epoch结束后,自动发送本epoch训练信息以及两张分别代表所有batch和epoch信息的图表至文件传输助手。
主动查询:在训练开始后的任意时刻,发送特定格式的指令,可获得指定查询项的信息。目前支持batch和epoch的各个指标的信息、显卡状态信息。
远程指令:当你觉得训练已经收敛,或者同实验室的人催你停止训练时,优雅地终止训练甚至关机就变得很重要了。keras的fit方法中,可以通过在callback设置
self.model.stop_training = True
来实现在当前epoch结束时终止训练,否则只能Ctrl+c暴力停止。利用本插件,可以使用特殊格式的指令来指定停止epoch、立刻停止训练,甚至关机和取消关机。
原文链接:
https://zhuanlan.zhihu.com/p/25670072?utm_medium=social&utm_source=wechat_timeline