【问题标题】:Error loading an H2O model and then predict加载 H2O 模型然后预测时出错
【发布时间】:2017-08-22 12:12:39
【问题描述】:

我能够保存一个 H2O 模型,再次加载它然后显示它...

# save the model
model_path_2 = h2o.save_model(model=my_xgboost_2, path="tmp/mymodel", force=True)
print (model_path_2)

>>>/home/dell/Documents/Enigma/tmp/mymodel/XGBoost_model_python_1503367354328_27

# load the model
saved_model_2 = h2o.load_model(model_path_2)

但我不能用它来预测。

saved_model_2.predict(test)

    >>>xgboost prediction progress: | (failed)
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-100-fa76fd498ee6> in <module>()
----> 1 saved_model_2.predict(test)

/home/dell/anaconda3/lib/python3.6/site-packages/h2o/model/model_base.py in predict(self, test_data)
    130         j = H2OJob(h2o.api("POST /4/Predictions/models/%s/frames/%s" % (self.model_id, test_data.frame_id)),
    131                    self._model_json["algo"] + " prediction")
--> 132         j.poll()
    133         return h2o.get_frame(j.dest_key)
    134 

/home/dell/anaconda3/lib/python3.6/site-packages/h2o/job.py in poll(self, verbose_model_scoring_history)
     75             if (isinstance(self.job, dict)) and ("stacktrace" in list(self.job)):
     76                 raise EnvironmentError("Job with key {} failed with an exception: {}\nstacktrace: "
---> 77                                        "\n{}".format(self.job_key, self.exception, self.job["stacktrace"]))
     78             else:
     79                 raise EnvironmentError("Job with key %s failed with an exception: %s" % (self.job_key, self.exception))

OSError: Job with key $03017f00000132d4ffffffff$_927b7278904ecf169173d48a23de4c10 failed with an exception: java.lang.NullPointerException
stacktrace: 
java.lang.NullPointerException

但是,我可以在不保存模型的情况下对其进行预测。我在 Ubuntu 16.04 上使用 Python 3.6.1 和 H2O 3.14.0.1。

【问题讨论】:

    标签: h2o


    【解决方案1】:

    这是一个带有 H2O 的 XGBoost 实现的known issue,应该很快就会修复。它不会影响其他 H2O 模型。

    【讨论】:

    • 我还观察到带有 xgboost 的 nfolds 失败,当我连续训练多个模型时(使用不同的验证集种子代替交叉验证),模型给出了奇怪的结果(所有指标都将等于 0.5)。这也是已知的 XGBoost 问题吗?
    • 上述保存和加载模型的问题是否已在夜间前沿修复?
    • 对于第一个问题,您能提供一个可重现的示例并提交 JIRA 票吗?这听起来像一个错误。保存/加载问题已经解决,但它是一个高优先级项目,所以应该很快就会修复。
    猜你喜欢
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多