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
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
- Julie Keisler: julie.keisler.rfo@gmail.com
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| dragon_autodl-1.1.tar.gz | 55.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.