Skip to content

hse-cs/waggon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to WAGGON: WAssrestein Global Gradient-free OptimisatioN

PyPI version Documentation Downloads License: MIT

WAGGON is a python library of black box gradient-free optimisation. Currently, the library contains implementations of optimisation methods based on Wasserstein uncertainty and baseline approaches from the following papers:

  • Tigran Ramazyan, Mikhail Hushchyn and Denis Derkach. Global Optimisation of Black-Box Functions with Generative Models in the Wasserstein Space, 2024.[arxiv] [ECAI 2024 Proceedings]

Implemented methods

  • Wasserstein Uncertainty Global Optimisation (WU-GO)
  • Bayesian optimisation: via Expected Improvement (EI), Lower and Upper Confidence Bounds (LCB, UCB)

Installation

pip install waggon

or

git clone https://github.com/hse-cs/waggon
cd waggon
pip install -e

Basic usage

(See more examples in the documentation.)

The following code snippet is an example of surrogate optimisation.

import waggon
from waggon.optim import SurrogateOptimiser

from waggon.acquisitions import WU
from waggon.surrogates.gan import WGAN_GP as GAN
from waggon.test_functions import three_hump_camel

# initialise the function to be optimised
func = three_hump_camel()
# initialise the surrogate to carry out optimisation
surr = GAN()
# initialise optimisation acquisition function
acqf = WU()

# initialise optimiser
opt = SurrogateOptimiser(func=func, surr=surr, acqf=acqf)

# run optimisation
opt.optimise()

# visualise
waggon.utils.display()

Support

About

WAGGON: WAssrestein Global Gradient-free OptimisatioN

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published