Code to reproduce results in Ziyi Yin*, Rafael Orozco*, Mathias Louboutin, Felix J. Herrmann, "WISE: full-Waveform variational Inference via Subsurface Extensions". Published in Geophysics. DOI: 10.1190/geo2023-0744.1
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.
We use JUDI.jl for wave modeling and inversion, which calls the highly optimized propagators of Devito.
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.
First, install Julia and Python. The scripts will contain package installation commands at the beginning so the packages used in the experiments will be automatically installed.
gen_cig_openfwi.jl generates seismic data and computes common-image gathers for the CurveFault-A velocity models in the Open FWI dataset. 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 generates seismic data and computes common-image gathers for the velocity models in the Compass dataset. 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 produces the inference results listed in the WISE paper.
The script utils.jl parses the input as keywords for each experiment.
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 | compass_rtm.bson |
Common-image gathers | openfwi_cig.bson | compass_cig.bson |
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.
The software used in this repository can be modified and redistributed according to MIT license.
If you use our software for your research, we appreciate it if you cite us following the bibtex in CITATION.bib.
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.
SLIM public GitHub account, https://github.com/slimgroup.