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.3.tar.gz (29.5 kB view details)

Uploaded Source

Built Distribution

hydraflow-0.4.3-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for hydraflow-0.4.3.tar.gz
Algorithm Hash digest
SHA256 bf951cad4b582647eab0d6bab38bae1cfe49dc4ff2c5d5fbb767ffdf30609c12
MD5 8ea55cbd032b13b8aace23faeb3b2ad3
BLAKE2b-256 1214a15c2b202a6c2d69a5ec520b80482dd192d37d73c30626356462e3068b0b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for hydraflow-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 55d82943c2eeded14752b6ea1b59d8e726fae0e5b4245402c7be162e9645b1ef
MD5 43be6e118eb420b1c7a7e7973ff96915
BLAKE2b-256 440e4ca57841e78dbe52d07ca721c27e76ad2b4ea2a6ee12e2652e8555898c2b

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