General informations
Software repository | Latest release | Total downloads |
---|---|---|
Pypi |
Code health
Branch | Tests | Coverage | Documentation | Deployment | Activity |
---|---|---|---|---|---|
develop |
|||||
master |
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:
kedro-mlflow
intends to enhance reproducibility for machine learning experimentation. Withkedro-mlflow
installed, 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
intends to be be an agnostic machine learning framework for people who want to write portable, production ready machine learning pipelines. It offers a convenient API to convert a Kedro pipeline to amodel
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/Galileo-Galilei/kedro-mlflow.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:
- You want to log additional metrics to the run? -> Try
MlflowMetricsDataSet
! - You want to log nice dataviz of your pipeline that you register with
MatplotlibWriter
? -> TryMlflowArtifactDataSet
to log any local files (.png, .pkl, .csv...) automagically! - You want to create easily an API to share your awesome model to anyone? -> See if
pipeline_ml_factory
can fit your needs - You want to do something that is not straigthforward with current implementation? Open an issue, and let's see what happens!
Release and roadmap
The release history centralizes packages improvements across time. The main features coming in next releases are listed on github milestones. Feel free to upvote/downvote and discuss prioritization in associated issues.
Disclaimer
This package is still in active development. We use SemVer principles to version our releases. Until we reach 1.0.0
milestone, breaking changes will lead to <minor>
version number increment, while releases which do not introduce breaking changes in the API will lead to <patch>
version number increment.
The user must be aware that we will not reach 1.0.0
milestone before Kedro does (mlflow has already reached 1.0.0
).
If you want to see how to migrate from one version of kedro-mlflow
to another, see the migration guide.
Can I contribute?
We'd be happy to receive help to maintain and improve the package. Please check the contributing guidelines.
Main contributors
The following people actively maintain, enhance and discuss design to make this package as good as possible. Many thanks to them!