H2O学习笔记(一)—— H2O概述

H2O框架简介

H2O是开源的,分布式的,基于内存的,可扩展的机器学习和预测分析框架,适合在企业环境中构建大规模机器学习模型。

H2O核心代码使用Java编写,数据和模型通过分布式 Key/Value 存储在各个集群节点的内存中。H2O的算法使用Map/Reduce框架实现,并使用了Java Fork/Join框架来实现多线程。

H2O目前支持的机器学习算法有DRF,GBM,GLM,GLRM,Kmeans,NB,PCA,Deep Learning,所以目前来看支持的模型还不是很多。

H2O软件栈:

H2O学习笔记(一)—— H2O概述_第1张图片

架构图最上层表示与H2O通信的Rest API客户端,它们之间通过socket连接。最下层表示可以运行JVM 进程的基础架构。中间灰色部分是用户的一些算法。

H2O读取数据

1.R用户调用importFile()函数
H2O学习笔记(一)—— H2O概述_第2张图片

2.R客户端告诉集群要读数据
H2O学习笔记(一)—— H2O概述_第3张图片

3.以分布式H2O Frame的格式从HDFS返回数据
H2O学习笔记(一)—— H2O概述_第4张图片

CPU管理

job:创建一个任务就是一个job
MRTask: H2O基于内存的Map/Reduce任务,与hadoop Map/Reduce任务稍有不同
Fork/Join:task执行框架

Memory管理

Fluid Vector Frame:暴露给用户的基本数据单元
Distributed K/V store:在集群中通过此种方式存储
Non-blocking Hash Map:在K/V实现中使用

你可能感兴趣的:(H2O,深度学习,机器学习,机器学习,H2O学习笔记,深度学习)