Skip to main content

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},
}

Metadata

Release files for ADFWI-Torch 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ADFWI-Torch 0.1.2
File Size Uploaded
adfwi_torch-0.1.2.tar.gz 119.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ADFWI-Torch 0.1.2
File Interpreter ABI Platform
ADFWI_Torch-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 304.9 kB

Release files / adfwi_torch-0.1.2.tar.gz

Download URL adfwi_torch-0.1.2.tar.gz
Size 119.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3d2560411382fc9ffac71dfee5cf76a0ce79cfbd1dc4ddae5c895445a2ad0b22
BLAKE2b-256 checksum
How to use checksums
fff9b0f4da8e4677de64978a2a087020b50798d9c1490866d77a9fa326d6b3ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.8.19

Release files / ADFWI_Torch-0.1.2-py3-none-any.whl

Download URL ADFWI_Torch-0.1.2-py3-none-any.whl
Size 185.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e556938559b41c01e43c72cf6c17c715c31fd8fe603f995d81acd74d184d554b
BLAKE2b-256 checksum
How to use checksums
ee1e7c053ad8e9816de969d38367273eae3e29e8edde9cb217ec2a06fd665335
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.8.19

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page