Skip to content

Commit

Permalink
add description of our library's characteristics
Browse files Browse the repository at this point in the history
  • Loading branch information
nomuramasahir0 committed Jan 22, 2024
1 parent 33abbea commit edee719
Showing 1 changed file with 18 additions and 8 deletions.
26 changes: 18 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,19 @@
# CMA-ES
# CyberAgentAILab/cmaes

[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](./LICENSE) [![PyPI - Downloads](https://img.shields.io/pypi/dw/cmaes)](https://pypistats.org/packages/cmaes)

Simple and Practical CMA-ES [Hansen 2016] implementation in Python.
**_Simple_** and **_Practical_** CMA-ES implementation in Python.

#### _Simplicity_ :
* [CMA-ES](https://arxiv.org/abs/1604.00772) [Hansen 2016] implementation with *high code readability*
* This is suitable for quick use of CMA-ES as well as for educational purposes and easy integration into other
libraries

#### _Practicality_ :
* implementations of highly practical methods with easy-to-use APIs
* The methods include [LRA-CMA](https://arxiv.org/abs/2304.03473) [Nomura et al. 2023] (removing hyperparameter tuning), [WS-CMA](https://arxiv.org/abs/2012.06932) [Nomura et al. 2021] (transfer learning), and [CMAwM](https://arxiv.org/abs/2205.13482) [Hamano et al. 2022] (mixed-integer optimization)

(We also provide [animated visualization](https://github.com/CyberAgentAILab/cmaes/blob/main/tools/cmaes_visualizer.py).)
![visualize-six-hump-camel](https://user-images.githubusercontent.com/5564044/73486622-db5cff00-43e8-11ea-98fb-8246dbacab6d.gif)

## Installation
Expand Down Expand Up @@ -341,16 +351,16 @@ Full source code is available [here](./examples/ipop_cma.py).

* [Optuna](https://github.com/optuna/optuna) : A hyperparameter optimization framework that supports CMA-ES using this library under the hood.
* [Kubeflow/Katib](https://www.kubeflow.org/docs/components/katib/katib-config/) : Kubernetes-based system for hyperparameter tuning and neural architecture search
* (If you have a project which uses `cmaes` and want your own project to be listed here, please submit a GitHub issue.)
* (If you are using `cmaes` in your project and would like it to be listed here, please submit a GitHub issue.)

**Other libraries:**

I respect all libraries involved in CMA-ES.
We have great respect for all libraries involved in CMA-ES.

* [pycma](https://github.com/CMA-ES/pycma) : Most famous CMA-ES implementation by Nikolaus Hansen.
* [pymoo](https://github.com/msu-coinlab/pymoo) : Multi-objective optimization in Python.
* [evojax](https://github.com/google/evojax) : EvoJAX provides a JAX-port of this library.
* [evosax](https://github.com/RobertTLange/evosax) : evosax provides JAX-based CMA-ES and sep-CMA-ES implementation, which is inspired by this library.
* [pycma](https://github.com/CMA-ES/pycma) : Most renowned CMA-ES implementation, created and maintained by Nikolaus Hansen.
* [pymoo](https://github.com/msu-coinlab/pymoo) : A library for multi-objective optimization in Python.
* [evojax](https://github.com/google/evojax) : EvoJAX offers a JAX-port of this library.
* [evosax](https://github.com/RobertTLange/evosax) : evosax provides a JAX-based implementation of CMA-ES and sep-CMA-ES, inspired by this library.

**References:**

Expand Down

0 comments on commit edee719

Please sign in to comment.