WatsonML MLflow deployment plugin
Project description
Mlflow-WatsonML
A plugin that integrates WatsonML with MLflow pipeline.
mlflow_watsonml
enables mlflow users to deploy mlflow pipeline models into WatsonML.
Command line APIs of the plugin (also accessible through mlflow's python package) makes the deployment process seamless.
Installation
Plugin package which is available in pypi and can be installed using
pip install mlflow-watsonml
What does it do
Installing this package uses python's entrypoint mechanism to register the plugin into MLflow's plugin registry. This registry will be invoked each time you launch MLflow script or command line argument.
Authentication
In order to connect to WatsonML, refer to .env.template
Create deployment
The create
command line argument and create_deployment
python
APIs does the deployment of a model built with MLflow to WatsonML.
CLI
mlflow deployments create -t watsonml -m <model-uri> --name <deployment-name> -C "software_spec_type=runtime-22.2-py3.10"
Python API
from mlflow.deployments import get_deploy_client
target_uri = 'watsonml'
plugin = get_deploy_client(target_uri)
plugin.create_deployment(
name=<deployment-name>,
model_uri=<model-uri>,
config={"software_spec_type": "runtime-22.2-py3.10"}
)
Update deployment
Update API can used to modify the configuration parameters such as number of workers, version etc., of an already deployed model. WatsonML will make sure the user experience is seamless while changing the model in a live environment.
CLI
mlflow deployments update -t watsonml --name <deployment name> -C "software_spec_type=runtime-22.1-py3.10"
Python API
plugin.update_deployment(name=<deployment name>, config={"software_spec_type": "runtime-22.1-py3.10"})
Delete deployment
Delete an existing deployment. Exception will be raised if the model is not already deployed.
CLI
mlflow deployments delete -t watsonml --name <deployment name / version number>
Python API
plugin.delete_deployment(name=<deployment name>)
List all deployments
Lists the names of all the models deployed on the configured WatsonML.
CLI
mlflow deployments list -t watsonml
Python API
plugin.list_deployments()
Get deployment details
Get API fetches the details of the deployed model. By default, Get API fetches all the versions of the deployed model.
CLI
mlflow deployments get -t watsonml --name <deployment name>
Python API
plugin.get_deployment(name=<deployment name>)
Run Prediction on deployed model
Predict API enables to run prediction on the deployed model.
For the prediction inputs, DataFrame and JSON formats are supported. The python API supports all of these three formats. When invoked via command line, one needs to pass the json file path that contains the inputs.
CLI
mlflow deployments predict -t watsonml --name <deployment name> --input-path <input file path> --output-path <output file path>
output-path is an optional parameter. Without output path parameter result will be printed in console.
Python API
plugin.predict(name=<deployment name>, df=<prediction input>)
Plugin help
Run the following command to get the plugin help string.
CLI
mlflow deployments help -t watsonml
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mlflow_watsonml-0.10.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 113dac731c158060adc93bdf6e94f338ef868e8cabbae278b8f14ff05f0405d6 |
|
MD5 | 7fa869a16d7bf10d104dbe4b55cfa20e |
|
BLAKE2b-256 | c78c2ad486e50a7eca55475afca55ce69da6e04804435b506eb742e4f306ca16 |