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

Uploaded Source

Built Distribution

waggon-0.0.2-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: waggon-0.0.2.tar.gz
  • Upload date:
  • Size: 12.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.2.tar.gz
Algorithm Hash digest
SHA256 ff6d2145a8cd165bff2af2c30fe5ee5bfae461a639dce6e56ab1071dfe04217d
MD5 efb2415f2c29656837813de8be8bdece
BLAKE2b-256 6ce1d0638aab13f18e127fc1eacc4701928deeecac2b10c27279314a9d9522f8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: waggon-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0a86a65d3a29498acfe93b6478640612aa2c5d1b38144b1d93140678d880ca2e
MD5 4bc143dcfae7e369c04abbe4a7a2b546
BLAKE2b-256 4d76a9fb3a4fef9680fc6c5a04080be48176f51a4a972a7dba3ce6d614c13e8c

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