An open API service indexing awesome lists of open source software.

https://github.com/quva-lab/combo


https://github.com/quva-lab/combo

Last synced: about 1 year ago
JSON representation

Awesome Lists containing this project

README

          

# 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
```bash
conda create -n COMBO python=3.7 anaconda --yes
```

####2. Clone the repository
```bash
git clone https://github.com/QUVA-Lab/COMBO.git
```

####3. Install required packages
```bash
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
```bash
python COMBO/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

```bash
python COMBO/main.py --objective pestcontrol --n_eval 300 --random_seed_config 3
```
To optimize 'pestcontrol' with 300 evaluations