This is a TensorFlow extension of GemPy to develop 3D subsurface model while keep tracking the derivatives of the parameters.
GemPy is the most popular Python-based 3-D structural geological modeling open-source software now, which allows the implicit (i.e. automatic) creation of complex geological models from interface and orientation data. We all love GemPy, however, the installation of Theano sometime could be frustrating. Therefore this project aims to extend the backend of GemPy with the modern machine learning package TensorFlow for Automatic Differentiation (AD).
Try the simple demos in colab:
The current version is depend on an older version of GemPy-'2.1.1'
TODO: Test and wrap this in a single installation file as e.g. requirements.txt
- create conda environment
conda create --name gempytf python==3.7
conda activate gempytf
git clone https://github.com/GeorgeLiang3/GemPyTF.git
pip install --upgrade pip
pip install tensorflow
conda install pandas
conda install scipy
pip install nptyping==1.0.1
conda install seaborn
- skimage < '0.18.2' and for MacOS < 10.13.6 need older skimage version
pip install -U scikit-image==0.17.2
stackoverflow answer
At the moment there are only limited models are tested (in Examples).
current version has
- no support for topology
- no support for fault block
- not been tested with topography
3D color map is in wrong order(fixed)2D plot function(fixed)show_data
function not correct- Hessian in graph mode is limited
- Original GemPy paper: de la Varga, M., Schaaf, A. and Wellmann, F., 2019. GemPy 1.0: open-source stochastic geological modeling and inversion. Geoscientific Model Development, 12(1), pp.1-32.
- Hessian MCMC used GemPyTF: Liang, Z., Wellmann, F. and Ghattas, O., 2022. Uncertainty quantification of geological model parameters in 3D gravity inversion by Hessian-informed Markov chain Monte Carlo. Geophysics, 88(1), pp.1-78.