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

Parallel Execution Architecture