Skip to content
Pytorch implementation of "DeepFlow: History Matching in the Space of Deep Generative Models"
Branch: master
Clone or download
Latest commit bb8b2eb May 15, 2019


History Matching in the Space of Deep Generative Models

Authors: Lukas Mosser, Olivier Dubrule, Martin J. Blunt

Pytorch implementation of DeepFlow: History Matching in the Space of Deep Generative Models

Model Architecture

The model architecture consists of two parts: the generative adversarial network (implemented in Pytorch) and the forward solver (MRST). The coupling between the two is implemented in deepflow.mrst_coupling.PytorchMRSTCoupler and defines a fully differentiable computational graph.

Traversing the latent space while "History Matching"

A visualization of the intermediate geological models obtained during the optimisation process.

Interpolation between MAP solutions

Interpolation in latent space between three MAP estimates shown in the publication (Figure 9a-b)


To perform the inversion using the available pre-trained generator network use
This requires a current version of Matlab or Octave available on the PATH.
Interpolation is performed by running using the example bash file

Trained Models

Pre-trained models are available in the checkpoints directory.

Results and Data

A subset of the results is available in this Google Drive
The full dataset of the computations is multiple terrabyte in size and cannot be shared.
Computing each run was made reproducible by setting the run-number = seed command-line argumen.
Computations were performed on Imperial College CX1 supercomputing facilities. Total duration: 3 days wall-time on 100 servers @ 4-cores each.

Matlab / Octave Compatibility

The reservoir simulator that solves the two-phase flow problem and provides gradients via the adjoint MRST requires a Matlab license to run, but should be fully compatbile with GNU Octave


       author = {{Mosser}, Lukas and {Dubrule}, Olivier and {Blunt}, Martin J.},
        title = "{DeepFlow: History Matching in the Space of Deep Generative Models}",
      journal = {arXiv e-prints},
     keywords = {Computer Science - Machine Learning, Computer Science - Computer Vision and Pattern Recognition, Physics - Computational Physics, Physics - Geophysics, Statistics - Machine Learning},
         year = "2019",
        month = "May",
          eid = {arXiv:1905.05749},
        pages = {arXiv:1905.05749},
        archivePrefix = {arXiv},
       eprint = {1905.05749},
        primaryClass = {cs.LG},
       adsurl = {},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}


The author would like to acknolwedge the developers of the Matlab Reservoir Simulator Toolbox.
If you use their software, please acknowledge them in your references.
O. Dubrule would like to thank Total for seconding him as a visiting professor at Imperial College London.



You can’t perform that action at this time.