Skip to content

Reproducible material for Annealed Stein Variational Gradient Descent for Improved Uncertainty Estimation in Full-Waveform Inversion

Notifications You must be signed in to change notification settings

DeepWave-KAUST/AnnealedSVGD_FWI

Repository files navigation

LOGO

Reproducible material for Annealed Stein Variational Gradient Descent for Improved Uncertainty Estimation in Full-Waveform Inversion


Corrales M.1+, Berti S.2+, Denel B.3, Williamson P.3, Aleardi M.2, and Ravasi M.1
1 King Abdullah University of Science and Technology (KAUST)
2 University of Pisa
3 TotalEnergies
+ Equal contribution

📊 Project structure

This repository is organized as follows:

  • 📂 svgdfwi: python library containing routines for SVGD-FWI.
  • 📂 data: folder containing data.
  • 📂 notebooks: set of jupyter notebooks testing the scripts.
  • 📂 scripts: set of python scripts used to run multiple experiments (exp-for single frequency, and multiscale-for multi-frequency FWI).
  • 📂 videos: Videos and plots for experiment monitoring.
  • 📂 visualization: python routines for final plots.

🔥 Notebooks

The following notebooks are provided:

  • 📙 00_testing_svgd_fwi.ipynb: notebook performing the svgd setup for fwi;
  • 📙 01_HDBSCAN_clustering.ipynb: notebook performing HDBSCAN clustering in the particles.

⚡ Scripts

Set of scripts that are detailed on the file 📗 experiment_list.xlsx.

🎮 Getting started

To ensure reproducibility of the results, we suggest using the environment.yml file when creating an environment.

Tip

In case you are experiencing slow installation on your conda, we advise updating your conda with the following commands:

conda info
conda update -n base conda
conda install -n base conda-libmamba-solver
conda config --set solver libmamba

This update will allow your conda to install packages in parallel.

Important

To install the env and package, simply run:

./install_env.sh

It will take some time. If at the end you see the word Done! on your terminal, you are ready to go. After that, you can simply install your package (svgdfwi has to be activated):

pip install .

or in developer mode:

pip install -e .

Remember to always activate the environment by typing:

conda activate svgdfwi

Finally, to run the scripts, go to the scripts folder and run:

nohup python -u $your_python_file$.py hydra.job.chdir=False > $your_python_file$.log &

Note

All experiments have been carried on a Intel(R) Xeon(R) Gold 6142 CPU @ 2.60GHz equipped with a single NVIDIA A100-SXM4-80GB. Different environment configurations may be required for different combinations of workstation and GPU.

Find it useful? Please cite us! 👽 🛸 🐄

If you find this project useful, please consider citing our work using the following BibTeX reference:

@article{10.1093/gji/ggaf096,
    author = {Corrales, Miguel and Berti, Sean and Denel, Bertrand and Williamson, Paul and Aleardi, Mattia and Ravasi, Matteo},
    title = {Annealed Stein Variational Gradient Descent for Improved Uncertainty Estimation in Full-Waveform Inversion},
    journal = {Geophysical Journal International},
    pages = {ggaf096},
    year = {2025},
    month = {03},
    issn = {1365-246X},
    doi = {10.1093/gji/ggaf096},
    url = {https://doi.org/10.1093/gji/ggaf096}
}

About

Reproducible material for Annealed Stein Variational Gradient Descent for Improved Uncertainty Estimation in Full-Waveform Inversion

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published