xianyuanliu / FidelityFusion

multi-fidelity fusion toolbox of most GP-based mtehod

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FidelityFusion

FidelityFusion is a library for data-driven surrogate model with multi-fidelity data, which can be easily generated by adjusting the simulation setup (such as mesh size, time step, etc.).

By leveraging the multi-fidelity data, the surrogate model can be trained with many low-fidelity data, which is cheap to generate, and a few high-fidelity data to predict the output of the high-fidelity simulation accurately.

FidelityFusion focus on tractable multi-fidelity fusion methods, which can be easily optimized and scaled to high-dimensional output with strong generalization and robustness.

FidelityFusion includes the following algorithms:

  • AR0: the classic autoregression model by M. C. Kennedy and A. O'Hagan. Tractable model applicable to single-output and subset-structured multi-fidelity data.

  • NAR: the classic nonstationary autoregression model by G. E. Karniadakis' team. Nontractable model applicable to single/low-dimensional-output and subset-structured multi-fidelity data.

  • DC: Deep Coregionalization. Nontractable model applicable to high-dimensional-output/spatial-temporal field output, and subset-structured multi-fidelity data.

  • ResGP: Residual Gaussian Process. Tractable model applicable to high-dimensional-output/spatial-temporal field output, and subset-structured multi-fidelity data.

  • GAR [Slides]: Generalized autoregression model. Possibly the most powerful Tractable model applicable to high-dimensional-output/spatial-temporal field output that are nonaligned(the dimensionality is different at different fidelities), and arbitrary-structured multi-fidelity data.

  • CIGAR [Slides]: Conditional independent generalized autoregression. A simplified version of GAR by leveraging the Autokrigeability. Tractable model applicable to ultra-high-dimensional-output/spatial-temporal field output that are nonaligned(the dimensionality is different at different fidelities), and arbitrary-structured multi-fidelity data.

Packaging and Installing

Packaging software:

# create "tar.gz" compressed file
python setup.py sdist
The generated compressed file will be saved to:dist/mffusion-0.1.0b1.tar.gz

# create "whl" compressed file
python setup.py bdist_wheel 
The generated compressed file will saved in to:dist/mffusion-0.1.0b1-py3-none-any.whl

For user (who do not want to modify the code), install mffusion

pip install mffusion-0.1.0b1.tar.gz

For developer, install mffusion

cd mffusion (Navigate to the setup.py)
pip install -e .

Run

You can fast test on toy data by run gar_demo.py. You will be able find all the demo results in mffusion/demo/.

mffusion/
├── demo/
│     └── gar_demo.py
├── visualize_tools/
│     └── paint_code/
│              └── subset/
│                    └── paint_seed.py/

Contributing to FidelityFusion

  • Reporting bugs. To report a bug, simply open an issue in the GitHub Issues.
  • Suggesting enhancements. To submit an enhancement suggestion, including completely new features or minor improvements on existing features, please open an issue in the GitHub Issues.
  • Pull requests. If you made improvements to FidelityFusion, fixed a bug, or had a new example, feel free to send us a pull-request.
  • Asking questions. To get help on how to use FidelityFusion or its functionalities, you can open a discussion in the GitHub.

The Team

FidelityFusion was developed and maintained by mainly by Wei. W. Xing at IceLab-X and Zen Xing at Rockchips. A non-exhaustive but growing list needs to mention: Yuxing Wang and Guanjie Wang at BUAA.

License

LGPL-2.1 License

Citation

Please cite our paper if you find it helpful :)

@inproceedings{
wang2022gar,
title={{GAR}: Generalized Autoregression for Multi-Fidelity Fusion},
author={Yuxin Wang and Zheng Xing and WEI W. XING},
booktitle={Advances in Neural Information Processing Systems},
editor={Alice H. Oh and Alekh Agarwal and Danielle Belgrave and Kyunghyun Cho},
year={2022},
url={https://openreview.net/forum?id=aLNWp0pn1Ij}
}

About

multi-fidelity fusion toolbox of most GP-based mtehod

License:MIT License


Languages

Language:Python 100.0%