Skip to main content

WAsserstein Global Gradient-free OptimisatioN (WAGGON) methods library.

Project description

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." Arxiv abs/2407.1117 (2024). [arxiv]

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 (does this and that)

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

waggon-0.0.6.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

waggon-0.0.6-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

Details for the file waggon-0.0.6.tar.gz.

File metadata

  • Download URL: waggon-0.0.6.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for waggon-0.0.6.tar.gz
Algorithm Hash digest
SHA256 7c93a1089752ac386e85eff70c320e66eb5c0074cdfa7173d00054acf575960f
MD5 a01241d1313ccb87eec208cf4ec07651
BLAKE2b-256 f4c3430b913a3bca1b2b59858b4e6ca697ceecacb46e400db2616c1839e12d65

See more details on using hashes here.

File details

Details for the file waggon-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: waggon-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 24.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for waggon-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 60d710aa46d7a764137202a34f5b995c1474bbd02050e5862df271c0be52e681
MD5 0cd507325027cf6620d6d6a2799b1654
BLAKE2b-256 b8ab5943792602df490632a7ea320c500d6abedbdd83ce0071060b4e437e4062

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page