{"id":27251637,"url":"https://github.com/voxel51/fiftyone_mlflow_plugin","last_synced_at":"2025-06-26T12:34:25.778Z","repository":{"id":225399420,"uuid":"764956419","full_name":"voxel51/fiftyone_mlflow_plugin","owner":"voxel51","description":"Track model training experiments with MLflow and FiftyOne!","archived":false,"fork":false,"pushed_at":"2024-03-20T16:05:24.000Z","size":153,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-11T01:11:37.656Z","etag":null,"topics":["computer-vision","data-curation","experiment-tracking","fiftyone","fiftyone-datasets","mlflow"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/voxel51.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-02-29T02:29:28.000Z","updated_at":"2025-02-27T18:04:24.000Z","dependencies_parsed_at":"2024-03-18T05:26:33.082Z","dependency_job_id":"aabb3523-0da3-4f43-8a22-a564b3b39c7e","html_url":"https://github.com/voxel51/fiftyone_mlflow_plugin","commit_stats":null,"previous_names":["jacobmarks/mlflow","jacobmarks/fiftyone_mlflow_plugin"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/voxel51/fiftyone_mlflow_plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxel51%2Ffiftyone_mlflow_plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxel51%2Ffiftyone_mlflow_plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxel51%2Ffiftyone_mlflow_plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxel51%2Ffiftyone_mlflow_plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voxel51","download_url":"https://codeload.github.com/voxel51/fiftyone_mlflow_plugin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxel51%2Ffiftyone_mlflow_plugin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262068632,"owners_count":23253842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-vision","data-curation","experiment-tracking","fiftyone","fiftyone-datasets","mlflow"],"created_at":"2025-04-11T01:11:30.300Z","updated_at":"2025-06-26T12:34:25.755Z","avatar_url":"https://github.com/voxel51.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MLflow Experiment Tracking Plugin for FiftyOne\n\nTraining models is hard, and bridging the divide between data and models is even harder.\nFortunately, the right tooling can make data-model co-development a whole lot easier.\n\nThis plugin integrates [FiftyOne](https://docs.voxel51.com/) with [MLflow](https://mlflow.org/) to provide a seamless experience for tracking, visualizing, and comparing your datasets and models.\n\n## What is FiftyOne?\n\n[FiftyOne](https://docs.voxel51.com/) is an open-source tool for data exploration and debugging in computer vision. It provides a powerful Python API for working with datasets, and a web-based UI for visualizing and interacting with your data.\n\n## What is MLflow?\n\n[MLflow](https://mlflow.org/) is an open-source platform for the complete machine learning lifecycle. It provides tools for tracking experiments, packaging code into reproducible runs, and sharing and deploying models.\n\n## What does this plugin do?\n\nThis plugin helps you to connect your MLflow model training experiments (and runs) to your FiftyOne datasets for enhanced tracking, visualization, model comparison, and debugging!\n\nYou can use this plugin to:\n\n- Connect your MLflow experiments and runs to your FiftyOne datasets\n- Visualize the MLflow dashboard right beside your FiftyOne dataset in the FiftyOne App\n- Get helpful information about your MLflow runs and experiments in the FiftyOne App\n\n## Installation\n\nFirst, install the dependencies:\n\n```bash\npip install -U fiftyone mlflow\n```\n\nThen, download the plugin:\n\n```bash\nfiftyone plugins download https://github.com/voxel51/fiftyone_mlflow_plugin\n```\n\n## Usage\n\nHere is a basic template for using the plugin.\n\nFirst, set your tracking URI as an environment variable:\n\n```bash\nexport MLFLOW_TRACKING_URI=\"http://localhost:5000\"\n```\n\nNext, start the MLflow server:\n\n```bash\nmlflow server --host 127.0.0.1 --port 5000\n```\n\nLoad a FiftyOne dataset, and the `log_mlflow_run` operator:\n\n```python\nimport fiftyone as fo\nimport fiftyone.operators as foo\nimport fiftyone.zoo as foz\n\ndataset = foz.load_zoo_dataset(\"quickstart\")\n\nlog_mlflow_run = foo.get_operator(\"@voxel51/mlflow/log_mlflow_run\")\n```\n\nRun your experiment, and log the MLflow run to your FiftyOne dataset:\n\n```python\nexperiment_name = \"\u003cyour-experiment-name-here\u003e\"\nrun_name = \"\u003cyour-run-name-here\u003e\"\nlabel_field = \"\u003cyour-label-field-here\u003e\"  ## if you have predictions associated with your run\n\nlog_mlflow_run(\n    dataset, experiment_name, run_name=run_name, predictions_field=label_field\n)\n```\n\nIn the FiftyOne App, you can now visualize your MLflow runs and experiments right beside your dataset\nusing the `show_mlflow_run` operator, which will open the MLflow dashboard within the app\n(or change the state of the tab if it is already open), opening an iframe directly to the\nchosen experiment (and optionally run)!\n\nYou can also get summary information about your MLflow runs and experiments using the `get_mlflow_experiment_info` operator.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxel51%2Ffiftyone_mlflow_plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoxel51%2Ffiftyone_mlflow_plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxel51%2Ffiftyone_mlflow_plugin/lists"}