Skip to main content

Hydraflow integrates Hydra and MLflow to manage and track machine learning experiments.

Project description

Hydraflow

PyPI Version Python Version Build Status Coverage Status

Overview

Hydraflow is a library designed to seamlessly integrate Hydra and MLflow, making it easier to manage and track machine learning experiments. By combining the flexibility of Hydra's configuration management with the robust experiment tracking capabilities of MLflow, Hydraflow provides a comprehensive solution for managing complex machine learning workflows.

Key Features

  • Configuration Management: Utilize Hydra's advanced configuration management to handle complex parameter sweeps and experiment setups.
  • Experiment Tracking: Leverage MLflow's tracking capabilities to log parameters, metrics, and artifacts for each run.
  • Artifact Management: Automatically log and manage artifacts, such as model checkpoints and configuration files, with MLflow.
  • Seamless Integration: Easily integrate Hydra and MLflow in your machine learning projects with minimal setup.

Installation

You can install Hydraflow via pip:

pip install hydraflow

Getting Started

Here is a simple example to get you started with Hydraflow:

import hydra
import hydraflow
import mlflow
from dataclasses import dataclass
from hydra.core.config_store import ConfigStore
from pathlib import Path

@dataclass
class MySQLConfig:
    host: str = "localhost"
    port: int = 3306

cs = ConfigStore.instance()
cs.store(name="config", node=MySQLConfig)

@hydra.main(version_base=None, config_name="config")
def my_app(cfg: MySQLConfig) -> None:
    # Set experiment by Hydra job name.
    hydraflow.set_experiment()

    # Automatically log Hydra config as params.
    with hydraflow.start_run():
        # Your app code below.

        with hydraflow.watch(callback):
            # Watch files in the MLflow artifact directory.
            # You can update metrics or log other artifacts
            # according to the watched files in your callback
            # function.
            pass

# Your callback function here.
def callback(file: Path) -> None:
    pass

if __name__ == "__main__":
    my_app()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hydraflow-0.4.5.tar.gz (29.6 kB view details)

Uploaded Source

Built Distribution

hydraflow-0.4.5-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file hydraflow-0.4.5.tar.gz.

File metadata

  • Download URL: hydraflow-0.4.5.tar.gz
  • Upload date:
  • Size: 29.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for hydraflow-0.4.5.tar.gz
Algorithm Hash digest
SHA256 a419a52ee365041d32ecc52ef9da53cb97740e48341d0a0eaf307ad3a473e605
MD5 22e9649637e709d88ed04a60a1c7c106
BLAKE2b-256 76937eec022a8e1e90ebe9a1cb053f00e10b57c281e6163cd9d6b0ee118a4a5e

See more details on using hashes here.

File details

Details for the file hydraflow-0.4.5-py3-none-any.whl.

File metadata

  • Download URL: hydraflow-0.4.5-py3-none-any.whl
  • Upload date:
  • Size: 23.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for hydraflow-0.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b58b0d1669df7168abeb41c6917fb022a4f1013b4bf103c93a1b65130b105669
MD5 77890b0bf12acea556d952cc86441f05
BLAKE2b-256 e1df18c3da372d591d3bca79acd1bb3f2353de3877aefc118ca3afb4a92095d0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page