POSTED ON OCTOBER 3, 2019 TO AI RESEARCH, ML APPLICATIONS, OPEN SOURCE
Hydra: A framework that simplifies development of complex applications
By Omry Yadan
What it is:
Hydra is a lightweight framework that simplifies the development of Python applications, especially complex ones, by introducing the ability to compose and override configurations. Hydra makes it easier to add functionality to projects to accommodate new use cases and requirements without having to rewrite significant portions of code. Hydra also dramatically reduces the need for some forms of boilerplate code that are common in complex applications, such as defining command-line flags, manipulating configuration files, and configuring logging. Hydra’s flexible approach to developing, creating, and maintaining code and configurations can help speed the development of complex applications in various fields, including machine learning research.
What it does:
Hydra offers an innovative approach to composing an application’s configuration, allowing changes to a composition through configuration files as well as from the command line. This addresses challenges that can arise when modifying a config, such as having to maintain many slightly different copies of a configuration, or adding custom logic to override individual configuration values. Hydra eliminates those problems by allowing a configuration to be composed and overridden just before the application runs.
The framework’s other features include:
All these capabilities address common challenges when engineering complex applications. Hydra speeds development of such applications while reducing the chances of bugs, and it enables code to evolve more naturally in response to new requirements.
Why it matters:
Hydra is already in use at Facebook to prototype complex research projects. We expect to continue using the Hydra framework for building and running research code at the company. But code inflexibility is a widespread challenge, and by open-sourcing Hydra we hope that the wider industry uses it to accelerate the development of research code and complex applications that are adaptive to new requirements and generally improve researcher and developer efficiency. Hydra is available to use now, and its pluggable architecture allows for future support for additional features, whether through internal development or community-driven efforts.
Get it on Github:
Hydra
TAGS:      OPEN SOURCE IN BRIEF
Prev
MaRS: How Facebook keeps maps current and accurate
Next
Releasing a new benchmark and data set for evaluating neural code search models
Read More in Open SourceView All
JUL 15, 2021
Fully Sharded Data Parallel: faster AI training with fewer GPUs
JUN 21, 2021
Meet Kats — a one-stop shop for time series analysis
APR 29, 2021
A brief history of Rust at Facebook
FEB 5, 2021
Open-sourcing Thrift for Haskell
DEC 30, 2020
2020 year in review: Connectivity innovations, faster apps, and progress toward net zero
DEC 14, 2020
Infer powering Microsoft’s Infer#, a new static analyzer for C#
Related Posts
Jul 12, 2019
Hermes: An open source JavaScript engine optimized for mobile apps, starting with React Native
Mar 21, 2019
Open-sourcing Python Test Runner for multiple tests in parallel
Jun 20, 2019
Facebook’s open source browser contributions
Related Positions
Applied Research Manager (Mobile Vision Zurich)
ZURICH, SWITZERLAND
Software Engineering Manager - FRL Research
REDMOND, US
Research Manager, AI - Language Representations
MENLO PARK, US
Research Manager - Theorem Proving
PARIS, FRANCE
Research Engineer - HCI Platform Architecture | ingénieur/ingénieure d’études - Architecture de plateforme pour l’interaction personne-machine
TORONTO, CANADA
See All Jobs
Facebook © 2021
About​Careers​Privacy​Cookies​Terms​Help
To help personalize content, tailor and measure ads, and provide a safer experience, we use cookies. By clicking or navigating the site, you agree to allow our collection of information on and off Facebook through cookies. Learn more, including about available controls: Cookies Policy
Facebook EngineeringOpen SourceFacebook Open SourceAndroidiOSWebCore DataData InfrastructureDevInfraProduction EngineeringSecurityConnectivityData Center EngineeringNetworking & TrafficVideo EngineeringVirtual RealityResearch PublicationsML ApplicationsAI ResearchResearch PublicationsWatch Videos