zellij


Namezellij JSON
Version 1.0.1 PyPI version JSON
download
home_pagehttps://github.com/ThomasFirmin/zellij
SummaryA software framework for HyperParameters Optimization
upload_time2022-12-23 14:01:51
maintainer
docs_urlNone
authorThomas Firmin
requires_python>=3.6
license
keywords fractal continuous optimization global optimization black-box functions decision space partitioning exploration exploitation metaheuristics tree search
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
             <!-- @Author: Thomas Firmin <ThomasFirmin> -->
 <!-- @Date:   2022-05-03T15:41:48+02:00 -->
 <!-- @Email:  thomas.firmin@univ-lille.fr -->
 <!-- @Project: Zellij -->
 <!-- @Last modified by:   ThomasFirmin -->
 <!-- @Last modified time: 2022-05-03T15:44:11+02:00 -->
 <!-- @License: CeCILL-C (http://www.cecill.info/index.fr.html) -->
 <!-- @Copyright: Copyright (C) 2022 Thomas Firmin -->


![alt text](./sources/zellij_logo.png)
[![PyPI version shields.io](https://img.shields.io/pypi/v/zellij.svg)](https://pypi.org/project/zellij/)
[![PyPI license](https://img.shields.io/pypi/l/zellij.svg)](https://pypi.org/project/zellij/)
[![Documentation Status](https://readthedocs.org/projects/zellij/badge/?version=latest)](https://zellij.readthedocs.io/en/latest/?badge=latest)
[![GitHub latest commit](https://badgen.net/github/last-commit/ThomasFirmin/zellij/)](https://github.com/ThomasFirmin/zellij/commit/)
![Maintainer](https://img.shields.io/badge/maintainer-T.Firmin-blue)


**Zellij** is an open source Python framework for *HyperParameter Optimization* (HPO) which was orginally dedicated to *Fractal Decomposition based algorithms* [[1]](#1) [[2]](#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](https://deap.readthedocs.io/)[[3]](#3) for the *Evolutionary Algorithms* part
and [BoTorch](https://botorch.org/) [[4]](#4) for *Bayesian Optimization*.
**Zellij** is defined as an easy to use and modular framework, based on Python object oriented paradigm.

See [documentation](https://zellij.readthedocs.io/en/latest/).

## Install Zellij

#### Original version
```
$ pip install zellij
```

#### Distributed Zellij

This version requires a MPI library, such as [MPICH](https://www.mpich.org/) or [Open MPI](https://www.open-mpi.org/).
It is based on [mpi4py](https://mpi4py.readthedocs.io/en/stable/intro.html#what-is-mpi)

```
$ pip install zellij[mpi]
```

User will then be able to use the `MPI` option of the `Loss` decorator.
```python
@Loss(MPI=True)
```
Then the python script must be executed using `mpiexec`:
```python
$ mpiexec -machinefile <path/to/hostfile> -n <number of processes> python3 <path/to/python/script>
```

## Dependencies

#### Original version

* **Python** >=3.6
* [numpy](https://numpy.org/)=>1.21.4
* [DEAP](https://deap.readthedocs.io/en/master/)>=1.3.1
* [botorch](https://botorch.org/)>=0.6.3.1
* [gpytorch](https://gpytorch.ai/)>=1.6.0
* [pandas](https://pandas.pydata.org/)>=1.3.4
* [enlighten](https://python-enlighten.readthedocs.io/en/stable/)>=1.10.2

#### MPI version
* **Python** >=3.6
* [numpy](https://numpy.org/)=>1.21.4
* [DEAP](https://deap.readthedocs.io/en/master/)>=1.3.1
* [botorch](https://botorch.org/)>=0.6.3.1
* [gpytorch](https://gpytorch.ai/)>=1.6.0
* [pandas](https://pandas.pydata.org/)>=1.3.4
* [enlighten](https://python-enlighten.readthedocs.io/en/stable/)>=1.10.2
* [mpi4py](https://mpi4py.readthedocs.io/en/stable/)>=3.1.2

## Contributors
### Design
* Thomas Firmin: thomas.firmin@univ-lille.fr
* El-Ghazali Talbi: el-ghazali.talbi@univ-lille.fr

## References
<a id="1">[1]</a>
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).

<a id="2">[2]</a>
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).

<a id="3">[3]</a>
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.

<a id="4">[4]</a>
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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ThomasFirmin/zellij",
    "name": "zellij",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "fractal,continuous optimization,global optimization,black-box functions,decision space partitioning,exploration,exploitation,metaheuristics,tree search",
    "author": "Thomas Firmin",
    "author_email": "thomas.firmin@univ-lille.fr",
    "download_url": "https://files.pythonhosted.org/packages/89/0d/f3ddbc85d0b2d81ab1452f77abeded880a592dcf218802a1ecf44acfcb23/zellij-1.0.1.tar.gz",
    "platform": null,
    "description": " <!-- @Author: Thomas Firmin <ThomasFirmin> -->\n <!-- @Date:   2022-05-03T15:41:48+02:00 -->\n <!-- @Email:  thomas.firmin@univ-lille.fr -->\n <!-- @Project: Zellij -->\n <!-- @Last modified by:   ThomasFirmin -->\n <!-- @Last modified time: 2022-05-03T15:44:11+02:00 -->\n <!-- @License: CeCILL-C (http://www.cecill.info/index.fr.html) -->\n <!-- @Copyright: Copyright (C) 2022 Thomas Firmin -->\n\n\n![alt text](./sources/zellij_logo.png)\n[![PyPI version shields.io](https://img.shields.io/pypi/v/zellij.svg)](https://pypi.org/project/zellij/)\n[![PyPI license](https://img.shields.io/pypi/l/zellij.svg)](https://pypi.org/project/zellij/)\n[![Documentation Status](https://readthedocs.org/projects/zellij/badge/?version=latest)](https://zellij.readthedocs.io/en/latest/?badge=latest)\n[![GitHub latest commit](https://badgen.net/github/last-commit/ThomasFirmin/zellij/)](https://github.com/ThomasFirmin/zellij/commit/)\n![Maintainer](https://img.shields.io/badge/maintainer-T.Firmin-blue)\n\n\n**Zellij** is an open source Python framework for *HyperParameter Optimization* (HPO) which was orginally dedicated to *Fractal Decomposition based algorithms* [[1]](#1) [[2]](#2).\nIt includes tools to define mixed search space, manage objective functions, and a few algorithms.\nTo implements metaheuristics and other optimization methods, **Zellij** uses [DEAP](https://deap.readthedocs.io/)[[3]](#3) for the *Evolutionary Algorithms* part\nand [BoTorch](https://botorch.org/) [[4]](#4) for *Bayesian Optimization*.\n**Zellij** is defined as an easy to use and modular framework, based on Python object oriented paradigm.\n\nSee [documentation](https://zellij.readthedocs.io/en/latest/).\n\n## Install Zellij\n\n#### Original version\n```\n$ pip install zellij\n```\n\n#### Distributed Zellij\n\nThis version requires a MPI library, such as [MPICH](https://www.mpich.org/) or [Open MPI](https://www.open-mpi.org/).\nIt is based on [mpi4py](https://mpi4py.readthedocs.io/en/stable/intro.html#what-is-mpi)\n\n```\n$ pip install zellij[mpi]\n```\n\nUser will then be able to use the `MPI` option of the `Loss` decorator.\n```python\n@Loss(MPI=True)\n```\nThen the python script must be executed using `mpiexec`:\n```python\n$ mpiexec -machinefile <path/to/hostfile> -n <number of processes> python3 <path/to/python/script>\n```\n\n## Dependencies\n\n#### Original version\n\n* **Python** >=3.6\n* [numpy](https://numpy.org/)=>1.21.4\n* [DEAP](https://deap.readthedocs.io/en/master/)>=1.3.1\n* [botorch](https://botorch.org/)>=0.6.3.1\n* [gpytorch](https://gpytorch.ai/)>=1.6.0\n* [pandas](https://pandas.pydata.org/)>=1.3.4\n* [enlighten](https://python-enlighten.readthedocs.io/en/stable/)>=1.10.2\n\n#### MPI version\n* **Python** >=3.6\n* [numpy](https://numpy.org/)=>1.21.4\n* [DEAP](https://deap.readthedocs.io/en/master/)>=1.3.1\n* [botorch](https://botorch.org/)>=0.6.3.1\n* [gpytorch](https://gpytorch.ai/)>=1.6.0\n* [pandas](https://pandas.pydata.org/)>=1.3.4\n* [enlighten](https://python-enlighten.readthedocs.io/en/stable/)>=1.10.2\n* [mpi4py](https://mpi4py.readthedocs.io/en/stable/)>=3.1.2\n\n## Contributors\n### Design\n* Thomas Firmin: thomas.firmin@univ-lille.fr\n* El-Ghazali Talbi: el-ghazali.talbi@univ-lille.fr\n\n## References\n<a id=\"1\">[1]</a>\nNakib, 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\u2013485 (2017).\n\n<a id=\"2\">[2]</a>\nDemirhan, M., \u00d6zdamar, L., Helvac\u0131o\u011flu, L. & Birbil, \u015e. I. FRACTOP: A Geometric Partitioning Metaheuristic for Global Optimization. Journal of Global Optimization 14, 415\u2013436 (1999).\n\n<a id=\"3\">[3]</a>\nF\u00e9lix-Antoine Fortin, Fran\u00e7ois-Michel De Rainville, Marc-Andr\u00e9 Gardner, Marc Parizeau and Christian Gagn\u00e9, \"DEAP: Evolutionary Algorithms Made Easy\", Journal of Machine Learning Research, vol. 13, pp. 2171-2175, jul 2012.\n\n<a id=\"4\">[4]</a>\nM. 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.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A software framework for HyperParameters Optimization",
    "version": "1.0.1",
    "split_keywords": [
        "fractal",
        "continuous optimization",
        "global optimization",
        "black-box functions",
        "decision space partitioning",
        "exploration",
        "exploitation",
        "metaheuristics",
        "tree search"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "bc06e35965468a393aab8407371441ef",
                "sha256": "0d15009097a0461e36ed6bb086c22f08d80eef2460d7e0c9fceea559047742ef"
            },
            "downloads": -1,
            "filename": "zellij-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bc06e35965468a393aab8407371441ef",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 97202,
            "upload_time": "2022-12-23T14:01:48",
            "upload_time_iso_8601": "2022-12-23T14:01:48.770722Z",
            "url": "https://files.pythonhosted.org/packages/9d/64/51498f0fa3cb582f1d252094e39d4eb054d3cf6bfbc024a71a25535713fb/zellij-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "53c57eff6a89da1b929085d8e0b52bd3",
                "sha256": "72f6f3858105fe7ab0f4bf68e3b13766796ae40e05e60cc90611702226dce2df"
            },
            "downloads": -1,
            "filename": "zellij-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "53c57eff6a89da1b929085d8e0b52bd3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 79088,
            "upload_time": "2022-12-23T14:01:51",
            "upload_time_iso_8601": "2022-12-23T14:01:51.013936Z",
            "url": "https://files.pythonhosted.org/packages/89/0d/f3ddbc85d0b2d81ab1452f77abeded880a592dcf218802a1ecf44acfcb23/zellij-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-23 14:01:51",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "ThomasFirmin",
    "github_project": "zellij",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "zellij"
}
        
Elapsed time: 0.02141s