网上博彩论坛
你的位置:网上博彩论坛 > 博彩问答 >

用微信控制深度学习训练中国特色的keras插件

用微信控制深度学习训练中国特色的keras插件

(微信硬广)
现如今,微信已经成为每个中国人接入社会的重要接口,我们用微信在地铁上看鸡汤、在商场使用电子支付、瘫在沙发上刷朋友圈、谈恋(划掉)。总之,微信几乎包办了我们生活中的一切,让人产生一种错觉,在不久的未来手机上只需要装微信一个软件就够了。
为了证明人类社会的下一阶段是微信主义,我们先定一个小目标:用微信控制深度学习训练。
一般来说,想要监控深度学习训练,只能用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、立刻停止训练,甚至关机和取消关机。



二、试一试!
准备工作


git clone https://github.com/QuantumLiu/wechat_callback.git cd wechat_callback
需要用到的库:
itchat,keras,numpy,scipy,matplotlib,_thread(py3)确保nvidia-smi可用,如果windows的cmd里找不到命令,请手动将nvidia-smi.exe所在位置添加进环境变量。
2.运行测试脚本
python wechat_test.py解析:
在wechat_test.py的开头,首先import wechat_utils
import wechat_utils #will login automaticly #wechat_utils.sendmessage()isthe callback class #wechat_utils.sendmessage()是keras的回调类,fit时传入callbacklist 在wechat_utils.py中:
# Automaticly login when imported #在被import时自动登录 #============================================================================== itchat.auto_login(enableCmdQR=0.5,hotReload=True) itchat.dump_login_status()#dump 可以看到,当wechat_utils被import时会调用itchat.auto_login(),不出意外的话,将会在命令行显示二维码,需要使用手机微信扫码登录你的微信账号。



在测试脚本里我使用numpy.random来生成训练数据,搭建了一个多层的FC网络
model = Sequential() model.add(Dense(2048, input_dim=784)) model.add(Activation('relu')) for i in range(9): model.add(Dense(2048)) model.add(Activation('relu')) model.add(Dense(1,activation='sigmoid')) x=np.random.rand(nb_sample,dim) y=np.random.randint(2,size=(nb_sample,1)) 调用插件非常简单,只需要在fit时把wechat_utils.sendmessage()这个keras的Callback类传入Callbacklist。
model.fit(x=train_x,y=train_y,batch_size=batch_size,nb_epoch=60,validation_data=(val_x,val_y),callbacks=[wechat_utils.sendmessage()]) 于是训练开始,手机会收到如下反馈:

我们可以向它发送查询指令,指令一般包括关键词和参数
以获取图表为例,包含以下任意关键词将被识别为获取图表指令:
[u'获取图表','Show me the figure'] 参数则用{}或[]来指定,所有的指令均支持不指定参数,获取图表的默认参数是查询所有信息,例如


‘Show me the figure’触发了指令,{batches}表示查询batches级别信息,[loss hinge]表示查询loss和hinge指标(一般的,同一属性参数用空格隔开)
同理,['GPU','gpu',u'显卡']是gpu状态查询的关键词,用[]指定参数,如图,查询了gpu的显存和温度。GPU参数是根据nvidia-smi的预置参数确定的,全部都是大写,具体可查询属性请看GitHub的readme或者阅读源码。

新增进度查询,关键词[u'进度','Progress']。

默认将保存每个batch的训练日志至本地,可通过制定参数savelog和fexten来指定是否保存日志以及生成的图片、日志、权重文件的后缀名。
wechat_utils.sendmessage(savelog=True,fexten='TEST')
关机指令关键词是[u'关机','Shut down','Shut down the computer',u'别浪费电了',u'洗洗睡吧'],使用{sec}和[name]指定等待时间和保存文件名,文件名不包括.h5。默认保存模型,如果不想保存,可以在消息中包含[u'不保存模型',"don't save"]比如:
Shut down now{120},don't save取消关机只需要包含[u'取消','cancel','aaaa']就可以了,也就是说如果着急的话打一串a发过去也是可以的~


立刻停止训练的关键词是['Stop now',"That's enough",u'停止训练',u'放弃治疗'](《西部世界》看多了)

指定停止epoch的关键词是‘Stop at’,参数可以直接用整数表示,不需要[]。

三、总结
这个项目从有想法算起到写注释、开GitHub、写知乎不过两天半,做的很匆忙也很粗糙,特别是画图的细节和多线程的处理。
我只是一名大一学生(休学ing),水平十分有限,恳请各位多加指点,提高我的姿势水平,如果这个项目能给你带来一点点便利或者灵感,那么我将感到十分荣幸与欣慰。
好了!运行keras代码然后约妹子去看电影吧!
再次感谢@Coldwings的原创创意。

 

热点资讯

相关资讯



Powered by 网上博彩论坛 @2013-2022 RSS地图 HTML地图

网站统计——

  • 谷歌搜索留痕推广
  • 谷歌搜索留痕排名技术
  • 谷歌快速排名
  • 留痕方法
  • 谷歌搜索快速方法
  • google搜索留痕程序
  • 谷歌快速排名
  • 澳门太阳城
  • 最大博彩公司
  • 谷歌搜索关键词排名
  • 搜索留痕程序
  • 谷歌排名出售
  • 谷歌蜘蛛池排名
  • 搜索留痕软件
  • 缅甸果敢赌场
  • 电子游艺规则
  • 谷歌留痕推广
  • google引流程序
  • 谷歌快速排名
  • google引流程序
  • 留痕推广
  • 大西洋城赌场
  • 买球地址
  • 搜索留痕
  • 搜索留痕程序出售
  • 谷歌蜘蛛池排名技术
  • 留痕程序
  • 如何提高google搜索排名
  • 数字币博彩
  • 洗钱方法
  • Google留痕收录
  • 最新谷歌搜索留痕排名
  • 搜索留痕
  • Google留痕收录
  • google搜索留痕
  • 数字币博彩网站
  • 足球投注平台
  • 博彩推广话术
  • 推广引流方法
  • 引流方法
  • 博彩推广话术
  • 网上博彩推广引流
  • 数字币赌场
  • 皇冠现金网
  • 蜘蛛池排名
  • 谷歌蜘蛛池
  • 留痕程序出售
  • google搜索留痕程序
  • 比特币网上赌场
  • 洗钱平台
  • 搜索留痕
  • 博彩推广方式
  • 网上博彩推广
  • 快速排名
  • 搜索留痕程序
  • bbin平台大全
  • 体育博彩公司排名
  • 留痕排名技术
  • 最新谷歌关键词排名
  • 推广渠道
  • 谷歌快速排名
  • 博彩推广
  • 世界杯赌球地址
  • 皇冠博彩公司
  • 谷歌排名出售
  • 博彩引流渠道
  • 搜索留痕程序
  • google搜索留痕
  • 引流渠道
  • 果敢网上赌场
  • 世界杯赌球
  • 搜索留痕方法
  • 博彩搜索留痕
  • 博彩引流
  • 博彩引流
  • 搜索留痕
  • 缅甸网上赌场
  • 欧洲杯赌球
  • 谷歌搜索排名
  • 留痕程序
  • 网上博彩推广引流
  • 留痕技术
  • 搜索留痕技术出售
  • 澳门威尼斯人网上赌场
  • 外围博彩
  • 博彩网站推广
  • 推广引流
  • 留痕程序出售
  • 谷歌推广引流技术
  • 推广引流方法
  • 美国在线赌场
  • 沙巴体育投注平台
  • 最新谷歌搜索留痕
  • 谷歌蜘蛛池排名技术
  • 网站推广方法
  • 留痕程序出售
  • 博彩推广方法
  • 菠菜论坛
  • 买球平台
  • 谷歌搜索留痕
  • 蜘蛛池排名
  • 博彩公司推广渠道
  • 谷歌搜索留痕
  • 博彩公司推广渠道
  • 真钱游戏
  • 网上赌球地址
  • 赌球平台推荐
  • 赌球网址
  • 博彩包网
  • 买球app
  • 澳门博彩公司
  • 威尼斯人赌场
  • 博彩平台推荐
  • 美国博彩网站
  • 缅甸实体赌场
  • 柬埔寨网上赌场
  • 柬埔寨在线赌场
  • 韩国博彩
  • 支持人民币的博彩公司
  • 世界五大比特币交易所
  • 欧易是哪个国家的
  • 中币跑路
  • 亚洲博彩公司
  • 合法网上赌场
  • 马尼拉赌场
  • 支持人民币的博彩公司
  • 大陆博彩平台
  • 澳门新葡京娱乐城
  • 老挝赌场
  • 世界赌场排名
  • 网上博彩公司排行
  • 菠菜论坛
  • 东南亚赌博网站
  • 虚拟币博彩
  • 澳门百家乐网址
  • 网上博彩导航
  • 区块链百家乐游戏
  • 马来西亚博彩公司
  • 越南赌场
  • 区块链百家乐
  • 香港娱乐场
  • 澳大利亚赌博网站
  • 足球赔率
  • 菲律宾网上赌场
  • 数字币博彩网站
  • 足球投注网站
  • 百家乐论坛
  • 皇冠体育博彩公司
  • 网上赌博网站
  • 网上博彩推广话术
  • 谷歌搜索快速方法
  • 网上博彩推广话术
  • 数字币赌场
  • 皇冠博彩公司
  • 世界杯博彩公司
  • 英国博彩公司
  • 网上博彩合法化
  • 新加坡赌场
  • 比特币网上赌场
  • 怎么洗钱
  • 加密货币博彩平台
  • 世界杯赌球网址
  • 网上赌球地址
  • 博彩推广方式
  • 印度尼西亚博彩公司
  • 国际包网
  • bbin平台直营
  • 亚洲体育博彩平台
  • 越南博彩公司
  • 百家乐路单
  • 澳门博彩官网
  • 博彩网推荐
  • 澳门太阳城网址
  • 百家乐网址
  • 世界杯赌球网址
  • 皇冠博彩网址
  • 洗钱方法
  • 买球网站
  • 欧洲杯赌球平台
  • 皇冠现金网
  • 外围赌球平台
  • 果敢赌场
  • 买球技巧
  • 全球最大博彩公司
  • 电子游艺
  • 真人电子游戏
  • 骰宝游戏规则
  • 亚洲体育博彩平台
  • 澳门在线赌场
  • 缅甸赌场地址
  • 赌球平台
  • 赌场如何赢钱
  • 世界杯买球网站
  • 真人牌九游戏
  • 世界杯买球官网
  • 时时彩平台
  • 六合彩预测
  • 威尼斯人网上赌场
  • 外围赌球网站
  • 赌博网址
  • 彩票群
  • 微信赌博群
  • 韩国首尔赌场
  • 赌钱游戏
  • 美国网上赌场
  • bbin官网
  • 沙巴体育官网
  • 博彩平台推荐
  • 数字币博彩网站
  • 比特币网上赌场
  • 世界赌场名单
  • 美国赌场攻略
  • 菠菜论坛排名
  • 菠菜论坛排名
  • 缅甸网上赌场
  • 支持人民币的博彩公司