我在从h2o中训练自动ml模型时收到以下错误:
H2OServerError: HTTP 500 Server Error:
Server error java.lang.NullPointerException:
Error: Caught exception: java.lang.NullPointerException
Request: None
这就是我初始化h2o:h2o.init(nthreads = -1)
的方式这是我在h2o初始化后得到的结果:
Checking whether there is an H2O instance running at http://localhost:54321 . connected.
H2O_cluster_uptime: 31 mins 51 secs
H2O_cluster_timezone: Asia/Kolkata
H2O_data_parsing_timezone: UTC
H2O_cluster_version: 3.34.0.1
H2O_cluster_version_age: 3 days
H2O_cluster_name: H2O_from_python_rosha_vhyf5v
H2O_cluster_total_nodes: 1
H2O_cluster_free_memory: 2.959 Gb
H2O_cluster_total_cores: 4
H2O_cluster_allowed_cores: 4
H2O_cluster_status: locked, healthy
H2O_connection_url: http://localhost:54321
H2O_connection_proxy: {"http": null, "https": null}
H2O_internal_security: False
H2O_API_Extensions: Amazon S3, Algos, AutoML, Core V3, TargetEncoder, Core V4
Python_version: 3.8.8 final
我是这样训练自动模型的:
aml = H2OAutoML(max_models = 10, max_runtime_secs = 500, stopping_rounds = 5)
aml.train(x = aml_x, y = aml_y, training_frame = train)
我将数据导出并处理为pandas数据框架。所以我用
来改变它train = h2o.H2OFrame(df)
我尝试了堆栈溢出的解决方案,它试图通过将数据分成不同的一半来找到数据中的错误。无论怎么分割,误差都是一样的。解决方案假设在运行代码后立即弹出错误,但在我的情况下,在给出错误之前需要大约4-5秒。
请注意,我有一个大约20万列和20行的大数据集。
我可以确认,当尝试在回归问题上运行automl时,我在版本3.34.0.1上得到了相同的错误。构建GBM不会抛出错误。我将版本降级到3.32.1.7,当运行相同的代码时没有得到错误消息。现在我建议恢复到以前的版本,直到更新发布。