【问题标题】:How to specify the H2O version in Sparkling Water?如何在苏打水中指定 H2O 版本?
【发布时间】:2022-01-23 04:28:30
【问题描述】:

在 Databricks 笔记本中,我正在尝试加载针对 H2O 版本 3.30.1.3 进行训练的 H2O 模型。

我已经安装了与用于模型训练的 Spark 版本 (3.0) 相对应的 Sparkling Water 版本,h2o-pysparkling-3.0,这是我从 PyPI 中提取的。

苏打水服务器使用的是最新版本的 H2O,而不是我需要的版本。当我启动苏打水上下文时,也许有一种方法可以指定 H2O 版本?像这样的:

import h2o
from pysparkling import H2OContext
from pysparkling.ml import H2OBinaryModel

hc = H2OContext.getOrCreate(h2o_version='3.30.1.3')
model = H2OBinaryModel.read('s3://bucket/model_file')

我在没有H2OContext.getOrCreate() 参数的情况下运行上面的代码,我得到了这个错误:

IllegalArgumentException: 
 The binary model has been trained in H2O of version
 3.30.1.3 but you are currently running H2O version of 3.34.0.6.
 Please make sure that running Sparkling Water/H2O-3 cluster and the loaded binary
 model correspond to the same H2O-3 version.

苏打水的 Python API 在哪里?如果我能找到我可能能够确定上下文初始化程序是否有 H2O 版本参数,但令人惊讶的是,到目前为止,我无法通过 Google 找到并在文档中四处寻找。

或者这是通过安装特定于 H2O 版本的苏打水版本来处理的?或者也许还有其他相关的配置设置?

【问题讨论】:

    标签: h2o sparkling-water


    【解决方案1】:

    您是否尝试过笔记本范围的库概念?笔记本范围的库允许您创建、修改、保存、重用和共享特定于笔记本的自定义 Python 环境。当您安装笔记本范围的库时,只有当前笔记本和与该笔记本关联的任何作业才能访问该库。连接到同一集群的其他笔记本不受影响。您可以参考:link

    限制:笔记本范围的库不会跨会话持续存在。您必须在每个会话开始时重新安装笔记本范围的库,或者每当笔记本与集群分离时。

    【讨论】:

    • 感谢@Karthikeyan Rasipalay Durairaj 的建议。范围与我本身无关。在您的示例中,您似乎在 install 命令中的 == 之后指定了 H2O 版本,所以我会尝试这个,因为这可能是我正在考虑的机制,而不是在启动 H2OContext 时在代码中指定 H2O 版本.我会试一试并报告(或者只是检查你的答案是否被接受)。无论如何,我感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 2015-09-23
    • 2023-03-29
    • 2019-08-08
    • 1970-01-01
    • 2017-11-15
    • 2018-12-30
    相关资源
    最近更新 更多