Skip to content

A kedro-plugin for integration of mlflow capabilities inside kedro projects (especially machine learning model versioning and packaging)

License

Notifications You must be signed in to change notification settings

takikadiri/kedro-mlflow

 
 

Repository files navigation


Theme Status
Python Version Python Version
Latest PyPI Release PyPI version
Code quality check Development workflow - Check code quality (lint, test)
master Branch Build Production workflow - Build and deploy package
Documentation Build Documentation
License License
Code Style Code Style: Black

Release

The release history centralizes packages improvements across time. Coming soon:

  • enhanced documentation, especially with detailed tutorials for PipelineML class and advanced versioning parametrisation
  • better integration to Mlflow Projects
  • better integration to Mlflow Model Registry
  • better CLI experience and bug fixes
  • ability to retrieve parameters / re-run a former run for reproducibility / collaboration

What is kedro-mlflow?

kedro-mlflow is a kedro-plugin for lightweight and portable integration of mlflow capabilities inside kedro projects. It enforces Kedro principles to make mlflow usage as production ready as possible. Its core functionalities are :

  • versioning: you can effortlessly register your parameters or your datasets with minimal configuration in a kedro run. Later, you will be able to browse your runs in the mlflow UI, and retrieve the runs you want. This is directly linked to Mlflow Tracking
  • model packaging: kedro-mlflow offers a convenient API to register a pipeline as a model in the mlflow sense. Consequently, you can API-fy or serve your kedro pipeline with one line of code, or share a model with without worrying of the preprocessing to be made for further use. This is directly linked to Mlflow Models

How do I install kedro-mlflow?

Important: kedro-mlflow is only compatible with kedro>0.16.0. If you have a project created with an older version of Kedro, see this migration guide.

kedro-mlflow is available on PyPI, so you can install it with pip:

pip install kedro-mlflow

If you want to use the develop version of the package which is the most up to date, you can install the package from github:

pip install --upgrade git+https://github.com/quantumblacklabs/kedro.git@develop

I strongly recommend to use conda (a package manager) to create an environment and to read kedro installation guide.

Getting started:

The documentation contains:

  • A "hello world" example which demonstrates how you to setup your project, version parameters and datasets, and browse your runs in the UI.
  • A more detailed tutorial to show more advanced features (mlflow configuration through the plugin, package and serve a kedro Pipeline...)

Some frequently asked questions on more advanced features:

Can I contribute?

I'd be happy to receive help to maintain and improve the package. Please check the contributing guidelines.

About

A kedro-plugin for integration of mlflow capabilities inside kedro projects (especially machine learning model versioning and packaging)

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%