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 based on the package Zellij.
The distributed version requires a MPI library, such as MPICH or Open MPI. It is based on mpi4py.
See documentation.
The following libraries are necessary:
-
Zellij: https://github.com/ThomasFirmin/zellij:
pip install git+https://github.com/ThomasFirmin/zellij.git@dag
-
Pytorch: https://pytorch.org/
Optional librairies:
- MPI4py to use the distributed version: https://mpi4py.readthedocs.io/en/stable/
- GluonTS: https://ts.gluon.ai/stable/ to compare with the Monash Forecasting Repository (see github)
You can try the optimization framework on any data from the Monash Forecasting Archive whose config has been set in the config file: experiments/monash_archive/datasets_configs.py, by running:
python template_optimization.py --dataset=dataset_name
An MPI version is also available:
mpiexec -np X python template_MPI_optimization.py --dataset=dataset_name
=======
- Julie Keisler: julie.keisler.rfo@gmail.com
[1] Keisler, J., Talbi, E. G., Claudel, S., & Cabriel, G. (2023). An algorithmic framework for the optimization of deep neural networks architectures and hyperparameters. arXiv preprint arXiv:2303.12797.