Zellij is an open source Python framework for HyperParameter Optimization (HPO) which was orginally dedicated to Fractal Decomposition based algorithms [1] [2]. It includes tools to define mixed search space, manage objective functions, and a few algorithms. To implements metaheuristics and other optimization methods, Zellij uses DEAP[3] for the Evolutionary Algorithms part and BoTorch [4] for Bayesian Optimization. Zellij is defined as an easy to use and modular framework, based on Python object oriented paradigm.
See documentation.
$ pip install zellij
This version requires a MPI library, such as MPICH or Open MPI. It is based on mpi4py
$ pip install zellij[mpi]
User will then be able to use the MPI
option of the Loss
decorator.
@Loss(MPI=True)
Then the python script must be executed using mpiexec
:
$ mpiexec -machinefile <path/to/hostfile> -n <number of processes> python3 <path/to/python/script>
- Python >=3.6
- numpy=>1.21.4
- DEAP>=1.3.1
- botorch>=0.6.3.1
- gpytorch>=1.6.0
- pandas>=1.3.4
- enlighten>=1.10.2
- Python >=3.6
- numpy=>1.21.4
- DEAP>=1.3.1
- botorch>=0.6.3.1
- gpytorch>=1.6.0
- pandas>=1.3.4
- enlighten>=1.10.2
- mpi4py>=3.1.2
- Thomas Firmin: thomas.firmin@univ-lille.fr
- El-Ghazali Talbi: el-ghazali.talbi@univ-lille.fr
[1] Nakib, A., Ouchraa, S., Shvai, N., Souquet, L. & Talbi, E.-G. Deterministic metaheuristic based on fractal decomposition for large-scale optimization. Applied Soft Computing 61, 468–485 (2017).
[2] Demirhan, M., Özdamar, L., Helvacıoğlu, L. & Birbil, Ş. I. FRACTOP: A Geometric Partitioning Metaheuristic for Global Optimization. Journal of Global Optimization 14, 415–436 (1999).
[3] Félix-Antoine Fortin, François-Michel De Rainville, Marc-André Gardner, Marc Parizeau and Christian Gagné, "DEAP: Evolutionary Algorithms Made Easy", Journal of Machine Learning Research, vol. 13, pp. 2171-2175, jul 2012.
[4] M. Balandat, B. Karrer, D. R. Jiang, S. Daulton, B. Letham, A. G. Wilson, and E. Bakshy. BoTorch: A Framework for Efficient Monte-Carlo Bayesian Optimization. Advances in Neural Information Processing Systems 33, 2020.