ADFWI-Torch


NameADFWI-Torch JSON
Version 0.0.8 PyPI version JSON
download
home_pagehttps://github.com/liufeng2317/ADFWI
Summaryadfwi: A framework for high-resolution subsurface parameter estimation using Full Waveform Inversion
upload_time2024-10-17 12:41:32
maintainerNone
docs_urlNone
authorLiu Feng
requires_pythonNone
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!--
 * @Author: LiuFeng(USTC) : 
   * liufeng2317@mail.ustc.edu.cn
   * liufeng1@pjlab.org.cn
 * @Date: 2023-07-03 11:16:43
 * @LastEditors: LiuFeng
 * @LastEditTime: 2024-01-02 13:16:52
 * @FilePath: /ADFWI/README.md
 * @Description: 
 * Copyright (c) 2024 by liufeng2317 email: liufeng1@pjlab.org.cn, All Rights Reserved.
-->

# 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](https://www.python.org/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`:
   ```bash
   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:
    ```bash
    git clone https://github.com/liufeng2317/ADFWI.git
    cd ADFWI
    ```
    Then, install the necessary packages:
    ```bash
    pip install -r requirements.txt
    ```
- Method 2: Install via pip
  Alternatively, you can directly install ADFWI from PyPI:
  ```bash
    pip install ADFWI-Torch
  ```

4. **Verify the Installation**
  To ensure that ADFWI is installed correctly, run any examples located in the examples folder.

5. **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](https://github.com/liufeng2317/ADFWI). 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](https://opensource.org/licenses/MIT). 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  

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

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/liufeng2317/ADFWI",
    "name": "ADFWI-Torch",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "Liu Feng",
    "author_email": "liufeng1@pjlab.org.cn",
    "download_url": "https://files.pythonhosted.org/packages/91/56/c4a0dcc80e2d1afafdab00b563c8bc6f6231c854d4e44ec40ba40d935559/adfwi_torch-0.0.8.tar.gz",
    "platform": null,
    "description": "<!--\n * @Author: LiuFeng(USTC) : \n   * liufeng2317@mail.ustc.edu.cn\n   * liufeng1@pjlab.org.cn\n * @Date: 2023-07-03 11:16:43\n * @LastEditors: LiuFeng\n * @LastEditTime: 2024-01-02 13:16:52\n * @FilePath: /ADFWI/README.md\n * @Description: \n * Copyright (c) 2024 by liufeng2317 email: liufeng1@pjlab.org.cn, All Rights Reserved.\n-->\n\n# Automatic Differentiation-Based Full Waveform Inversion\n\n---\n\n## \ud83d\udc69\u200d\ud83d\udcbb Introduction\n**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.\n\nIn 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.\n\n\n---\n\n## \u26a1\ufe0f Installation\n\nTo install the Automatic Differentiation-Based Full Waveform Inversion (ADFWI) framework, please follow these steps:\n\n1. **Ensure Prerequisites**  \n   Before you begin, make sure you have the following software installed on your system:  \n   - **Python 3.8 or higher**: Download Python from the official website: [Python Downloads](https://www.python.org/downloads/).\n   - **pip** (Python package installer).\n\n2. **Create a Virtual Environment (Optional but Recommended)**\n   It is recommended to create a virtual environment to manage your project dependencies. You can use either `venv` or `conda`. \n   For example, using `conda`:\n   ```bash\n   conda create --name adfwi-env python=3.8\n   conda activate adfwi-env\n   ```\n\n3. **Install Required Packages**\n- Method 1: **Clone the github Repository**\n  This method provides the latest version, which may be more suitable for your research:\n    ```bash\n    git clone https://github.com/liufeng2317/ADFWI.git\n    cd ADFWI\n    ```\n    Then, install the necessary packages:\n    ```bash\n    pip install -r requirements.txt\n    ```\n- Method 2: Install via pip\n  Alternatively, you can directly install ADFWI from PyPI:\n  ```bash\n    pip install ADFWI-Torch\n  ```\n\n4. **Verify the Installation**\n  To ensure that ADFWI is installed correctly, run any examples located in the examples folder.\n\n5. **Troubleshooting**\n   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.\n\n---\n\n## \ud83d\udc7e Examples\n\nFor examples and usage instructions, please check the GitHub repository: [ADFWI GitHub Repository](https://github.com/liufeng2317/ADFWI). There, you will find various examples that demonstrate how to utilize the ADFWI framework effectively.\n\n---\n\n## \ud83d\udcdd Features\n- **Multi-Wave Equation**:\n  - Iso-Acoustic\n  - Iso-Elastic\n  - VTI-Elastic\n  - TTI-Elastic\n- **Various Objective Functions**\n  - L1-norm\n  - L2-norm\n  - Smooth-L1 norm\n  - Envelope\n  - Global Correlation\n  - T-Distribution (StudentT)\n  - Soft Dynamic Time Wrapping (SoftDTW)\n  - Wasserstein Distance-based with Sinkhorn (Wassrestein)\n- **Various Optimization Methods**\n  - SGD\n  - ASGD\n  - RMSProp\n  - Adagrad\n  - Adam\n  - AdamW\n  - NAdam\n  - RAdam\n- **Deep Neural Network Integration**\n  - DNNs reparameterize the Earth Model for learnable regularization\n  - Droupout for access the inversion uncertainty\n- **Resource Management**\n  - Mini-batch\n  - Checkpointing\n- **Robustness and Portability**\n  - Each of the method has proposed a code for testing.\n\n---\n\n## \u2696\ufe0f LICENSE\n\nThe **Automatic Differentiation-Based Full Waveform Inversion (ADFWI)** framework is licensed under the [MIT License](https://opensource.org/licenses/MIT). This license allows you to:\n\n- **Use**: You can use the software for personal, academic, or commercial purposes.\n- **Modify**: You can modify the software to suit your needs.\n- **Distribute**: You can distribute the original or modified software to others.\n- **Private Use**: You can use the software privately without any restrictions.\n\n---\n## \ud83d\udd30 Contact\n\n**Liu Feng**  \nShanghai Artificial Intelligence Laboratory & Shanghai Jiao Tong University  \nEmail: liufeng2317@mail.sjtu.edu.cn or liufeng1@pjlab.org.cn  \n\n```bibtex\n@software{LiuFeng2317,\n  author       = {Feng Liu, GuangYuan Zou, \\& Haipeng Li},\n  title        = {ADFWI},\n  month        = July,\n  year         = 2024,\n  version      = {v1.1},\n}\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "adfwi: A framework for high-resolution subsurface parameter estimation using Full Waveform Inversion",
    "version": "0.0.8",
    "project_urls": {
        "Homepage": "https://github.com/liufeng2317/ADFWI"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5573750e68fc3c5e81165fe03622b3f3b7319b33a274fcd2cd3c472a41b1626b",
                "md5": "bdd6319a4c22f8c737507da7b7e89fc3",
                "sha256": "365b8025b63189f50bdb6e926acc69acaa24ea8a3fabdbc830605b208a454dbe"
            },
            "downloads": -1,
            "filename": "ADFWI_Torch-0.0.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bdd6319a4c22f8c737507da7b7e89fc3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 105559,
            "upload_time": "2024-10-17T12:41:30",
            "upload_time_iso_8601": "2024-10-17T12:41:30.228624Z",
            "url": "https://files.pythonhosted.org/packages/55/73/750e68fc3c5e81165fe03622b3f3b7319b33a274fcd2cd3c472a41b1626b/ADFWI_Torch-0.0.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9156c4a0dcc80e2d1afafdab00b563c8bc6f6231c854d4e44ec40ba40d935559",
                "md5": "9526506a002565f06d25d60e9931cbb4",
                "sha256": "ed61147f338a71708696b5a1b2676ebb726c3721b9e8ef72055eb8a747bd3abe"
            },
            "downloads": -1,
            "filename": "adfwi_torch-0.0.8.tar.gz",
            "has_sig": false,
            "md5_digest": "9526506a002565f06d25d60e9931cbb4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 81872,
            "upload_time": "2024-10-17T12:41:32",
            "upload_time_iso_8601": "2024-10-17T12:41:32.541681Z",
            "url": "https://files.pythonhosted.org/packages/91/56/c4a0dcc80e2d1afafdab00b563c8bc6f6231c854d4e44ec40ba40d935559/adfwi_torch-0.0.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-17 12:41:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "liufeng2317",
    "github_project": "ADFWI",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "adfwi-torch"
}
        
Elapsed time: 0.71854s