空指针异常读取h2o Mojo Zip

时间:2018-07-22 21:26:39

标签: java nullpointerexception data-science h2o

我正在尝试编写Java包装器以使用我的h2o mojo模型。当我加载模型zip文件时,会收到一个空指针异常。下面是我的代码示例:

public static void main(String[] args) throws Exception {
    EasyPredictModelWrapper predict_model = new EasyPredictModelWrapper(
      MojoModel.load("prediction_football_model.zip"));
    EasyPredictModelWrapper class_model = new EasyPredictModelWrapper(
      MojoModel.load("classification_football_model.zip"));   
  }

和错误消息:

Exception in thread "main" java.lang.NullPointerException: entry
    at java.util.zip.ZipFile.getInputStream(ZipFile.java:346)
    at hex.genmodel.ZipfileMojoReaderBackend.getTextFile(ZipfileMojoReaderBackend.java:18)
    at hex.genmodel.ModelMojoReader.parseModelInfo(ModelMojoReader.java:154)
    at hex.genmodel.ModelMojoReader.readFrom(ModelMojoReader.java:27)
    at hex.genmodel.MojoModel.load(MojoModel.java:35)
    at GamePrediction.main(GamePrediction.java:52)

我一直在eclipse中处理此代码,并将两个zip文件都放在主项目文件夹中。我使用h2o.download_mojo()函数在R中创建了模型。我查看了错误消息,发现给定路径的ZipEntry为Null,但是找不到解决方案。

任何帮助或见解都会有所帮助。我找不到其他类似的问题,因此,如果这是重复的问题,请指出正确的方向!

1 个答案:

答案 0 :(得分:0)

我遇到了同样的错误并已解决。

就我而言,mojo 运行时文件有问题。我使用的是 1.8.1.1,并且在该版本的时候发现了一个错误。我只是用最新的文件替换了该文件。然后一切都像魅力一样。

这是文件的链接。请注意,这对您来说可能不是最新的。 https://s3.amazonaws.com/artifacts.h2o.ai/releases/ai/h2o/mojo2-runtime/2.5.9/any/mojo2-runtime-2.5.9-all.jar