Skip to content

takeuchi-lab/CMES-IBO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Code for Constrained Max-value Entropy Search via Information lower BOund (CMES-IBO)

This page provides a python implementation of CMES-IBO (Takeno et. al., ICML2022). The code can reproduce the results of (Takeno et. al., ICML2022).

Environment

  • Linux
    • We ran the experiments on CentOS 6.9.
    • We confirmed the scripts running on Ubuntu 20.04 (latest LTS), but for this environment, we have not confirmed that the result of the paper can be completely reproduced (the difference in OS may produce a slight change in the results).
  • Python3.6.5 (Anaconda3-5.2.0)
  • Additional packages are as follows. (All packages are in requirements.txt)
    • GPy==1.9.6
    • Scipy=1.4.1
    • nlopt=2.6.1
  • Fortran (gfortran)
  • C (gcc 8.3.1)

Instruction

  • Methods

    • method names
      • MESC-LB (Corresponding to CMES-IBO)
      • MESC (Corresponding to CMES)
      • EIC
      • TSC
    • Parallel method names
      • PMESC-LB (Corresponding to P-CMES-IBO)
      • PMESC (Corresponding to P-CMES)
      • PEIC (Corresponding to P-EIC)
      • PTSC (Corresponding to P-TSC)
  • For the benchmark and real-world function experiments (Benchmark_name: Gardner1, Gardner2, Gramacy, const_HartMann6, G1, G7, G10, ReactorNetworkDesign, const_cnn_cifar10)

    • For 10 parallel experiments of different seeds (0 ~ 9):
      • python cons_bayesopt_exp.py method_name Benchmark_name 0 -1 1
      • python cons_bayesopt_exp.py Parallel_method_name Benchmark_name 0 -1 3
    • If you run an experiment with one specific seed:
      • python bayesopt_exp.py method_name Benchmark_name 0 seed 1
      • python parallel_bayesopt_exp.py Parallel_method_name Benchmark_name 0 seed 3
    • For the plots of the experimental results:
      • python plot_results_toy.py
  • For the synthetic function experiments

    • For 10 times 10 parallel experiments (10 generated functions and 10 initial samplings) of different seeds (0 ~ 9 and 0 ~ 9):
      • python cons_bayesopt_exp.py method_name const_SynFun -1 -1 1
    • For `single constraint' counterpart:
      • python cons_bayesopt_exp.py method_name const_SynFun_compress -1 -1 1
    • If you run the experiment with one specific function-generation seed, and initialization seed:
      • python cons_bayesopt_exp.py method_name const_SynFun function_seed initial_seed 1
    • For the plots of the experimental results:
      • python plot_results_synthetic.py
  • For the correlated synthetic function experiments

    • For 5 times 10 parallel experiments (5 generated functions and 10 initial samplings) of different seeds (0 ~ 4 and 0 ~ 9):
      • python cons_bayesopt_exp.py method_name const_SynFun_plus_corr -1 -1 1
    • If you run the experiment with one specific function-generation seed, and initialization seed:
      • python cons_bayesopt_exp.py method_name const_SynFun_plus_corr function_seed initial_seed 1
    • For the plots of the experimental results:
      • python plot_results_synthetic_correlated.py

Reference

S. Takeno, T. Tamura, K. Shitara, and M. Karasuyama, Sequential- and Parallel- Constrained Max-value Entropy Search via Information Lower Bound, Proceedings of The 39th International Conference on Machine Learning (ICML 2022), volume 162, pages 20960-20986, PMLR, 2022.

About

Constrained max-value entropy search via information lower bound (ICML2022)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages