DeepWave-KAUST / diffefwi

Official repository for the "Learned regularizations for multi-parameter elastic full waveform inversion using diffusion models" paper.

Home Page:http://dx.doi.org/10.1029/2024JH000125

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LOGO

Reproducible material for Learned regularizations for elastic full waveform inversion using diffusion models - Mohammad H. Taufik, Fu Wang, Tariq Alkhalifah.

Project structure

This repository is organized as follows:

  • πŸ“‚ asset: folder containing logo.
  • πŸ“‚ data: a folder containing the subsampled velocity models used to train the diffusion model.
  • πŸ“‚ notebooks: reproducible notebook for the third synthetic test of the paper (near-surface SEAM Arid model).
  • πŸ“‚ saves: a folder containing the trained diffusion model (using the combined dataset) and results from the EFWI.
  • πŸ“‚ scripts: a set of Python scripts used to run diffusion training, diffusion sampling, and EFWI.
  • πŸ“‚ src: a folder containing routines for the diffefwi source file.

Notebooks

The following notebooks are provided:

  • πŸ“™ Example-2-efwi.ipynb: notebook reproducing the results of the near-surface synthetic test in the paper.
  • πŸ“™ colab.ipynb: notebook to run the experiments from Google Colab.

Scripts

The following scripts are provided:

  • πŸ“: Example-0-unconditional-sampling.py: drawing unconditional samples from a trained diffusion model.
  • πŸ“: Example-1-diffusion-training.py: diffusion model training using the combined dataset of the paper.
  • πŸ“: Example-2-efwi.py: simple multi-parameter checkerboard test with an acquisition setting mimicking the land field data application of the paper.

Getting started πŸ‘Ύ πŸ€–

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

To install the environment, run the following command:

./install_env.sh

It will take some time, but if, in the end, you see the word Done! on your terminal, you are ready to go.

Remember to always activate the environment by typing:

conda activate diffefwi

Disclaimer: All experiments have been carried on a Intel(R) Xeon(R) Silver 4316 CPU @ 2.30GHz equipped with a single NVIDIA A100 GPU. Different environment configurations may be required for different combinations of workstation and GPU.

Running from virtual machines

Our diffefwi source codes can be installed as a standalone python package. It can directly be installed and utilized on existing open-source GPU providers, like Google Colab. Please refer to our colab.ipynb notebook for the details.

Cite us

@article{taufik2024learned,
  title={Learned regularizations for multi-parameter elastic full waveform inversion using diffusion models}, 
  doi={10.1029/2024JH000125},
  author={Taufik, Mohammad Hasyim and Wang, Fu and Alkhalifah, Tariq},
  journal={Journal of Geophysical Research: Machine Learning and Computation},
  year={2024},
  publisher={Wiley Online Library}
}

About

Official repository for the "Learned regularizations for multi-parameter elastic full waveform inversion using diffusion models" paper.

http://dx.doi.org/10.1029/2024JH000125


Languages

Language:Jupyter Notebook 98.4%Language:Python 1.6%Language:Shell 0.0%