首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python从H2O生成和保存POJO

如何使用Python从H2O生成和保存POJO
EN

Stack Overflow用户
提问于 2016-08-25 00:43:55
回答 1查看 1.4K关注 0票数 0

我有一个用Python在H2O中创建的模型。我想生成该模型的POJO,并保存它。

假设我的模型名为model_rf。

我试过了:

代码语言:javascript
复制
h2o.save_model(model_rf, path='./pojo_test', force=False)

这将创建一个名为"pojo_test“的目录,其中包含一大堆二进制文件。我想要一个类似于model_rf.java的java文件,那就是POJO本身。

我试过了:

代码语言:javascript
复制
h2o.download_pojo(model_rf, path='./pojo_test_2', get_jar = True)

它给出了错误消息:

代码语言:javascript
复制
IOError: [Errno 2] No such file or directory: u'./pojo_test_2/model_rf.java'

我遗漏了什么?这可能是一个愚蠢的问题,但我无论如何也想不出这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-25 01:37:26

一切看起来都很好,只是看起来你需要改变你使用的path

不使用h2o.save_model创建的目录,而是使用已知存在且知道其路径的目录。作为第一个测试,您可以直接保存到桌面,例如使用

代码语言:javascript
复制
h2o.download_pojo(model_rf, path = '/Users/your_user_name/Desktop/', get_jar = True)

你需要更换your_user_name的地方(假设你使用的是mac)

下面是一个可以从头开始尝试的示例(首先使用h2o.cluster().shutdown()关闭h2o

代码语言:javascript
复制
     import h2o
     h2o.init()
     iris_df = h2o.import_file("https://s3.amazonaws.com/h2o-public-test-data/smalldata/iris/iris.csv")
     from h2o.estimators.glm import H2OGeneralizedLinearEstimator
     predictors = iris_df.columns[0:4]
     response_col = "C5"
     train,valid,test = iris_df.split_frame([.7,.15], seed =1234)
     glm_model = H2OGeneralizedLinearEstimator(family="multinomial")
     glm_model.train(predictors, response_col, training_frame = train, validation_frame = valid)
     h2o.download_pojo(glm_model, path = '/Users/your_user_name/Desktop/', get_jar = True)

同样,你需要更换your_user_name (假设你使用的是mac)

(可能发生的情况:第一次使用h2o.save_model将H2O模型保存到磁盘时,在运行原始h2o集群的位置创建了一个目录(检查您是否从不同的位置连接到h2o集群),第二次尝试使用download_pojo保存模型时,它查看了您的当前目录,发现其中不存在'pojo_test2‘。

当您运行h2o.save_model时,它将打印出它创建新目录的完整路径。查看该路径是否与当前目录相同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39128865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档