【发布时间】:2023-03-10 23:23:02
【问题描述】:
我正在尝试解决我在使用 h2o.predict 时看到的错误。
这是问题设置:
#If you type class(DL.Model) then output is as follows:
[1] "H2OMultinomialModel"
attr(,"package")
[1] "h2o"
xTest <- as.h2o(xTest) # xTest is data frame in R
DL.pred <- h2o.predict(DL.Model, xTest)
ERROR: Unexpected HTTP Status code: 404 Not Found (url = http://localhost:54321/3/Predictions/models/DeepLearning_model_R_1449882914034_72/frames/file1ca3d488cb1_csv_61.hex_62)
water.exceptions.H2OKeyNotFoundArgumentException
[1] "water.api.ModelMetricsHandler.predict(ModelMetricsHandler.java:209)"
[2] "sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)"
[3] "sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)"
[4] "sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)"
[5] "java.lang.reflect.Method.invoke(Method.java:497)"
[6] "water.api.Handler.handle(Handler.java:64)"
[7] "water.api.RequestServer.handle(RequestServer.java:644)"
[8] "water.api.RequestServer.serve(RequestServer.java:585)"
[9] "water.JettyHTTPD$H2oDefaultServlet.doGeneric(JettyHTTPD.java:617)"
[10] "water.JettyHTTPD$H2oDefaultServlet.doPost(JettyHTTPD.java:565)"
[11] "javax.servlet.http.HttpServlet.service(HttpServlet.java:755)"
[12] "javax.servlet.http.HttpServlet.service(HttpServlet.java:848)"
[13] "org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)"
Error in .h2o.doSafeREST(h2oRestApiVersion = h2oRestApiVersion, urlSuffix = page, :
Object 'DeepLearning_model_R_1449882914034_72' not found in function: predict for argument: model
关于这里可能发生什么的任何指示?我看到另一个question 中存在一些相关的错误消息,但建议的解决方案也无济于事。我使用的是 H2O 版本 3.6.0.8。
如果我们按照here 的建议查看日志,日志的最后七行如下所示:
065c 4861 a7b3 cea6 7505 00bd fd05 0031
0000 0000 0000 0000 0000 0000 0048 0000
0068 326f 6c6f 6773 5f32 3031 3630 3232
385f 3132 3530 3233 2f6e 6f64 6530 5f31
3237 2e30 2e30 2e31 5f35 3433 3231 2e7a
6970 504b 0506 0000 0000 0200 0200 a500
0000 4d76 0500 0000
【问题讨论】:
-
你在当前的 R 会话中训练了这个模型吗?还是使用
h2o.saveModel和h2o.loadModel保存并重新加载?看起来 H2O 找不到 DL 模型。 -
这是一个 MWE:我有多个 h2o 深度学习模型(例如 DL.Model1、DL.Model2、DL.Model3 以供争论),它们在“allModels”列表中可用,如下所示: allModels[[1]]
标签: r runtime-error prediction deep-learning h2o