1. 程式人生 > >機器學習H2O AI框架簡介

機器學習H2O AI框架簡介

1.  H2O框架

優勢:自己實現分散式計算框架,演算法種類全,有深度學習演算法,同時可以通過Sparkling-water將 h2o 和spark 進行完美整合

 

a.底層資料層

底層資料讀取Hdfs資料  s3資料  SQL 資料  noSQL資料

       s3Amazon Simple Storage Service 亞馬遜的雲端儲存結構

       Hive其實就是讀取HDFS

       noSQL:HBase

       HQL是一種類SQL語言,這種語言最終被轉化為Map/Reduce.雖然Hive提供了SQL查詢功能,但是Hive不能夠進行互動查詢--因為它只能夠在Haoop上批量的執行Hadoop 便利全部資料速度慢 老版本不支援更新操作

       Hbase的能夠在它的資料庫上實時執行,而不是執行MapReduce任務在Hbase中,行是key/value對映的集合,這個對映通過row-key來唯一標識。Hbase利用Hadoop的基礎設施,可以利用通用的裝置進行水平的擴充套件。

       Hive可以用來進行統計查詢,HBase可以用來進行實時查詢

b. 計算引擎層

       hadoop  spark 

       在hadoop中使用mapreduce 所起的任務只是Map任務 

       使用sparkling-water將H2O和Spark進行整合

c. 核心運算層

       演算法引擎:深度學習

計算引擎:基於記憶體的MapReduce 使用分散式的fork/join框架(java並行框架) 記憶體管理引擎 :採用列式壓縮ColumnarCompression

d.介面層

              SDK和 REST API

              快速查詢R引擎  毫秒級評分引擎

h2o-3/h2o-docs/src/dev/lifecycle.md

H2OApp vs. H2OClientApp

The main class for Standalone H2O isH2OApp.(class)

H2OApp uses a helper class calledH2OStarter(class)

H2O.configureLogging();
    H2O.registerExtensions();
    // Fire up the H2O Cluster
    H2O.main(args);
    H2O.registerRestApis(relativeResourcePath);
    H2O.finalizeRegistration();

water is from h2o-core and hex is fromh2o-algos.

e  核心元件

   MRTask :Map/Reduce styledistributed computation

                           裡邊有各種mapreduce方法

(Dtask–TAICountedCompleted – countedCompleted – fork/jointask)

  Chunk : ChunkType  ChunkName

2.  H2O中的資料結構

Frame   Frame are only composed of Vecs of the sameVectorGroup

Vec    是由多個Chunck組成 可以平行計算mapreduce  MRtask

         newMRTask{} { final double _mean = vec.mean();

            publicvoid map( Chunk chk ) {

                   for(int row=0; row < chk._len; row++ )

                          if(chk.isNA(row) ) chk.set(row,_mean);

                     }

     }.doAll(vec);

Chunck  1000 –100 0000個element  one cpu

Key    

DKV  分散式Key/values儲存

AST : AbstractSyntax Tree