我是h2o(通过R)的全新使用,现在在使用h2o.automl时遇到了一个问题。这个问题非常类似于另一个线程(R - H20 - ERROR: Unexpected HTTP Status code: 500 Server ERROR),但是抛出的错误消息是不同的-我得到一个javaNullPointerException。
我的R版本是4.1.1,h2o包是最新的(3.34.0.1)
我在下面列出了我的代码片段、错误消息和h2o后面的输出。init命令。
任何帮助都将非常感激!
谢谢堆,基督教
library(h2o)
h2o.init()
url <- "http://h2o-public-test-data.s3.amazonaws.com/smalldata/iris/iris_wheader.csv"
iris <- h2o.importFile(url)
parts <- h2o.splitFrame(iris, 0.8)
train <- parts[[1]]
test <- parts[[2]]
summary(train)
nrow(train)
nrow(test)
mA <- h2o.automl(1:4, 5, train,
max_runtime_secs = 30,
max_models=1)
完整的错误信息如下:
ERROR: Unexpected HTTP Status code: 500 Server Error (url = http://localhost:54321/99/AutoMLBuilder)
java.lang.NullPointerException
[1] "java.lang.NullPointerException"
[2] " water.nbhm.NonBlockingHashMap.putIfMatch(NonBlockingHashMap.java:369)"
[3] " water.nbhm.NonBlockingHashMap.put(NonBlockingHashMap.java:320)"
[4] " ai.h2o.automl.AutoMLSession.getModelingSteps(AutoMLSession.java:76)"
[5] " ai.h2o.automl.ModelingStepsRegistry.getOrderedSteps(ModelingStepsRegistry.java:54)"
[6] " ai.h2o.automl.AutoML.getExecutionPlan(AutoML.java:330)"
[7] " ai.h2o.automl.AutoML.planWork(AutoML.java:359)"
[8] " ai.h2o.automl.AutoML.submit(AutoML.java:395)"
[9] " ai.h2o.automl.AutoML.startAutoML(AutoML.java:80)"
[10] " water.automl.api.AutoMLBuilderHandler.build(AutoMLBuilderHandler.java:15)"
[11] " java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)"
[12] " java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)"
[13] " java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)"
[14] " java.base/java.lang.reflect.Method.invoke(Method.java:568)"
[15] " water.api.Handler.handle(Handler.java:60)"
[16] " water.api.RequestServer.serve(RequestServer.java:470)"
[17] " water.api.RequestServer.doGeneric(RequestServer.java:301)"
[18] " water.api.RequestServer.doPost(RequestServer.java:227)"
[19] " javax.servlet.http.HttpServlet.service(HttpServlet.java:707)"
[20] " javax.servlet.http.HttpServlet.service(HttpServlet.java:790)"
[21] " org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)"
[22] " org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)"
[23] " org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)"
[24] " org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317)"
[25] " org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)"
[26] " org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)"
[27] " org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)"
[28] " org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219)"
[29] " org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)"
[30] " org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)"
[31] " org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)"
[32] " water.webserver.jetty9.Jetty9ServerAdapter$LoginHandler.handle(Jetty9ServerAdapter.java:130)"
[33] " org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)"
[34] " org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)"
[35] " org.eclipse.jetty.server.Server.handle(Server.java:531)"
[36] " org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)"
[37] " org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)"
[38] " org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)"
[39] " org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)"
[40] " org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)"
[41] " org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)"
[42] " org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)"
[43] " org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)"
[44] " org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)"
[45] " org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)"
[46] " org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:762)"
[47] " org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:680)"
[48] " java.base/java.lang.Thread.run(Thread.java:833)"
Fejl i .h2o.doSafeREST(h2oRestApiVersion = h2oRestApiVersion, urlSuffix = page, :
ERROR MESSAGE:
Caught exception: java.lang.NullPointerException
如果问题指向连接问题,则运行h2o.init()命令时得到的结果如下:
R is connected to the H2O cluster:
H2O cluster uptime: 43 minutes 18 seconds
H2O cluster timezone: Europe/Copenhagen
H2O data parsing timezone: UTC
H2O cluster version: 3.34.0.1
H2O cluster version age: 14 days, 20 hours and 2 minutes
H2O cluster name: H2O_started_from_R_csoe0352_kcc786
H2O cluster total nodes: 1
H2O cluster total memory: 3.92 GB
H2O cluster total cores: 12
H2O cluster allowed cores: 12
H2O cluster healthy: TRUE
H2O Connection ip: localhost
H2O Connection port: 54321
H2O Connection proxy: NA
H2O Internal Security: FALSE
H2O API Extensions: Amazon S3, Algos, AutoML, Core V3, TargetEncoder, Core V4
R Version: R version 4.1.1 (2021-08-10)
这是一个已知的错误(我假设你在Windows上)3.34.0.1。请升级到最新的H2O版本,应该可以修复抱歉给你带来了bug!