google / vizier

Python-based research interface for blackbox and hyperparameter optimization, based on the internal Google Vizier Service.
https://oss-vizier.readthedocs.io
Apache License 2.0
1.44k stars 94 forks source link

Where is the code implementation for the search algorithms? #28

Closed grantlj closed 2 years ago

grantlj commented 2 years ago

In the study config file, there are multiple search algorithms like:

ALGORITHM_UNSPECIFIED = study_pb2.StudySpec.Algorithm.ALGORITHM_UNSPECIFIED GAUSSIAN_PROCESS_BANDIT = study_pb2.StudySpec.Algorithm.GAUSSIAN_PROCESS_BANDIT GRID_SEARCH = study_pb2.StudySpec.Algorithm.GRID_SEARCH RANDOM_SEARCH = study_pb2.StudySpec.Algorithm.RANDOM_SEARCH NSGA2 = study_pb2.StudySpec.Algorithm.NSGA2 EMUKIT_GP_EI = study_pb2.StudySpec.Algorithm.EMUKIT_GP_EI

wondering where is the implementation of each algorithm? are they currently not open-sourced?

sagipe commented 2 years ago

Hi Liu,

This repository is still work in progress (hence the reason we did not make public announcements about it yet). We will open source algorithm implementations in the coming months, so stay tuned!

One of the advantages of Vizier is that it's possible to plug-in existing algorithms into it (e.g. https://emukit.github.io/), and use various open-source implementations through a unified client API. We are also open sourcing our developer APIs, so users will be able to contribute algorithm implementations to Vizier by using our building blocks.

Best, Sagi

sagipe commented 2 years ago

To clarify: you can find implementations of random search, NSGA2 and Emukit as Vizier policies, if you follow the code in vizier_server.py. Check the policy_creator() method, and you can follow the algorithm implementations from there.

The code is under vizier/_src/algorithms/ though this location may change in the future (it's under a private _src directory).

Best, Sagi

xingyousong commented 1 year ago

Hi @grantlj, we're happy to announce that all of the algorithm enums are now available in version 0.1.0.