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

Uploaded Source

Built Distribution

waggon-0.0.1-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: waggon-0.0.1.tar.gz
  • Upload date:
  • Size: 9.2 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.1.tar.gz
Algorithm Hash digest
SHA256 2bc166e21e5da941b7008033c34afbe742ae2a148b7e2b4a094809fe386daf10
MD5 7d55827eea53fd4012528f6713c59acb
BLAKE2b-256 cae2d2a656c40b14556d5a5d5a0711113110bea65c98c2ac41c5d744be3b13a1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: waggon-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1602e15b8ad95cd55fe9fcf2c3fa7091394d7a82303409a5f363d84120387c45
MD5 b1b167d1c5cca16743609fb0a64d2e19
BLAKE2b-256 3e31fc173a5f77391b6fbefb24b9e24e5e23e1a94ee9ca56e82d45559d9d6394

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