Skip to content

DIG-Kaust/DeepPrecs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c84ec29 Β· May 1, 2024

History

37 Commits
Nov 14, 2022
Sep 7, 2022
Mar 22, 2023
Mar 22, 2023
Nov 14, 2022
Aug 22, 2022
Apr 6, 2023
Nov 5, 2022
Aug 25, 2022
Aug 25, 2022
May 1, 2024
Dec 3, 2023

Repository files navigation

LOGO

deepprecs is a Python library aimed at providing the fundamental building blocks to solve Inverse Problems with the aid of Deep Preconditioners: this library is implemented on top of Pytorch-Lightning (for network training) and PyLops (for physical operators).

For more details refer to the accompanying papers: Ravasi (2022), Deep Preconditioners and their application to seismic wavefield processing - Frontiers in Earth Science and Xu et al. (2022), Intelligent seismic deblending through deep preconditioner - IEEE.

Project structure

This repository is organized as follows:

  • πŸ“‚ deepprecs: python library containing routines for training and application of deep preconditioners to inverse problems;
  • πŸ“‚ data: folder containing instructions on how to retrieve the data used in the examples;
  • πŸ“‚ notebooks: set of jupyter notebooks applying deep preconditioners to a number of problems of increasing complexity;
  • πŸ“‚ scripts: set of python scripts used to run seismic interpolation experiments in batch mode;
  • πŸ“‚ config: set of configuration files to run scripts.

Notebooks

The following notebooks are provided:

  • πŸ“™ sinusoids/Sinusoid_reconstruction_pl.ipynb: notebook performing 1D interpolation with deep precondtioners;
  • πŸ“™ syncline/Syncline_deghosting_pl.ipynb: notebook performing deghosting of a Syncline shot gather with deep preconditioners (including training);
  • πŸ“™ syncline/Syncline_deghosting_inferenceonly.ipynb: notebook performing deghosting of a Syncline shot gather with deep precondtioners (only inference with pre-trained model);
  • πŸ“™ syncline/Syncline_deblending_pl.ipynb: notebook performing deblending of a Syncline receiver gather with deep precondtioners (including training);
  • πŸ“™ marmousi/Marmousi_deghosting_pl.ipynb: notebook performing deghosting of a Marmousi shot gather with deep preconditioners (including training);

Getting started πŸ‘Ύ πŸ€–

To ensure reproducibility of the results, we suggest using the environment.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. After that you can simply install your package:

pip install .

or in developer mode:

pip install -e .

Remember to always activate the environment by typing:

conda activate deepprecs

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

Citing πŸ“° πŸ†

If you find this library useful for your work, please cite the following papers

@article{ravasi2022,
	title={Deep Preconditioners and their application to seismic wavefield processing},
	authors={M., Ravasi},
	journal={Frontiers in Earth Science},
	year={2022}
}
@article{xu2022,
	title={Deep Preconditioners and their application to seismic wavefield processing},
	authors={W. Xu, V. Lipari, P. Bestagini, M. Ravasi, W. Chen, S. Tubaro},
	journal={IEEE Geoscience and Remote Sensing Letters},
	year={2022}
}

About

Deep Preconditioned Inverse problems

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages