2016-08-24 5 views
0

Ich habe ein Modell in H2O mit Python erstellt. Ich möchte ein POJO dieses Modells generieren und es speichern.Wie man POJO aus H2O mit Python generiert und speichert

Angenommen, mein Modell heißt model_rf.

Ich habe versucht:

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

Dies ein Verzeichnis „pojo_test“ genannt, die eine ganze Reihe von binären Dateien enthält. Ich möchte jedoch eine Java-Datei, etwas wie model_rf.java, das ist das POJO selbst.

Ich habe versucht:

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

, die die Fehlermeldung gab:

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

Was bin ich? Wahrscheinlich eine dumme Frage, aber ich kann das nicht für mein Leben herausfinden.

Antwort

1

Alles sieht gut aus, es sieht nur so aus, als müssten Sie den verwendeten path ändern.

Verwenden Sie anstelle des Verzeichnisses, das h2o.save_model erstellt wurde, ein Verzeichnis, von dem Sie wissen, dass es existiert und für das Sie den Pfad kennen. Als ersten Test können Sie nur auf Ihrem Desktop speichern, zum Beispiel

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

verwenden, wo Sie your_user_name ersetzen müssen (dies wird vorausgesetzt, Sie einen Mac verwenden)

Hier ist ein Beispiel, das Sie von Grund auf neu versuchen können, (Abschaltung h2o zuerst mit h2o.cluster().shutdown()

 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) 

wieder, wo Sie brauchen your_user_name zu ersetzen (dies wird vorausgesetzt, Sie einen mac verwenden)

(was passiert sein könnte: Es sieht so aus, als ob Sie zum ersten Mal ein H2O-Modell mit h2o.save_model auf dem Datenträger gespeichert haben, an dem Ort, an dem Sie den ursprünglichen h2o-Cluster betrieben haben, ein Verzeichnis (prüfen Sie, ob Sie von verschiedenen Standorten aus einen h2o-Cluster herstellen) und das zweite Mal, als Sie versuchten, das Modell mit download_pojo zu speichern, schaute es auf Ihr aktuelles Verzeichnis und sah, dass "pojo_test2" dort nicht existierte.

Wenn Sie h2o.save_model ausführen, wird der vollständige Pfad zum Erstellen eines neuen Verzeichnisses gedruckt. Sehen Sie, ob dieser Pfad mit Ihrem aktuellen Verzeichnis übereinstimmt.

Verwandte Themen