Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mit-ll-responsible-ai/hydra-zen
Create powerful Hydra applications without the yaml files and boilerplate code.
https://github.com/mit-ll-responsible-ai/hydra-zen
configurable configuration dataclasses deep-learning dynamic-configuration machine-learning machinelearning pytorch pytorch-lightning reproducibility reproducible-science scalable yaml-configuration
Last synced: 3 months ago
JSON representation
Create powerful Hydra applications without the yaml files and boilerplate code.
- Host: GitHub
- URL: https://github.com/mit-ll-responsible-ai/hydra-zen
- Owner: mit-ll-responsible-ai
- License: mit
- Created: 2021-04-02T20:51:10.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-01T17:56:01.000Z (3 months ago)
- Last Synced: 2024-08-02T03:57:16.708Z (3 months ago)
- Topics: configurable, configuration, dataclasses, deep-learning, dynamic-configuration, machine-learning, machinelearning, pytorch, pytorch-lightning, reproducibility, reproducible-science, scalable, yaml-configuration
- Language: Python
- Homepage: https://mit-ll-responsible-ai.github.io/hydra-zen/
- Size: 22.7 MB
- Stars: 305
- Watchers: 6
- Forks: 12
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# hydra-zen
![image](brand/Hydra-Zen_logo_full_filled_bkgrnd_small.png)
A library that facilitates configurable, reproducible, and scalable workflows, using Hydra.
Check out our documentation for more information.
Interested in machine learning? Check out our guide for using PyTorch Lightning with hydra-zen.⚡
hydra-zen is a Python library that simplifies the process of writing code (research-grade or production-grade) that is:
- **Configurable**: you can configure all aspects of your code from a single interface (the command line or a single Python function).
- **Repeatable**: each run of your code will be self-documenting; the full configuration of your software is saved alongside your results.
- **Scalable**: launch multiple runs of your software, be it on your local machine or across multiple nodes on a cluster.**hydra-zen eliminates all hand-written yaml configs from your Hydra project**. It does so by providing functions that [dynamically and automatically](https://mit-ll-responsible-ai.github.io/hydra-zen/api_reference.html#creating-and-working-with-configs) generate dataclass-based configs for your code. It also provides a [custom config-store API](https://mit-ll-responsible-ai.github.io/hydra-zen/api_reference.html#storing-configs) and [task-function wrapper](https://mit-ll-responsible-ai.github.io/hydra-zen/generated/hydra_zen.zen.html#hydra_zen.zen), which help to eliminate most of the Hydra-specific boilerplate from your project.
Learn about hydra-zen [**at a glance**](https://mit-ll-responsible-ai.github.io/hydra-zen/index.html#hydra-zen-at-a-glance).
## Installation
`hydra-zen` is lightweight: its only dependencies are `hydra-core` and `typing-extensions`.```console
pip install hydra-zen
```## Contributing
Before opening a PR to this repo, consider posting an [issue](https://github.com/mit-ll-responsible-ai/hydra-zen/issues) or a [discussion topic](https://github.com/mit-ll-responsible-ai/hydra-zen/discussions) to share your ideas with us. We will work with you to ensure your feature is well-scoped and that your hard work goes to good use.
(See an obvious bug or typo? Go ahead and just open a PR :) )
For further details refer to [these docs](https://github.com/mit-ll-responsible-ai/hydra-zen/blob/main/CONTRIBUTING.md).
## Join the Discussion
Share ideas, ask questions, and chat with us over at [hydra-zen's discussion board](https://github.com/mit-ll-responsible-ai/hydra-zen/discussions).
## Citation
Using `hydra-zen` for your research? Please cite the following publication:
```
@article{soklaski2022tools,
title={Tools and Practices for Responsible AI Engineering},
author={Soklaski, Ryan and Goodwin, Justin and Brown, Olivia and Yee, Michael and Matterer, Jason},
journal={arXiv preprint arXiv:2201.05647},
year={2022}
}
```## Disclaimer
DISTRIBUTION STATEMENT A. Approved for public release: distribution unlimited.
© 2024 MASSACHUSETTS INSTITUTE OF TECHNOLOGY
Subject to FAR 52.227-11 – Patent Rights – Ownership by the Contractor (May 2014)
SPDX-License-Identifier: MIT
This material is based upon work supported by the Under Secretary of Defense for Research and Engineering under Air Force Contract No. FA8702-15-D-0001. Any opinions, findings, conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the Under Secretary of Defense for Research and Engineering.A portion of this research was sponsored by the United States Air Force Research Laboratory and the United States Air Force Artificial Intelligence Accelerator and was accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the United States Air Force or the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints for Government purposes notwithstanding any copyright notation herein.
The software/firmware is provided to you on an As-Is basis