Skip to content

Commit

Permalink
README for updated MLflow integration (#47)
Browse files Browse the repository at this point in the history
  • Loading branch information
normandy7 authored Nov 29, 2023
1 parent 57b5999 commit 86cf74c
Showing 1 changed file with 38 additions and 67 deletions.
105 changes: 38 additions & 67 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,90 +1,61 @@
# neptune-mlflow
# Neptune + MLflow integration

> **Note**
>
> _This integration is still being updated for the main Neptune client library. It is currently only available for the Neptune legacy API._
Neptune is a lightweight experiment tracker that offers a single place to track, compare, store, and collaborate on experiments and models.

---
This integration lets you enjoy tracking and reproducibility of MLflow with the organization and collaboration of Neptune. You can have your MLflow experiment runs hosted in a knowledge repo where you can invite and manage project contributors, while not having to change your MLflow logging code.

![mlflow neptune.ai integration](docs/_static/mlflow_neptuneml.png)
Should you wish to switch to Neptune, you can migrate your MLflow data to Neptune with the exporter tool.

## Overview
## What will you get with this integration?

`neptune-mflow` integrates MLflow with Neptune to let you get the best of both worlds.
Enjoy tracking and reproducibility of MLflow with the organization and collaboration of Neptune.
- A **plugin** which you can use to send your MLflow-logged metadata to Neptune with the help of a tracking URI.
- An **exporter** for migrating existing MLflow experiments to your Neptune project.

With `neptune-mlflow` you can have your MLflow experiment runs hosted in a beautiful knowledge repo that lets you invite and manage project contributors.
## Resources

All you need to do is go to your MLflow project and run:
* [Documentation](https://docs.neptune.ai/integrations/mlflow)
* [Code examples on GitHub](https://github.com/neptune-ai/examples/blob/main/integrations-and-supported-tools/mlflow/scripts)
* [Run logged in the Neptune app](https://app.neptune.ai/o/common/org/mlflow-integration/runs/details?viewId=standard-view&detailsTab=metadata&shortId=MLFLOW-515&type=run)
* [Run example in Google Colab](https://colab.research.google.com/github/neptune-ai/examples/blob/main/integrations-and-supported-tools/mlflow/notebooks/Neptune_Mlflow.ipynb)

```
neptune mlflow --project USER_NAME/PROJECT_NAME
```

and you have your experiments organized and easily shareable with the world.

## Documentation

See [neptune-mlflow docs](https://docs-legacy.neptune.ai/integrations/mlflow.html) for more info.

## Get started

### Register

Go to [neptune.ai](https://neptune.ai/?utm_source=github&utm_medium=repository&utm_campaign=integration-mlflow&utm_content=homepage) and sign up.

It is completely free for individuals and non-organizations, and you can invite others to join your team!

### Get your API token

In the bottom-left corner, click your user menu and select **Get your API token**.

### Set NEPTUNE_API_TOKEN environment variable
## Example

Go to your console and run:
On the command line:

```
export NEPTUNE_API_TOKEN='your_long_api_token'
```

### Create your first project

Click **All projects** → **New project**. Choose a name for it and whether you want it public or private.

## Install lib

```bash
pip install neptune-mlflow
```

## Sync your mlruns with Neptune

```bash
neptune mlflow --project USER_NAME/PROJECT_NAME
```

## Explore and Share

You can now explore and organize your experiments in Neptune, and share it with anyone:
Send your MLflow-logged metadata to Neptune (in Python):

* by sending a link to your project, experiment or chart if it is public
* or invite people to your project if you want to keep it private!
```python
import mlflow
from neptune_mlflow_plugin import create_neptune_tracking_uri

## Getting help
# Create a Neptune tracking URI
neptune_uri = create_neptune_tracking_uri(
api_token=ANONYMOUS_API_TOKEN, # Set as environment variable or replace with your own token
project="common/mlflow-integration", # Set as environment variable or replace with your own project
tags=["mlflow", "plugin"], # (optional) use your own
)

If you get stuck, don't worry. We are here to help.
mlflow.set_tracking_uri(neptune_uri)

The best order of communication is:
with mlflow.start_run():
...
```

* [GitHub issues](https://github.com/neptune-ai/neptune-mlflow/issues)
* [Email](mailto:[email protected])
Export existing MLflow runs to Neptune:

## Contributing
```
neptune mlflow --project your-neptune-workspace/your-neptune-project
```

If you see something that you don't like, you are more than welcome to contribute!
## Support

There are many options:
If you got stuck or simply want to talk to us, here are your options:

* Submit a feature request or a bug here, on Github
* Submit a pull request that deals with an open feature request or bug
* Spread the word about Neptune in your community
* Check our [FAQ page](https://docs.neptune.ai/getting_help)
* You can submit bug reports, feature requests, or contributions directly to the repository
* Chat! When in the Neptune application click on the blue message icon in the bottom-right corner and send a message. A real person will talk to you ASAP (typically very ASAP)
* You can just shoot us an email at [email protected]

0 comments on commit 86cf74c

Please sign in to comment.