为什么mojo或者pojo需要先下载后阅读?

Why do mojo or pojo need to be downloaded first and read after it?

为什么mojo或者pojo需要先下载后阅读?为什么我不能将它用作 Java 中的中间变量? 我搜了一下例子,发现所有的例子都是这样的:

h2o.down_load(modelName);

URL mojoURL = MojoUtil.class.getResource(modelName);
 MojoReaderBackend reader = MojoReaderBackendFactory.createReaderBackend(mojoURL, MojoReaderBackendFactory.CachingStrategy.MEMORY);
 MojoModel model = ModelMojoReader.readFrom(reader);

我可以使用这样的方法吗:

String modelName = h2o.train_drf(param).getModelName();
MojoModel model = h2o.getMojoModel(modelName);

此外,在文档http://docs.h2o.ai/h2o/latest-stable/h2o-docs/save-and-load-model.html中,只提到了R和python如何下载mojo模型:用h2o.saveModel保存一个H2O二进制模型(R),h2o.save_model (Python).

如何在 java 中完成?

为什么 API 作为两个函数调用完成?

我怀疑这是有原因的;只是没有人特别需要将这两行缩减为一行。 (或者,也许,编写它们的人总是设想必须指定参数。)

如果您总是以这种方式调用这两个函数,尤其是如果它在您的代码中不止一处发生,那么编写您描述的包装函数绝对有意义。

为什么要下载呢?

请记住,即使使用 Java 客户端,H2O 也是 运行 作为两个进程:客户端和服务器。因此,即使服务器部分在本地主机上 运行,它们仍然是完全独立的,没有共享内存。

为什么是zip文件

如果你查看 mojo 文件,你会看到很多小的二进制文件。这就是为什么它是一个 zip 文件:一个可以轻松移动的简单容器。