Skip to main content

adfwi: A framework for high-resolution subsurface parameter estimation using Full Waveform Inversion

Project description

Automatic Differentiation-Based Full Waveform Inversion


👩‍💻 Introduction

ADFWI is an open-source framework for high-resolution subsurface parameter estimation by minimizing discrepancies between observed and simulated seismic data. Utilizing automatic differentiation (AD), ADFWI simplifies the derivation and implementation of Full Waveform Inversion (FWI), enhancing the design and evaluation of methodologies. It supports wave propagation in various media, including isotropic acoustic, isotropic elastic, and both vertical transverse isotropy (VTI) and tilted transverse isotropy (TTI) models.

In addition, ADFWI provides a comprehensive collection of Objective functions, regularization techniques, optimization algorithms, and deep neural networks. This rich set of tools facilitates researchers in conducting experiments and comparisons, enabling them to explore innovative approaches and refine their methodologies effectively.


⚡️ Installation

To install the Automatic Differentiation-Based Full Waveform Inversion (ADFWI) framework, please follow these steps:

  1. Ensure Prerequisites
    Before you begin, make sure you have the following software installed on your system:

    • Python 3.8 or higher: Download Python from the official website: Python Downloads.
    • pip (Python package installer).
  2. Create a Virtual Environment (Optional but Recommended) It is recommended to create a virtual environment to manage your project dependencies. You can use either venv or conda. For example, using conda:

    conda create --name adfwi-env python=3.8
    conda activate adfwi-env
    
  3. Install Required Packages

  • Method 1: Clone the github Repository This method provides the latest version, which may be more suitable for your research:
    git clone https://github.com/liufeng2317/ADFWI.git
    cd ADFWI
    
    Then, install the necessary packages:
    pip install -r requirements.txt
    
  • Method 2: Install via pip Alternatively, you can directly install ADFWI from PyPI:
      pip install ADFWI-Torch
    
  1. Verify the Installation To ensure that ADFWI is installed correctly, run any examples located in the examples folder.

  2. Troubleshooting If you encounter any issues during installation, please check the Issues section of the GitHub repository for potential solutions or to report a new issue.


👾 Examples

For examples and usage instructions, please check the GitHub repository: ADFWI GitHub Repository. There, you will find various examples that demonstrate how to utilize the ADFWI framework effectively.


📝 Features

  • Multi-Wave Equation:
    • Iso-Acoustic
    • Iso-Elastic
    • VTI-Elastic
    • TTI-Elastic
  • Various Objective Functions
    • L1-norm
    • L2-norm
    • Smooth-L1 norm
    • Envelope
    • Global Correlation
    • T-Distribution (StudentT)
    • Soft Dynamic Time Wrapping (SoftDTW)
    • Wasserstein Distance-based with Sinkhorn (Wassrestein)
  • Various Optimization Methods
    • SGD
    • ASGD
    • RMSProp
    • Adagrad
    • Adam
    • AdamW
    • NAdam
    • RAdam
  • Deep Neural Network Integration
    • DNNs reparameterize the Earth Model for learnable regularization
    • Droupout for access the inversion uncertainty
  • Resource Management
    • Mini-batch
    • Checkpointing
  • Robustness and Portability
    • Each of the method has proposed a code for testing.

⚖️ LICENSE

The Automatic Differentiation-Based Full Waveform Inversion (ADFWI) framework is licensed under the MIT License. This license allows you to:

  • Use: You can use the software for personal, academic, or commercial purposes.
  • Modify: You can modify the software to suit your needs.
  • Distribute: You can distribute the original or modified software to others.
  • Private Use: You can use the software privately without any restrictions.

🔰 Contact

Liu Feng
Shanghai Artificial Intelligence Laboratory & Shanghai Jiao Tong University
Email: liufeng2317@mail.sjtu.edu.cn or liufeng1@pjlab.org.cn

@software{LiuFeng2317,
  author       = {Feng Liu, GuangYuan Zou, \& Haipeng Li},
  title        = {ADFWI},
  month        = July,
  year         = 2024,
  version      = {v1.1},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adfwi_torch-0.0.2.tar.gz (69.4 kB view details)

Uploaded Source

Built Distribution

ADFWI_Torch-0.0.2-py3-none-any.whl (96.7 kB view details)

Uploaded Python 3

File details

Details for the file adfwi_torch-0.0.2.tar.gz.

File metadata

  • Download URL: adfwi_torch-0.0.2.tar.gz
  • Upload date:
  • Size: 69.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.19

File hashes

Hashes for adfwi_torch-0.0.2.tar.gz
Algorithm Hash digest
SHA256 3d7f89b116bb1f5d1c91cee1d8954dfae7d0e8e51f49ed18a300b01d65865e8f
MD5 309ab188cd430b7dc484860bf21f0a0b
BLAKE2b-256 e91ef1f3cf91da4e812ab694768bc5caa6afbb4ff5dd723ee28952a71d1e88f5

See more details on using hashes here.

File details

Details for the file ADFWI_Torch-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: ADFWI_Torch-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 96.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.19

File hashes

Hashes for ADFWI_Torch-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c660f84b476c7be801c3fb1af41fe29991b7a4c8f1a419da531f9cded3f402c2
MD5 d4d09e68fc8fd6cdb6cf1b90eb2c5534
BLAKE2b-256 c4e3b880c936f39be3a3f757dd14a1da2f94c763a706e1d7503e07fb1a2609ef

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page