OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  H2O 分布式可扩展的企业级机器学习平台与工具集

H2O 分布式可扩展的企业级机器学习平台与工具集

 
  ocean ·  2026-03-05 04:10:10 · 5 次点击  · 0 条评论  

H2O

若本文档或 H2O-3 文档 中未找到您问题的答案,请通过以下渠道提问:

在 GitHub 上提问
在 StackOverflow 上提问
在 Gitter 上提问

H2O 是一个用于分布式、可扩展机器学习的内存计算平台。它支持 R、Python、Scala、Java、JSON 以及 Flow notebook/web 界面等熟悉的接口,并能与 Hadoop 和 Spark 等大数据技术无缝协作。H2O 提供了多种流行算法的实现,包括广义线性模型 (GLM)、梯度提升机(含 XGBoost)、随机森林、深度神经网络、堆叠集成、朴素贝叶斯、广义加性模型 (GAM)、Cox 比例风险模型、K-Means、PCA、Word2Vec,以及全自动机器学习算法 (H2O AutoML)。

H2O 具有可扩展性,开发者可以添加自定义的数据转换和算法,并通过所有客户端进行访问。H2O 模型可以下载并加载到 H2O 内存中进行评分,也可以导出为 POJO 或 MOJO 格式,以便在生产环境中进行极速评分。更多信息请参阅 H2O 用户指南

H2O-3(本仓库)是 H2O 的第三个版本,也是 H2O-2 的继任者。

目录

1. 下载 H2O-3

虽然本文档大部分内容面向自行构建的开发者,但大多数 H2O 用户只需下载并使用预构建版本。如果您是 Python 或 R 用户,最简单的安装方式是通过 PyPIAnaconda(Python)以及 CRAN(R):

Python

pip install h2o

R

install.packages("h2o")

如需获取最新的稳定版、每夜构建版、Hadoop(或 Spark / Sparkling Water)发行版,或独立的 H2O jar 包,请访问:https://h2o.ai/download

更多关于下载和安装 H2O 的信息,请参阅 H2O 用户指南

2. 开源资源

大多数人主要通过以下三到四个开源资源进行互动:GitHub(您已在此)、GitHub issues(用于错误报告和问题跟踪)、Stack Overflow 用于 H2O 代码/软件相关问题,以及 h2ostream(一个 Google 群组/邮件讨论论坛)用于不适合 Stack Overflow 的问题。此外还有一个 Gitter H2O 开发者聊天群组,但出于归档目的和最大化可访问性考虑,我们更倾向于将标准的 H2O 问答放在 Stack Overflow 上进行。

2.1 问题跟踪与功能请求

您可以在我们的 GitHub 仓库中浏览和创建新问题:https://github.com/h2oai/h2o-3

  • 浏览和搜索问题无需登录 Github:
    1. 点击页面顶部的 Issues 标签页
    2. 应用筛选器搜索特定问题
  • 创建一个问题(可以是错误报告或功能请求):

2.2 H2O 资源列表

3. 使用 H2O-3 构件

每个每夜构建都会将 R、Python、Java 和 Scala 构件发布到特定于构建的仓库。特别是,您可以在 maven/repo 目录中找到 Java 构件。

以下是一个使用 h2o-3 作为依赖项的 gradle 构建文件示例片段。请将 x、y、z 和 nnnn 替换为有效数字。

// h2o-3 依赖信息
def h2oBranch = 'master'
def h2oBuildNumber = 'nnnn'
def h2oProjectVersion = "x.y.z.${h2oBuildNumber}"

repositories {
  // h2o-3 依赖
  maven {
    url "https://s3.amazonaws.com/h2o-release/h2o-3/${h2oBranch}/${h2oBuildNumber}/maven/repo/"
  }
}

dependencies {
  compile "ai.h2o:h2o-core:${h2oProjectVersion}"
  compile "ai.h2o:h2o-algos:${h2oProjectVersion}"
  compile "ai.h2o:h2o-web:${h2oProjectVersion}"
  compile "ai.h2o:h2o-app:${h2oProjectVersion}"
}

有关安装每夜构建构件的信息,请参考最新的 H2O-3 前沿每夜构建页面

有关如何使用 Java 构件与 gradle 的完整示例,请参考 h2o-droplets GitHub 仓库

注意:稳定的 H2O-3 构件会定期发布到 Maven Central(点击此处搜索),但可能大大落后于 H2O-3 前沿每夜构建。

4. 构建 H2O-3

开始 H2O 开发需要 JDK 1.8+Node.jsGradlePythonR。我们使用 Gradle wrapper(称为 gradlew)来确保在您的开发目录中安装了最新版本的 Gradle 和其他依赖项。

4.1. 构建前准备

构建 h2o 需要一个正确设置的 R 环境(包含必需的包)和一个包含以下包的 Python 环境:

grip
tabulate
requests
wheel

要安装这些包,您可以使用 pipconda
如果在 Windows 上安装这些包遇到问题,请遵循本指南的 Windows 设置 部分。

(注意:建议使用诸如 VirtualEnv 之类的虚拟环境来安装所有包。)

4.2. 从命令行构建(快速开始)

要从仓库构建 H2O,请执行以下步骤。

方法 1:全新克隆、构建、跳过测试并运行 H2O

# 构建 H2O
git clone https://github.com/h2oai/h2o-3.git
cd h2o-3
./gradlew build -x test

您可能会遇到问题:例如 npm 缺失。安装它:
brew install npm

# 启动 H2O
java -jar build/h2o.jar

# 将浏览器指向 http://localhost:54321

方法 2:全新克隆、构建并运行测试(需要安装可用的 R)

git clone https://github.com/h2oai/h2o-3.git
cd h2o-3
./gradlew syncSmalldata
./gradlew syncRPackages
./gradlew build

注意

  • 运行测试会启动五个测试 JVM 以形成一个 H2O 集群,需要至少 8GB RAM(最好 16GB RAM)。
  • 运行 ./gradlew syncRPackages 在 Windows、OS X 和 Linux 上受支持,强烈推荐但非必需。./gradlew syncRPackages 确保一个完整且一致的环境,包含测试和构建所需的预批准版本的包。这些包可以手动安装,但我们建议设置一个 ENV 变量并使用 ./gradlew syncRPackages。要设置 ENV 变量,请使用以下格式(其中 ${WORKSPACE} 可以是任何路径):

mkdir -p ${WORKSPACE}/Rlibrary export R_LIBS_USER=${WORKSPACE}/Rlibrary

方法 3:拉取、清理、构建并运行测试

git pull
./gradlew syncSmalldata
./gradlew syncRPackages
./gradlew clean
./gradlew build

注意事项

  • 我们建议在每次 git pull 后使用 ./gradlew clean
  • 通过在 Gradle 构建命令行末尾添加 -x test 来跳过测试。测试通常在配备 4 个 CPU(8 个超线程)和 16 GB RAM 的 MacBook Pro 笔记本电脑上运行 7-10 分钟。
  • 每次拉取后不需要同步 smalldata,但如果测试因缺少数据文件而失败,请首先尝试 ./gradlew syncSmalldata 作为故障排除步骤。同步 smalldata 会将数据文件从 AWS S3 下载到您工作区的 smalldata 目录。同步是增量的。请勿提交这些文件。smalldata 目录在 .gitignore 中。如果您不运行任何测试,则不需要 smalldata 目录。
  • 运行 ./gradlew syncRPackages 在 Windows、OS X 和 Linux 上受支持,强烈推荐但非必需。./gradlew syncRPackages 确保一个完整且一致的环境,包含测试和构建所需的预批准版本的包。这些包可以手动安装,但我们建议设置一个 ENV 变量并使用 ./gradlew syncRPackages。要设置 ENV 变量,请使用以下格式(其中 ${WORKSPACE} 可以是任何路径):

mkdir -p ${WORKSPACE}/Rlibrary export R_LIBS_USER=${WORKSPACE}/Rlibrary

方法 4:仅构建文档

./gradlew clean && ./gradlew build -x test && (export DO_FAST=1; ./gradlew dist)
open target/docs-website/h2o-docs/index.html

方法 5:使用 Makefile 构建

Git 仓库的根目录包含一个 Makefile,其中提供了开发中常用构建目标的便捷快捷方式。
要构建 h2o.jar 同时跳过测试和替代组件的构建,请执行:

make

要使用最小化组件构建 h2o.jar,请运行:

make minimal

最小化组件非常适合开发 H2O 机器学习算法。它不捆绑一些重量级依赖项(如 Hadoop),使用它可以节省构建时间以及从 Maven 仓库下载大型库的需求。

4.3. Windows 设置

步骤 1:下载并安装 WinPython

从命令行,通过使用 which python(或 sudo which python)验证 python 是否正在使用新安装的包。使用 WinPython 路径更新环境变量

步骤 2:安装必需的 Python 包:
pip install grip tabulate wheel
步骤 3:安装 JDK

安装 Java 1.8+,并将包含 java.exe 的相应目录 C:\Program Files\Java\jdk1.7.0_65\bin 添加到环境变量的 PATH 中。为确保命令提示符检测到正确的 Java 版本,请运行:

javac -version

CLASSPATH 变量也需要设置为 JDK 的 lib 子文件夹:

CLASSPATH=/<path>/<to>/<jdk>/lib
步骤 4. 安装 Node.js

安装 Node.js,并将安装目录 C:\Program Files\nodejs(必须包含 node.exe 和 npm.cmd)添加到 PATH 中(如果尚未前置)。

步骤 5. 安装 R、必需的包以及 Rtools:

安装 R,并将 bin 目录添加到您的 PATH 中(如果尚未包含)。


安装以下 R 包:

要在 R 会话中安装这些包:

pkgs <- c("RCurl", "jsonlite", "statmod", "devtools", "roxygen2", "testthat")
for (pkg in pkgs) {
  if (! (pkg %in% rownames(installed.packages()))) install.packages(pkg)
}

注意,安装 RCurl R 包需要 libcurl

注意,这些包不涵盖运行测试,仅用于构建 H2O。

最后,安装 Rtools,这是一个命令行工具集合,用于促进 Windows 上的 R 开发。

注意:在 Rtools 安装过程中,

5 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 22 ms
Developed with Cursor