Initialize your Kedro project#

This section assume that you have installed kedro-mlflow in your virtual environment.

Create a kedro project#

This plugin must be used in an existing kedro project. If you do not have a kedro project yet, you can create it with kedro new command. See the kedro docs for a tutorial.

If you do not have a real-world project, you can use a kedro example and follow the “Quickstart in 1 mn” example to make a demo of this plugin out of the box.

Activate kedro-mlflow in your kedro project#

In order to use the kedro-mlflow plugin, you need to setup its configuration and declare its hooks.

Setting up the kedro-mlflow configuration file#

kedro-mlflow is configured through an mlflow.yml file. The recommended way to initialize the mlflow.yml is by using the kedro-mlflow CLI, but you can create it manually.

Note

Since kedro-mlflow>=0.11.2, the configuration file is optional. However, the plugin will use default mlflow configuration. Specifically, the runs will be stored in a mlruns folder at the root fo the kedro project since no mlflow_tracking_uri is configured.

Set the working directory at the root of your kedro project:

cd path/to/your/project

Run the init command :

kedro mlflow init

you should see the following message:

'conf/local/mlflow.yml' successfully updated.

Note: you can create the configuration file in another kedro environment with the --env argument:

kedro mlflow init --env=<other-environment>

Declaring kedro-mlflow hooks#

kedro_mlflow hooks implementations must be registered with Kedro. There are 2 ways of registering hooks.

Important

You must register the hook provided by kedro-mlflow (the MlflowHook) to make the plugin work.

If you use kedro>=0.16.4, kedro-mlflow hooks are auto-registered automatically by default without any action from your side. You can disable this behaviour in your settings.py file.

If you have turned off plugin automatic registration, you can register its hooks manually by adding them to settings.py:

# <your_project>/src/<your_project>/settings.py
from kedro_mlflow.framework.hooks import MlflowHook

HOOKS = (MlflowHook(),)