1. What is Polaris?¶
1.1. About¶
Polaris is a hyperparameter optimization library for Python. This library supports the experiments in both single and parallel. And also you can easily run your experiments in parallel on multi nodes. If you want to know more detail, please see example page.
1.2. Algorithms¶
For now, we support three optimization algorithms.
- Random Search
- Bayesian Optimization
- TPE (Tree-structured Parzen Estimator)
And plan to support BOHB (Bayesian Optimiztion & Hyperband).
1.3. Architecture¶
1.3.1. Single Execution¶
Just call the function you pass with the parameter calculated from the past trials and return best params. What you have to is just calling run() method from Polaris instance.
1.3.2. Parallel Execution¶
Polaris use RabbitMQ to pass a context of an experiment from a client to a worker. If you want to run experiments in parallel, you need to install RabbitMQ (see here).
You need to run both client and worker processes. We provide polaris-worker command to run a worker easily. More detail, please see example page.
Parallel Execution Architecture