Diffefwi
Official repository for the "Learned regularizations for multi-parameter elastic full waveform inversion using diffusion models" paper.
Install / Use
/learn @DeepWave-KAUST/DiffefwiREADME

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:
- :open_file_folder: asset: folder containing logo.
- :open_file_folder: data: a folder containing the subsampled velocity models used to train the diffusion model.
- :open_file_folder: notebooks: reproducible notebook for the third synthetic test of the paper (near-surface SEAM Arid model).
- :open_file_folder: saves: a folder containing the trained diffusion model (using the combined dataset) and results from the EFWI.
- :open_file_folder: scripts: a set of Python scripts used to run diffusion training, diffusion sampling, and EFWI.
- :open_file_folder: src: a folder containing routines for the
diffefwisource file.
Notebooks
The following notebooks are provided:
- :orange_book:
Example-2-efwi.ipynb: notebook reproducing the results of the near-surface synthetic test in the paper. - :orange_book:
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 thecombineddataset 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 :space_invader: :robot:
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}
}
Related Skills
node-connect
352.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
