dora  by facebookresearch

Experiment management framework for Python

Created 4 years ago
302 stars

Top 88.4% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

Dora is an experiment management framework that allows users to define, launch, and monitor complex grid searches for machine learning experiments using pure Python files. It targets researchers and engineers who need to scale their experimentation process, offering features like automatic deduplication, remote job scheduling, and integrated monitoring.

How It Works

Dora expresses experiment configurations and grid searches as Python code, leveraging a Launcher object to define and schedule individual experiments. It automatically generates unique signatures for each experiment based on its arguments, enabling deduplication and seamless resumption of interrupted runs. Dora integrates with argparse and Hydra for argument parsing and supports distributed training setups, including direct integration with PyTorch Lightning.

Quick Start & Requirements

  • Install: pip install -U dora-search (stable) or pip install -U git+https://github.com/facebookresearch/dora#egg=dora-search (bleeding edge).
  • Prerequisites: Python, submitit (for remote execution).
  • See examples folder for usage.

Highlighted Details

  • Grid searches defined as pure Python code with arbitrary logic (loops, conditions).
  • Automatic deduplication of experiments based on signature.
  • Supports local runs (dora run), remote job launching (dora launch), and comprehensive grid management (dora grid).
  • Integrated terminal monitoring and HiPlot support for visualization.
  • git_save option ensures experiments run from a clean, version-controlled clone of the repository.

Maintenance & Community

  • Developed by Facebook Research.
  • Last significant update mentioned in changelog is June 2022.
  • Contribution guidelines and testing setup are provided.

Licensing & Compatibility

  • MIT License.
  • Compatible with commercial use and closed-source linking.

Limitations & Caveats

  • PyTorch Lightning support is noted as deprecated and may only work with older versions.
  • The git_save feature requires the repository to be clean (all files tracked or ignored) for remote jobs.
Health Check
Last Commit

1 year ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 30 days

Explore Similar Projects

Starred by Alex Graveley Alex Graveley(Creator of GitHub Copilot, Dropbox Paper, Mobilecoin, Hackpad), Gregor Zunic Gregor Zunic(Cofounder of Browser Use), and
4 more.

lmnr by lmnr-ai

0.9%
2k
Open-source platform for engineering AI products
Created 1 year ago
Updated 1 day ago
Feedback? Help us improve.