Search code examples
rh2o

h2o modelling in R


So I'm about to write my master thesis, and doing some data modelling/scoring in R, where I have some issues. I have been given a ReadMe file to follow with older versions of R, but did not seem to work, and therefore I have tried to update R and the code for it. But I have never modelled with h2o in R, and it makes an error when I try to loadmodel from the given code of the author. Can anyone help me with a solution?

I run this code: w2v_model <- h2o.loadModel(w2v_fname)

which results in this error: ERROR: Unexpected HTTP Status code: 400 Bad Request (url = http://localhost:54321/99/Models.bin/)

java.lang.IllegalArgumentException [1] "java.lang.IllegalArgumentException: Found version 3.10.4.6, but running version 3.36.0.2\n\nFor more information visit:\n http://jira.h2o.ai/browse/TN-14" [2] " water.AutoBuffer.checkVersion(AutoBuffer.java:296)"
[3] " water.AutoBuffer.(AutoBuffer.java:277)"
[4] " water.AutoBuffer.(AutoBuffer.java:257)"
[5] " hex.Model.importBinaryModel(Model.java:3192)"
[6] " water.api.ModelsHandler.importModel(ModelsHandler.java:250)"
[7] " java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)"
[8] " java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)"
[9] " java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)"
[10] " java.base/java.lang.reflect.Method.invoke(Method.java:568)"
[11] " water.api.Handler.handle(Handler.java:60)"
[12] " water.api.RequestServer.serve(RequestServer.java:470)"
[13] " water.api.RequestServer.doGeneric(RequestServer.java:301)"
[14] " water.api.RequestServer.doPost(RequestServer.java:227)"
[15] " javax.servlet.http.HttpServlet.service(HttpServlet.java:707)"
[16] " javax.servlet.http.HttpServlet.service(HttpServlet.java:790)"
[17] " org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)"
[18] " org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)"
[19] " org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)"
[20] " org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317)"
[21] " org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)"
[22] " org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)"
[23] " org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)"
[24] " org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219)"
[25] " org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)"
[26] " org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)"
[27] " org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)"
[28] " water.webserver.jetty9.Jetty9ServerAdapter$LoginHandler.handle(Jetty9ServerAdapter.java:130)"
[29] " org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)"
[30] " org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)"
[31] " org.eclipse.jetty.server.Server.handle(Server.java:531)"
[32] " org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)"
[33] " org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)"
[34] " org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)"
[35] " org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)"
[36] " org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)"
[37] " org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)"
[38] " org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)"
[39] " org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)"
[40] " org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)"
[41] " org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)"
[42] " org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:762)"
[43] " org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:680)"
[44] " java.base/java.lang.Thread.run(Thread.java:833)"

Error in .h2o.doSafeREST(h2oRestApiVersion = h2oRestApiVersion, urlSuffix = page, :

ERROR MESSAGE:

Found version 3.10.4.6, but running version 3.36.0.2

For more information visit: http://jira.h2o.ai/browse/TN-14

Thanks in advance.


Solution

  • This is because you cannot use an older model in a newer version of H2O. When you are working with binary models, the version has to be the same.