1 Star 0 Fork 0

w517424787 / angel

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
core_api.md 1.30 KB
一键复制 编辑 原始数据 按行查看 历史

核心接口类


如上图所示,Angel的核心接口类,在Train的过程中,按照调用的流程,大体为:

  1. MLRunner
    • MLRunner根据Conf,从工厂类,创建AngelClient,按照标准的Train流程开始依次调用AngelClient的各接口
  • AngelClient

    • 启动PSServer
    • 在PSServer上进行初始化,加载空白的模型
    • 训练完成后,将模型从多个PSServer,保存到HDFS
  • TrainTask

    • 被AngelClient调用后,开始Train过程
  • DataBlock

    • TrainTask调用parse和preProcess方法,将数据从HDFS中读取,并组装成为多个LabeledData组成的DataBlock
    • TrainTask调用Train方法,创建MLLearner对象,并将DataBlock传给MLLearner
  • MLLearner

    • MLLearner调用自己的Learn方法,读取DataBlock,计算出模型的更新,并通过MLModel中的PSModel,和PSServer进行不停的Push和Pull,最终得到一个完整的MLModel
  • MLModel

    • 根据算法的需要,创建并容纳多个PSModel
  • PSModel

    • 封装了AngelClient中和PSServer的所有通信接口,方便MLLearner调用

了解这些核心类和流程,对基于Angel实现高性能的机器学习算法,将会有不错的帮助。

1
https://gitee.com/517424787/angel.git
git@gitee.com:517424787/angel.git
517424787
angel
angel
master

搜索帮助