Skip to main content

alt text

Documentation Status GitHub latest commit Maintainer

DRAGON, for DiRected Acyclic Graphs OptimizatioN, is an open source Python package for the optimization of Deep Neural Networks Hyperparameters and Architecture [1]. DRAGON is not a no code package, but you can get familiar with it quickly thanks to the Documentation.

Key Features

  • A flexible seach space

    • The search space based on Directed Acyclic Graphs (DAGs) where the nodes can be any PyTorch layer (custom or not) and the edges are the connections between them.
    • The code to implement the DAGs-based search space was inspired by the zellij package developed for hyperparameters optimization.
    • DRAGON search space includes cell-based search spaces [4]_.
  • Flexible optimization algorithms

    • The search algorithms defined in DRAGON are based on search operators used to modify elements of the search space (e.g., mutations, neighborhoods, crossover), which can be used to develop new search algorithms.
    • Efficient algorithms are also implemented in DRAGON such as the Random Search, Evolutionary Algorithm, Mutant UCB, and HyperBand.
  • Applications to various tasks

    • The flexibility of DRAGON makes it usable for various applications.
    • For example: image classification, time series forecasting, electricity consumption forecasting, wind power forecasting or tabular data.
  • Easy parallelization over multiple GPUs

    • The distributed version requires a MPI library, such as MPICH or Open MPI and is based on mpi4py.

Basic Concepts

  • The Search Space is a mix-variable search space. Numerical, categorical and graph objects may be jointly optimized. Each object is associated with a variable, which defines what values an object can take.
  • Base on this search space, several Search Operators are defined, showing how the objects can be manipulate to find the neighboring values.

Install DRAGON

Basic version

After cloning the git repository, install DRAGON, using:

 pip install dragon-autodl==1.0

Distributed version

If you plan on using the distributed version, you have to install the mpi4py package:

 pip install mpi4py

or

 pip install dragon-autodl[mpi]

Documentation

Additional dependencies are required to run the documentation notebooks:

 pip install dragon-autodl[docs]

Dependencies

Contributors

Design

References

[1] Keisler, J., Talbi, E. G., Claudel, S., & Cabriel, G. (2024). An algorithmic framework for the optimization of deep neural networks architectures and hyperparameters. Journal of Machine Learning Research.

Metadata

Release files for dragon-autodl 1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dragon-autodl 1.1
File Size Uploaded Provenance
dragon_autodl-1.1.tar.gz 55.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for dragon-autodl 1.1
File Interpreter ABI Platform
dragon_autodl-1.1-py3-none-any.whl Python 3 none any Details

Total release size: 120.8 kB

Release files / dragon_autodl-1.1.tar.gz

Download URL dragon_autodl-1.1.tar.gz
Size 55.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7f4a6493f7d0cc9d51e8e91b41eb979a014e1e2e52b4473a078003b3742da9c9
BLAKE2b-256 checksum
How to use checksums
6dc2e1a98a3f8c0a9eeabe6084c4b8255ad993723f822bb56f0aeca665a64298
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.10.15

Release files / dragon_autodl-1.1-py3-none-any.whl

Download URL dragon_autodl-1.1-py3-none-any.whl
Size 65.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
15251dbbdc2a13608cd9476e50e931210e95ea1ef9e7796f7055e44297789035
BLAKE2b-256 checksum
How to use checksums
cca897e84261fc5fd59e2e34b3de5d6d1935e0f5e11b99d56c12045066cffec2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.10.15

Security for dragon-autodl 1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page