Coder Social home page Coder Social logo

dig-kaust / rockgan Goto Github PK

View Code? Open in Web Editor NEW
27.0 1.0 6.0 69.98 MB

Reproducible material for A Wasserstein GAN with gradient penalty for 3D porous media generation.

Python 0.10% Jupyter Notebook 99.90% Shell 0.01%
deep-generative-model digital-rocks generative-adversarial-network porous-media

rockgan's Introduction

LOGO

Reproducible material for A Wasserstein GAN with gradient penalty for 3D porous media generation.
Corrales M., Izzatullah M., Hoteit H., and Ravasi M.

Submitted to Second EAGE Subsurface Intelligence Workshop, 28-31 October 2022, Manama, Bahrain

Project structure

This repository is organized as follows:

  • ๐Ÿ“‚ checkpoints: folder containing the trained generator every two epochs for RockGAN and CRockGAN.
  • ๐Ÿ“‚ data: folder containing data and instructions on how to retrieve the data.
  • ๐Ÿ“‚ figures: folder containing the 3D figures of the results obtained.
  • ๐Ÿ“‚ notebooks: set of jupyter notebooks reproducing the experiments in the paper (REV, Training for RockGAN and CRockGAN, and metrics by epochs).
  • ๐Ÿ“‚ rockgan: package of the project.

Notebooks

The following notebooks are provided:

  • ๐Ÿ“™ 01_Representative_Elementary_Volume_REV.ipynb: notebook performing Representative Elementary Volume for porosity and permeability to determine sub-volume size for data augmentation.
  • ๐Ÿ“™ 02_Training_RockGAN.ipynb: notebook performing Training of RockGAN.
  • ๐Ÿ“™ 03_Training_CRockGAN.ipynb: notebook performing Training of CRockGAN.
  • ๐Ÿ“™ 04_Results_Minkowski_by_epochs.ipynb: notebook performing comparison results of the Minkowski functionales by epochs (RockGAN VS CRockGAN).
  • ๐Ÿ“™ 05_Results_TwoPointStat_by_epochs.ipynb: notebook performing comparison results of the Two-point statistics by epochs (RockGAN VS CRockGAN).
  • ๐Ÿ“™ 06_Results_Permeability_by_epochs.ipynb: notebook performing comparison results of permeability by epochs (RockGAN VS CRockGAN).
  • ๐Ÿ“™ 07_Results_3D_Visualization.ipynb: notebook performing 3D visualization of the samples after 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 rockgan

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.

References

  • Mosser, L., Dubrule, O., & Blunt, M. J. (2017). Reconstruction of three-dimensional porous media using generative adversarial neural networks [https://github.com/LukasMosser/PorousMediaGan]
  • Gostick J, Khan ZA, Tranter TG, Kok MDR, Agnaou M, Sadeghi MA, Jervis R. PoreSpy: A Python Toolkit for Quantitative Analysis of Porous Media Images. Journal of Open Source Software, 2019. doi:10.21105/joss.01296 [https://github.com/PMEAL/porespy]
  • Gostick et al. "OpenPNM: a pore network modeling package." Computing in Science & Engineering 18, no. 4 (2016): 60-74. doi:10.1109/MCSE.2016.49 [https://github.com/PMEAL/OpenPNM]
  • Arnout M.P. Boelens, and Hamdi A. Tchelepi, QuantImPy: Minkowski functionals and functions with Python, SoftwareX, Volume 16, 2021, 100823, ISSN 2352-7110, doi: 10.1016/j.softx.2021.100823 [https://github.com/boeleman/quantimpy]

Did you find this repository useful? Please cite us

@article{eage:/content/papers/10.3997/2214-4609.2022616005,
   author = "Corrales, M. and Izzatullah, M. and Hoteit, H. and Ravasi, M.",
   title = "A Wasserstein GAN with Gradient Penalty for 3D Porous Media Generation.", 
   journal= "",
   year = "2022",
   volume = "2022",
   number = "1",
   pages = "1-5",
   doi = "https://doi.org/10.3997/2214-4609.2022616005",
   url = "https://www.earthdoc.org/content/papers/10.3997/2214-4609.2022616005",
   publisher = "European Association of Geoscientists & Engineers",
   issn = "2214-4609",
   type = "",
  }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.