-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
README for updated MLflow integration (#47)
- Loading branch information
Showing
1 changed file
with
38 additions
and
67 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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] |