Neptune-MLflow Integration

What will you get with this integration?

Neptune-MLflow is an open source project curated by Neptune team that enables MLflow experiment runs to be hosted on Neptune.

The integration lets you enjoy the best of both worlds: the tracking and reproducibility of MLflow with the organization and collaboration of Neptune. With Neptune, you can push the following MLrun objects to a Neptune experiment:

  • experiment id

  • experiment name

  • run id

  • run name

  • metrics

  • parameters

  • artifacts

  • tags

Note

This integration is tested with neptune-client==0.4.132, neptune-mlflow==0.2.5 and mlflow==1.12.1

Quickstart

This quickstart will show you how to:

  • Install the necessary Neptune packages

  • Convert MLruns directory of experiment runs into Neptune experiments.

Before you start

  1. Ensure that you have Python 3.x and following libraries installed:

    pip install --quiet mlflow neptune-mlflow
    
  2. You also need minimal familiarity with Mlflow. Have a look at the MLflow Quickstart guide to get started.

Step 1: Set your NEPTUNE_API_TOKEN

Linux/iOS:

export NEPTUNE_API_TOKEN='YOUR_API_TOKEN'

Windows:

set NEPTUNE_API_TOKEN="YOUR_API_TOKEN"

Tip

Read more about how to securely set the Neptune API token.

Step 2: Convert your MLruns to Neptune experiments

Navigate to the MLflow project in your directory and run:

neptune mlflow --project USER_NAME/PROJECT_NAME

Alternatively, you can point to the MLflow project directory:

neptune mlflow /PATH/TO/MLflow_PROJECT --project USER_NAME/PROJECT_NAME

Tip

You can also set the project qualified name in the NEPTUNE_PROJECT environment variable and skip the --project argument

Linux/macOS:

export NEPTUNE_PROJECT='USER_NAME/PROJECT_NAME'

Windows:

set NEPTUNE_PROJECT="USER_NAME/PROJECT_NAME"

That’s it! You can now browse and collaborate on your MLflow runs in Neptune.

Organize MLflow experiments in Neptune Compare MLflow experiments in Neptune

Remember that you can try it out with zero setup: