InVAErt networks are designed to perform emulation, inference, and identifiability analysis of physics-based parametric systems.
For additional information, please refer to the publication below:
InVAErt networks: A data-driven framework for model synthesis and identifiability analysis, Guoxiang Grayson Tong, Carlos A. Sing-Long Collao, and Daniele E. Schiavazzi.
DNN_tools.py
: common functions for deep neural network modelingData_generation.py
: functions for generating synthetic dataset of each numerical exampleModel.py
: neural network modulesNF_tools.py
: Specific functions used by the Real-NVP based normalizing flow modelTraining_tools.py
: training and testing functions of the inVAErt networksplotter.py
: common and specific plotter functions
Underdetermined_Linear_System.ipynb
: Section 4.1 of the paper. Study of an underdetermined linear system with non-trivial null space.Single_sine_wave.ipynb
: Section 4.2 of the paper. Study of a simple nonlinear system: sine waves without periodicity.Sine_Waves.ipynb
: Section 4.2 of the paper. Study of the former sine waves problem with periodicity.RCR.ipynb
: Section 4.3 of the paper. Study of the non-identifiable three-element (R-C-R) Windkessel model.Lotka-Volterra.ipynb
: Additional example, not in the paper. Study of the predator-prey model.
Note: the Jupyter notebooks are created for illustration purposes thus the hyper-parameters are adjusted for swift and efficient execution. For more accurate results, we recommend running the code locally with fine-tuned hyper-parameters. Suggested hyper-parameters can be found in the appendix of the paper.
Did you find this useful? Please cite us using:
@article{tong2024invaert,
title={InVAErt networks: A data-driven framework for model synthesis and identifiability analysis},
author={Tong, Guoxiang Grayson and Long, Carlos A Sing and Schiavazzi, Daniele E},
journal={Computer Methods in Applied Mechanics and Engineering},
volume={423},
pages={116846},
year={2024},
publisher={Elsevier}
}
Pytorch
: 2.4.1CUDA
: 11.8Python
: 3.10.12numpy
: 1.26.4scipy
: 1.12.0matplotlib
: 3.9.2mpi4py
: 4.0.0