为什么必须先下载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中,只提到了如何下载mojo模型的R和python:使用h2o.saveModel(R),h2o.save_model(Python)保存H2O二进制模型。
如何在Java中做到这一点?
答案 0 :(得分:3)
为什么将API作为两个函数调用完成?
我怀疑这是有原因的;只是没有人特别需要将这两条线缩减为一条。 (或者,也许是谁写的总是想必要指定参数。)
如果您总是要以这种方式调用这两个函数,特别是如果它在代码中的多个地方发生,那么编写您所描述的包装函数肯定很有意义。
为什么要下载文件?
请记住,即使使用Java客户端,H2O仍作为两个进程运行:客户端和服务器。因此,即使服务器部分在本地主机上运行,它们仍然是完全独立的,没有共享内存。
为什么是zip文件
如果查看mojo文件内部,则会看到很多小的二进制文件。这就是为什么它是一个zip文件:一个可以轻松移动的简单容器。