H2O is an Open Source, Distributed, Fast & Scalable Machine Learning Platform: Deep Learning, Gradient Boosting (GBM) & XGBoost, Random Forest, Generalized Linear Modeling (GLM with Elastic Net), K-Means, PCA, Generalized Additive Models (GAM), RuleFit, Support Vector Machine (SVM), Stacked Ensembles, Automatic Machine Learning (AutoML), etc.
As it was already mentioned in [https://h2oai.atlassian.net/browse/PUBDEV-7057|https://h2oai.atlassian.net/browse/PUBDEV-7057|smart-link] there is an argument to be made to include an ONNX converter for H2O models to further increase the useage in an open +environment+. Most machine learning frameworks/libraries now support ONNX, with Tensorflow, Torch, scikit-learn and CoreML being prime examples.
[https://h2oai.atlassian.net/browse/PUBDEV-7217|https://h2oai.atlassian.net/browse/PUBDEV-7217|smart-link] implements a print_mojo function which translates the H2O model to an intermediary JSON representation. This representation is currently being used to convert H2O MOJO models to ONNX [https://github.com/onnx/onnxmltools/blob/main/onnxmltools/convert/h2o/convert.py#L62|https://github.com/onnx/onnxmltools/blob/main/onnxmltools/convert/h2o/convert.py#L62|smart-link] .
Currently only (some) tree-based model types are being supported inside the print_mojo function. For the further model conversion setps I’ve already opened up an Issue on GitHub under [https://github.com/onnx/onnxmltools/issues/542|https://github.com/onnx/onnxmltools/issues/542|smart-link]