Skip to content

kskyten/COMBO

 
 

Repository files navigation

COMBO

  • Combinatorial Bayesian Optimizationusing the Graph Cartesian Product, Advances in neural information processing systems(NeurIPS), 2019

1. Set up

#####1. Set a conda virtual environment

conda create -n COMBO python=3.7 anaconda --yes

#####2. Clone the repository

git clone https://github.com/QUVA-Lab/COMBO.git

#####3. Install required packages

conda activate COMBO
conda install --file requirements.txt

2. Run

#####1. Consigure directories All necessary directories can be configured in the file COMBO/config.py

#####2. Arguments

  • --n_eval : The number of evaluations
  • --objective : For reproducing, you can chooose one of ['branin', 'ising', 'contamination', 'pestcontrol', 'maxsat28', 'maxsat43', 'maxsat60', 'nasbinary']. For your own defined objectives, your objective function name should be given.
  • --random_seed_config : Some objectives are generated by some random processes. In order to control it random seeds are given to determine random processes and initial input points for evaluations with which COMBO begin.
  • --parallel : The acquisition function optimization in COMBO uses multiple initial points. This multiple optimization can be done in parallel using multiprocesses with this option.
  • --device : Only valid for ['nasbinary'] which uses GPU for its evalutions.
  • --lamda : The regularization coefficient only valid for ['ising', 'contamination']
  • --path : A path to the directory of the experiment to be continued.(Only need when you want to resume an experiment)

#####. Examples

python COMBM/main.py --objective ising --n_eval 150 --random_seed_config 7 --lamda 0.01

To optimize 'ising' with 0.01 for the regularization coefficient with 150 evaluations

python COMBM/main.py --objective pestcontrol --n_eval 300 --random_seed_config 3

To optimize 'pestcontrol' with 300 evaluations

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • OpenEdge ABL 96.9%
  • Python 3.1%