机器之心报道
Tncnt
深度学习是近些年来人工智能技术发展的核心,伴随而来的机器学习框架平台也层出不穷。到现在,一家科技巨头没有一个主导的机器学习平台都不好意思跟人打招呼,比如谷歌有TnsorFlow、微软有CNTK、Facbook是Torch的坚定支持者、IBM强推Spark、百度开源了PaddlPaddl、亚马逊则是MXNt的支持者。而为了尽可能地获得开发者支持和抢占发展先机,很多平台都选择了开源。
在去年12月18日的腾讯大数据技术峰会暨KDDChina技术峰会上,腾讯大数据宣布推出了面向机器学习的「第三代高性能计算平台」——Angl,并表示将于年开放其源代码,参见机器之心报道《腾讯大数据将开源高性能计算平台Angl,机器之心专访开发团队》。现在,年已经大约过去了一半,Angl1.0.0也终于在GitHub完全发布:
Angl发布 //Asimpllogisticrgrssionmodl valmodl=nwLRModl(ctx,conf) //ApplybatchgradintdscntLRitrativly whil(ctx.gtItrationpochNum){ //PullmodlfromPSSrvr valwight=modl.wight.gtRow(0) //Calculatgradintvctor valgrad=bathGradintDscnt(wight) //PushgradintvctortoPSSrvr modl.wight.incrmnt(grad.timsBy(-1.0*lr)) //LRmodlmatrixclock modl.wight.clock.gt //Incrasitrationnumbr ctx.incItration() }}
3.定义一个Runnr(MLRunnr)
前面,我们定义了LR模型,实现了它的训练过程。现在,还需要实现Runnr类将训练这个模型的任务提交到集群。
定义myLRRunnr类继承MLRunnr,在train方法中提交我们的myLRModl的模型类、和myLRTrainTak训练类就可以了。
classLRRunnrxtndsMLRunnr{ …… ovrrid dftrain(conf:Configuration):Unit={ train(conf,myLRModl(conf),classOf[myLRTrainTask]) } }
运行任务
可以通过以下命令向Yarn集群提交刚刚完成的算法任务
./bin/angl-submit\--action.typtrain\--angl.app.submit.class