Skip to main content

Open Source Vizier: Distributed service framework for blackbox optimization and research.

Project description

Open Source Vizier: Reliable and Flexible Black-Box Optimization.

PyPI version Continuous Integration (Core) Continuous Integration (Clients) Continuous Integration (Algorithms) Continuous Integration (Benchmarks) Continuous Integration (Docs)

Documentation | Installation | Citing Vizier

What is Open Source (OSS) Vizier?

OSS Vizier is a Python-based service for black-box optimization and research, based on Google Vizier, one of the first hyperparameter tuning services designed to work at scale.


OSS Vizier's distributed client-server system. Animation by Tom Small.

OSS Vizier's interface consists of three main APIs:

  • User API: Allows a user to setup an OSS Vizier Server, which can host black-box optimization algorithms to serve multiple clients simultaneously in a fault-tolerant manner to tune their objective functions.
  • Developer API: Defines abstractions and utilities for implementing new optimization algorithms for research and to be hosted in the service.
  • Benchmarking API: A wide collection of objective functions and methods to benchmark and compare algorithms.

Additionally, it contains advanced API for:

  • Tensorflow Probability: For writing Bayesian Optimization algorithms using Tensorflow Probability and Flax.
  • PyGlove: For large-scale evolutionary experimentation and program search using OSS Vizier as a distributed backend.

Please see OSS Vizier's ReadTheDocs documentation for detailed information.

Installation

To install the core API, the simplest way is to run:

pip install google-vizier

which will install the necessary dependencies from requirements.txt.

For full installation (to support all algorithms and benchmarks), run:

pip install google-vizier[extra]

which will also install the dependencies:

  • requirements-jax.txt: Jax libraries shared by both algorithms and benchmarks.
  • requirements-tf.txt: Tensorflow libraries shared by both algorithms and benchmarks.
  • requirements-algorithms.txt: Additional repositories (e.g. Emukit) for algorithms.
  • requirements-benchmarks.txt: Additional repositories (e.g. NASBENCH-201) for benchmarks.
  • requirements-test.txt: Libraries needed for testing code.

Check if all unit tests work by running run_tests.sh after a full installation. OSS Vizier requires Python 3.10+, while client-only packages require Python 3.7+.

Citing Vizier

If you found this code useful, please consider citing the OSS Vizier paper as well as the Google Vizier paper. Thanks!

@inproceedings{oss_vizier,
  author    = {Xingyou Song and
               Sagi Perel and
               Chansoo Lee and
               Greg Kochanski and
               Daniel Golovin},
  title     = {Open Source Vizier: Distributed Infrastructure and API for Reliable and Flexible Black-box Optimization},
  booktitle = {Automated Machine Learning Conference, Systems Track (AutoML-Conf Systems)},
  year      = {2022},
}
@inproceedings{google_vizier,
  author    = {Daniel Golovin and
               Benjamin Solnik and
               Subhodeep Moitra and
               Greg Kochanski and
               John Karro and
               D. Sculley},
  title     = {Google Vizier: {A} Service for Black-Box Optimization},
  booktitle = {Proceedings of the 23rd {ACM} {SIGKDD} International Conference on
               Knowledge Discovery and Data Mining, Halifax, NS, Canada, August 13
               - 17, 2017},
  pages     = {1487--1495},
  publisher = {{ACM}},
  year      = {2017},
  url       = {https://doi.org/10.1145/3097983.3098043},
  doi       = {10.1145/3097983.3098043},
}

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

google-vizier-0.0.20.tar.gz (311.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

google_vizier-0.0.20-py3-none-any.whl (482.0 kB view details)

Uploaded Python 3

File details

Details for the file google-vizier-0.0.20.tar.gz.

File metadata

  • Download URL: google-vizier-0.0.20.tar.gz
  • Upload date:
  • Size: 311.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for google-vizier-0.0.20.tar.gz
Algorithm Hash digest
SHA256 c19100d579df95584e63777a53af20b46b246dee47fb0804cb9e9d67b3103f30
MD5 155b2d68c704e4114e9ab16938a58787
BLAKE2b-256 a5b45c7627f278205cb26aa12c60cd8f5051bacf5cffb7c1a3b1bce056f5486b

See more details on using hashes here.

File details

Details for the file google_vizier-0.0.20-py3-none-any.whl.

File metadata

  • Download URL: google_vizier-0.0.20-py3-none-any.whl
  • Upload date:
  • Size: 482.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for google_vizier-0.0.20-py3-none-any.whl
Algorithm Hash digest
SHA256 3e741b1f70551945016960c7aea51292ddb5ac0237492c3ac2abc511cfc4ff44
MD5 b74a5fe8d6c793f6dc0d5d469d2cae83
BLAKE2b-256 4a8ea3247072b0445c08f6ec22a31eaafd712f59d6dbc14b637e27ff6f19f067

See more details on using hashes here.

Supported by

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