Skip to content

DeepWave-KAUST/DeepTimeshift-pub

Repository files navigation

LOGO

Reproducible material for A Deep Learning-based time shift objective function for Full Waveform Inversion - Alfarhan M., Chen F., Turkiyyah G., Keyes D., Vasconcelos I., Ravasi M.

Project structure

This repository is organized as follows:

  • 📂 deeptimeshift: python library containing routines for time shift prediction for FWI;
  • 📂 asset: folder containing logo;
  • 📂 data: folder containing data (or instructions on how to retrieve the data);
  • 📂 notebooks: set of jupyter notebooks reproducing the experiments in the paper (see below for more details);
  • 📂 scripts: set of python scripts reproducing the experiments in the paper (see below for more details);

Notebooks

The following notebooks are provided:

  • 📙 Training_Marmousi.ipynb: notebook training a neural network on time shift estimation using Marmousi.
  • 📙 FWI_L2_Marmousi.ipynb: notebook performing FWI with L2 norm loss on Marmousi.
  • 📙 FWI_SoftDTW_Marmousi.ipynb: notebook performing FWI with SoftDTW loss on Marmousi.
  • 📙 FWI_TimeshiftNN_Marmousi.ipynb: notebook performing FWI with the time shift estimated with the neural network on Marmousi.
  • 📙 Training_Chevron.ipynb: notebook training a neural network on time shift estimation using Chevron data.

Scripts

The following scripts are provided:

  • 🐍 FWI_Chevron.ipynb: script performing FWI on Chevron data with argparsing for different loss functions.

Getting started 👾 🤖

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

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. Note that if cuda is detected, environment-gpu.yml will be used otherwise environment-cpu.yml.

Remember to always activate the environment by typing:

conda activate deeptimeshift

After that you can simply install your package:

pip install .

or in developer mode:

pip install -e .

If you get an error related to Numpy > 2.0, follow these steps:

pip uninstall numpy
pip install numpy==1.26.4

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages