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.
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);
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.
The following scripts are provided:
- 🐍
FWI_Chevron.ipynb
: script performing FWI on Chevron data with argparsing for different loss functions.
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.