Git Product home page Git Product logo

sganinv's Introduction

Using a GAN-based low-dimensional parameterization to solve inverse problems with complex geologic prior information

This Python 2.7 package contains the (1) spatial generative adversarial network (SGAN) and (2) DREAM(ZS) Markov chain Monte Carlo (MCMC) sampler used for multiple-point statistics simulation and inversion by Laloy et al. (2018)

Now with:

- a Pytorch 1.1.0 / Python 3.6 GAN-based MCMC inversion example for the 2D binary channelized aquifer case

- a Pytorch 1.1.0 / Python 3.6 version of the 2D braided river case (with Wasserstein GAN training)

Large data files

Because of Github space limits, the trained SGAN models (needed to reproduce the results presented in the paper) are not provided herein. But these are of course available. Please drop me an email if you want to get these files.

GAN-based representation

We ported the original 2D SGAN code by Jetchev et al. (2016) to 3D. The codes for training the SGAN with Theano/Lasagne are contained in the SGAN folder. Also, 2D and 3D geologic model realizations generated by the trained models can be produced by running the generation2D.py and generation3D.py scripts.

Note that we have a Pytorch 1.1.0 / Python 3.6 example version available (see this repo for the GAN-based MCMC inversion and the gan_for_gradient_based_inv repo for the training code).

Performing the inversion

To perform the MCMC inversion within the SGAN latent space using DREAM(ZS), use the run_mcmc.py script from the inversion folder.

Citation

Laloy, E., Hérault, R., Jacques, D., & Linde, N. (2018). Training-image based geostatistical inversion using a spatial generative adversarial neural network. Water Resources Research, 54. https://doi.org/10.1002/2017WR022148

License

The Theano/Lasagne and Pytorch codes for the SGAN are under MIT license while the MCMC inversion code is under GPL license. See the corresponding folders for details.

Contact

Eric Laloy ([email protected])

sganinv's People

Contributors

elaloy avatar

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.