Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/slimgroup/wise.jl
WISE: full-Waveform variational Inference via Subsurface Extensions
https://github.com/slimgroup/wise.jl
bayesian-inference conditional-normalizing-flows full-waveform-inversion generative-ai normalizing-flows uncertainty-quantification
Last synced: about 1 month ago
JSON representation
WISE: full-Waveform variational Inference via Subsurface Extensions
- Host: GitHub
- URL: https://github.com/slimgroup/wise.jl
- Owner: slimgroup
- License: mit
- Created: 2024-01-18T00:56:31.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-06-12T02:27:08.000Z (7 months ago)
- Last Synced: 2024-06-12T08:42:35.002Z (7 months ago)
- Topics: bayesian-inference, conditional-normalizing-flows, full-waveform-inversion, generative-ai, normalizing-flows, uncertainty-quantification
- Language: Julia
- Homepage: https://doi.org/10.1190/geo2023-0744.1
- Size: 23.9 MB
- Stars: 2
- Watchers: 4
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.bib
Awesome Lists containing this project
README
WISE: full-Waveform variational Inference via Subsurface Extensions
[![][license-img]][license-status] [![][zenodo-img]][zenodo-status]
Code to reproduce results in Ziyi Yin\*, Rafael Orozco\*, Mathias Louboutin, Felix J. Herrmann, "[WISE: full-Waveform variational Inference via Subsurface Extensions](https://doi.org/10.1190/geo2023-0744.1)". Published in Geophysics. DOI: 10.1190/geo2023-0744.1
## Software descriptions
All of the software packages used in this paper are fully *open source, scalable, interoperable, and differentiable*. The readers are welcome to learn about our software design principles from [this open-access article](https://library.seg.org/doi/10.1190/tle42070474.1).
#### Wave modeling
We use [JUDI.jl](https://github.com/slimgroup/JUDI.jl) for wave modeling and inversion, which calls the highly optimized propagators of [Devito](https://www.devitoproject.org/).
#### Conditional normalizing flows
We use [InvertibleNetworks.jl] to train the conditional normalizing flows (CNFs). This package implements memory-efficient invertible networks via hand-written derivatives. This ensures that these invertible networks are scalable to realistic 3D problems.
## Installation
First, install [Julia](https://julialang.org/) and [Python](https://www.python.org/). The scripts will contain package installation commands at the beginning so the packages used in the experiments will be automatically installed.
## Scripts
[gen_cig_openfwi.jl](scripts/gen_cig_openfwi.jl) generates seismic data and computes common-image gathers for the CurveFault-A velocity models in the [Open FWI dataset](https://arxiv.org/abs/2111.02926). [train_openfwi.jl](scripts/train_openfwi.jl) trains the conditional normalizing flows with pairs of velocity models and (extended) reverse-time migrations for the Open FWI dataset.
[gen_cig_compass.jl](scripts/gen_cig_compass.jl) generates seismic data and computes common-image gathers for the velocity models in the [Compass dataset](https://doi.org/10.3997/2214-4609.20148575). [train_compass.jl](scripts/train_compass.jl) trains the conditional normalizing flows with pairs of velocity models and (extended) reverse-time migrations for the Compass dataset.
[inference_compass.jl](scripts/inference_compass.jl) produces the inference results listed in the WISE paper.
The script [utils.jl](scripts/utils.jl) parses the input as keywords for each experiment.
## Trained networks
4 trained conditional normalizing flows can be downloaded from dropbox, with description below
| Summary statistics \ dataset | Open FWI | Compass |
|---------------------|----------|----------|
| Reverse-time migration | [openfwi_rtm.bson](https://www.dropbox.com/scl/fi/6k77ptwot5yjwxjgfwyl1/openfwi_rtm.bson?rlkey=wcgk6ny371qahakqgqppoujvn&dl=0) | [compass_rtm.bson](https://www.dropbox.com/scl/fi/ucqpwoz9rd9uj7gnjerxp/compass_rtm.bson?rlkey=9wtxddzev2gju5jd0aoa6vhtc&dl=0) |
| Common-image gathers | [openfwi_cig.bson](https://www.dropbox.com/scl/fi/k3q7vyeg7fe0z7hrho6mi/openfwi_cig.bson?rlkey=4wpeq8s9x8hs5ynde3yaitcmh&dl=0) | [compass_cig.bson](https://www.dropbox.com/scl/fi/uon81i1y2xok0wj569146/compass_cig.bson?rlkey=bo2psq4z7q00j0vo9amexuf02&dl=0) |## Further developments
To further improve the inference results and mitigate the amortization gap via frugal usage of wave physics, please feel free to have a look at our latest development: [WISER](https://arxiv.org/abs/2405.10327).
## LICENSE
The software used in this repository can be modified and redistributed according to [MIT license](LICENSE).
## Reference
If you use our software for your research, we appreciate it if you cite us following the bibtex in [CITATION.bib](CITATION.bib).
## Authors
This repository is written by [Ziyi Yin] and [Rafael Orozco] from the [Seismic Laboratory for Imaging and Modeling] (SLIM) at the Georgia Institute of Technology.
If you have any question, we welcome your contributions to our software by opening issue or pull request.
SLIM Group @ Georgia Institute of Technology, [https://slim.gatech.edu](https://slim.gatech.edu/).
SLIM public GitHub account, [https://github.com/slimgroup](https://github.com/slimgroup).[license-status]:LICENSE
[license-img]:http://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat?style=plastic
[Seismic Laboratory for Imaging and Modeling]:https://slim.gatech.edu/
[InvertibleNetworks.jl]:https://github.com/slimgroup/InvertibleNetworks.jl
[Ziyi Yin]:https://ziyiyin97.github.io/
[Rafael Orozco]:https://slim.gatech.edu/people/rafael-orozco
[zenodo-status]:https://doi.org/10.5281/zenodo.10910092
[zenodo-img]:https://zenodo.org/badge/DOI/10.5281/zenodo.10910092.svg?style=plastic