Skip to main content

Wasserstein global gradient-free optimisation methods library.

Project description

Welcome to WAGGON: WAssrestein Global Gradient-free OptimisatioN

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.acquisition import WU
from waggon.optim import Optimiser
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 = Optimiser(func=func, surr=surr, acqf=acqf)

# run optimisation
opt.optimise()

# visualise
waggon.display()

Support

  • For any usage questions, suggestions and bugs please use the issue page.

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.4.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

waggon-0.0.4-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: waggon-0.0.4.tar.gz
  • Upload date:
  • Size: 12.1 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.4.tar.gz
Algorithm Hash digest
SHA256 882f9ed0c44d06d098c3036a88381a8ad930bfbc9cc94926ec33266231b395b4
MD5 4802d78d0611d066b8155efc6699f82f
BLAKE2b-256 62b093faf1506dfe0c282f89acec51b78b17e4c27fb55817d35287bbf2f534e1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: waggon-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 13.0 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6767b744ce74254c3367349509477c22273421c6be6c762259cc56fad94b4c03
MD5 088b2f86973d27da26ef5c807fa24b60
BLAKE2b-256 6eea7c20eee170cc372fcb596be501281e4403e5ade25203988a776e373090a2

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