This article is by Timothy Lam and originally appeared on the Alteryx Data Science Blog here: https://community.alteryx.com/t5/Data-Science-Blog/Deploy-H2O-Driverless-AI-MOJO-to-Alteryx-Promote/ba-p/489190
H2O Driverless AI is an artificial intelligence platform for automatic machine learning. Here's how to deploy to Promote!
Anaconda Set Up
- Download Anaconda Python 3.7 – this includes programs you’ll need to get started.
- Once installed, run the Anaconda Prompt
- Update PIP: python -m pip install -U pip
- Install Promote package: python -m pip install promote
Download H2O Driverless AI WHL file & Pipeline.MOJO file
H2O.ai allows users to convert the models to a Model ObJect, Optimized (MOJO). Inside the Driverless AI UI, MOJO Scoring Pipeline provides a standalone scoring pipeline that converts experiments to MOJOs, which can be scored in real time.
The MOJO Scoring Pipeline is available as either a pure Java runtime or a C++ runtime (with Python and R wrappers).
- Download DAIMOJO.xxxxxx.whl by clicking MOJO Scoring Pipeline button, then click the same button again in the pop-up menu that appears. There are three versions for Java, Python, or R. Pay attention, don’t download the Java format, but Python wrapper which is in C++ Runtime)
- At last, you should have obtained two files from H2O Driverless AI like below and put it into a folder named “objects.”
Fill in the Alteryx Promote & H2O Driverless AI Credentials
- Log in to your Promote environment: http://promote.demo.alteryx.com / your custom url
- Go to your Account page and obtain your user name and API Key – store these in a file or somewhere easy to access
- Open mojo_deploy.py (Sublime Text, Notepad++, or built-in editor)
- Edit the USERNAME, API_KEY, and PROMOTE_URL information with your information. Recommend copying this section of the code so it’s easy to reuse.
- Update the DRIVERLESS AI LICENSE KEY
- Update the location of whl.file & pipeline.mojo
Deploy the Model
- Now, edit the main.py file and uncomment the deploy method.
- Looking at the instructions from Github, we need to install the requirements.txt file for this model. Type: pip install -r requirements.txt
- Now deploy the model by typing python Mojo_Deploy_Windows.py
- You should now see your model in your Promote environment:
Real-Time Scoring H2O Driverless AI Model
- Click on the model and test it from the web console. Under the Execute tab, copy the Scoring JSON txt into the tab and click run the model. (Note: It requires a line-delimited JSON file (.ldjson for short)
- You can also score sample data using either the Alteryx model, or the model running on Promote.
Appendix: H2O Roadmap
- FTRL will be in 1.7.2 (for C++ MOJO), later will be in Java runtime as well (1.7.3 estimate – end of October)
- RuleFit - so far no plan to include it since it does not provide sufficiently good results when used.
- TF - supported in C++ runtime, java runtime in progress - estimate 1.7.3 (end of October)