Skip to main content

optimization tool for PHYSics based on Bayesian Optimization

Project description

optimization tools for PHYsics based on Bayesian Optimization ( PHYSBO )

Bayesian optimization has been proven as an effective tool in accelerating scientific discovery. A standard implementation (e.g., scikit-learn), however, can accommodate only small training data. PHYSBO is highly scalable due to an efficient protocol that employs Thompson sampling, random feature maps, one-rank Cholesky update and automatic hyperparameter tuning. Technical features are described in COMBO's document and PHYSBO's report (open access). PHYSBO was developed based on COMBO for academic use.

Documentation

Dependencies

  • Python >= 3.9
  • NumPy
  • SciPy

Optional dependencies

  • ODAT-SE (for continuous space optimization)

    python3 -m pip install odat-se
    

Install

  • From PyPI (recommended)

    python3 -m pip install physbo
    
  • From source (for developers)

    1. Download or clone the github repository

      git clone https://github.com/issp-center-dev/PHYSBO
      
    2. Install via pip

      # ./PHYSBO is the root directory of PHYSBO
      # pip install options such as --user are avaiable
      
      python3 -m pip install ./PHYSBO
      

Uninstall

python3 -m pip uninstall physbo

Usage

For an introductory tutorial please consult the documentation. (English / 日本語)

'examples/simple.py' is a simple example.

Data repository

A tutorial and a dataset of a paper about PHYSBO can be found in PHYSBO Gallery.

For developers

UV is recommended to make a virtual environment and install dependencies for development.

Run tests

When using UV, the command uv sync --extra tests will install the dependencies to run tests like pytest. Test files are in tests/ directory, and use pytest to run tests.

uv run pytest tests

Build documentation

When using UV, the command uv sync --extra docs will install the dependencies for building the documentation like sphinx.

The command

uv run bash docs/make_docs.sh

will build the documentation into docs/built.

License

PHYSBO was developed based on COMBO for academic use. PHYSBO is distributed under Mozilla Public License version 2.0 (MPL v2). We hope that you cite the following reference when you publish the results using PHYSBO:

“Bayesian optimization package: PHYSBO”, Yuichi Motoyama, Ryo Tamura, Kazuyoshi Yoshimi, Kei Terayama, Tsuyoshi Ueno, Koji Tsuda, Computer Physics Communications Volume 278, September 2022, 108405.

Bibtex

@misc{@article{MOTOYAMA2022108405,
title = {Bayesian optimization package: PHYSBO},
journal = {Computer Physics Communications},
volume = {278},
pages = {108405},
year = {2022},
issn = {0010-4655},
doi = {https://doi.org/10.1016/j.cpc.2022.108405},
author = {Yuichi Motoyama and Ryo Tamura and Kazuyoshi Yoshimi and Kei Terayama and Tsuyoshi Ueno and Koji Tsuda},
keywords = {Bayesian optimization, Multi-objective optimization, Materials screening, Effective model estimation}
}

Copyright

© 2020- The University of Tokyo. All rights reserved. This software was developed with the support of "Project for advancement of software usability in materials science" of The Institute for Solid State Physics, The University of Tokyo.

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

physbo-3.2.0.tar.gz (89.3 kB view details)

Uploaded Source

File details

Details for the file physbo-3.2.0.tar.gz.

File metadata

  • Download URL: physbo-3.2.0.tar.gz
  • Upload date:
  • Size: 89.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for physbo-3.2.0.tar.gz
Algorithm Hash digest
SHA256 304d5274265fa5c377779217b818e3e0b27d89e147449e61cad8fbf0225c1079
MD5 193de43b3ba7803aaf1f6689a297949a
BLAKE2b-256 d6bc21321f381fd8d93b3bc9f9a0d0d5db4588addfba2739dabb2a871087eadd

See more details on using hashes here.

Provenance

The following attestation bundles were made for physbo-3.2.0.tar.gz:

Publisher: deploy_pypi.yml on issp-center-dev/PHYSBO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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