【问题标题】:How to generate and save POJO from H2O using Python如何使用 Python 从 H2O 生成和保存 POJO
【发布时间】:2016-12-31 22:00:19
【问题描述】:

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

假设我的模型名为 model_rf。

我试过了:

h2o.save_model(model_rf, path='./pojo_test', force=False)

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

我试过了:

h2o.download_pojo(model_rf, path='./pojo_test_2', get_jar = True)

这给出了错误信息:

IOError: [Errno 2] No such file or directory: u'./pojo_test_2/model_rf.java'

我错过了什么?可能是一个愚蠢的问题,但我一生都无法弄清楚这一点。

【问题讨论】:

    标签: python pojo h2o


    【解决方案1】:

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

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

    h2o.download_pojo(model_rf, path = '/Users/your_user_name/Desktop/', get_jar = True)
    

    您需要替换 your_user_name 的位置(假设您使用的是 mac)

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

         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 时,它将打印出创建新目录的完整路径。请参阅该路径是否与当前目录相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-13
      • 2017-12-21
      • 2019-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多