Reproducible material for Learned regularizations for elastic full waveform inversion using diffusion models - Mohammad H. Taufik, Fu Wang, Tariq Alkhalifah.
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.
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.
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 thecombined
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.
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.
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.
@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}
}