{ "cells": [ { "cell_type": "markdown", "metadata": { "hide_input": true }, "source": [ "# Example 2: Implementing GeMpy into PyMC3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generating data" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Importing and data\n", "import theano.tensor as T\n", "import theano\n", "import sys, os\n", "sys.path.append(\"../\")\n", "\n", "# Importing GeMpy modules\n", "import gempy as GeMpy\n", "\n", "# Reloading (only for development purposes)\n", "import importlib\n", "importlib.reload(GeMpy)\n", "\n", "# Usuful packages\n", "import numpy as np\n", "import pandas as pn\n", "\n", "import matplotlib.pyplot as plt\n", "\n", "# This was to choose the gpu\n", "os.environ['CUDA_LAUNCH_BLOCKING'] = '1'\n", "\n", "# Default options of printin\n", "np.set_printoptions(precision = 6, linewidth= 130, suppress = True)\n", "\n", "#%matplotlib inline\n", "%matplotlib inline\n", "\n", "\n", "\n", "# Setting the extent\n", "geo_data = GeMpy.create_data([0,10,0,10,0,10], [50,50,50])\n", "\n", "\n", "# =========================\n", "# DATA GENERATION IN PYTHON\n", "# =========================\n", "# Layers coordinates\n", "layer_1 = np.array([[0.5,4,7], [2,4,6.5], [4,4,7], [5,4,6]])#-np.array([5,5,4]))/8+0.5\n", "layer_2 = np.array([[3,4,5], [6,4,4],[8,4,4], [7,4,3], [1,4,6]])\n", "layers = np.asarray([layer_1,layer_2])\n", "\n", "# Foliations coordinates\n", "dip_pos_1 = np.array([7,4,7])#- np.array([5,5,4]))/8+0.5\n", "dip_pos_2 = np.array([2.,4,4])\n", "\n", "# Dips\n", "dip_angle_1 = float(15)\n", "dip_angle_2 = float(340)\n", "dips_angles = np.asarray([dip_angle_1, dip_angle_2], dtype=\"float64\")\n", "\n", "# Azimuths\n", "azimuths = np.asarray([90,90], dtype=\"float64\")\n", "\n", "# Polarity\n", "polarity = np.asarray([1,1], dtype=\"float64\")\n", "\n", "# Setting foliations and interfaces values\n", "GeMpy.set_interfaces(geo_data, pn.DataFrame(\n", " data = {\"X\" :np.append(layer_1[:, 0],layer_2[:,0]),\n", " \"Y\" :np.append(layer_1[:, 1],layer_2[:,1]),\n", " \"Z\" :np.append(layer_1[:, 2],layer_2[:,2]),\n", " \"formation\" : np.append(\n", " np.tile(\"Layer 1\", len(layer_1)), \n", " np.tile(\"Layer 2\", len(layer_2))),\n", " \"labels\" : [r'${\\bf{x}}_{\\alpha \\, 0}^1$',\n", " r'${\\bf{x}}_{\\alpha \\, 1}^1$',\n", " r'${\\bf{x}}_{\\alpha \\, 2}^1$',\n", " r'${\\bf{x}}_{\\alpha \\, 3}^1$',\n", " r'${\\bf{x}}_{\\alpha \\, 0}^2$',\n", " r'${\\bf{x}}_{\\alpha \\, 1}^2$',\n", " r'${\\bf{x}}_{\\alpha \\, 2}^2$',\n", " r'${\\bf{x}}_{\\alpha \\, 3}^2$',\n", " \n", " r'${\\bf{x}}_{\\alpha \\, 4}^2$'] }))\n", "\n", "GeMpy.set_foliations(geo_data, pn.DataFrame(\n", " data = {\"X\" :np.append(dip_pos_1[0],dip_pos_2[0]),\n", " \"Y\" :np.append(dip_pos_1[ 1],dip_pos_2[1]),\n", " \"Z\" :np.append(dip_pos_1[ 2],dip_pos_2[2]),\n", " \"azimuth\" : azimuths,\n", " \"dip\" : dips_angles,\n", " \"polarity\" : polarity,\n", " \"formation\" : [\"Layer 1\", \"Layer 2\"],\n", " \"labels\" : [r'${\\bf{x}}_{\\beta \\,{0}}$',\n", " r'${\\bf{x}}_{\\beta \\,{1}}$'] })) \n", "\n", "\n", "\n", "layer_3 = np.array([[2,4,3], [8,4,2], [9,4,3]])\n", "dip_pos_3 = np.array([1,4,1])\n", "dip_angle_3 = float(80)\n", "azimuth_3 = 90\n", "polarity_3 = 1\n", "\n", "\n", "\n", "GeMpy.set_interfaces(geo_data, pn.DataFrame(\n", " data = {\"X\" :layer_3[:, 0],\n", " \"Y\" :layer_3[:, 1],\n", " \"Z\" :layer_3[:, 2],\n", " \"formation\" : np.tile(\"Layer 3\", len(layer_3)), \n", " \"labels\" : [ r'${\\bf{x}}_{\\alpha \\, 0}^3$',\n", " r'${\\bf{x}}_{\\alpha \\, 1}^3$',\n", " r'${\\bf{x}}_{\\alpha \\, 2}^3$'] }), append = True)\n", "GeMpy.get_raw_data(geo_data,\"interfaces\")\n", "\n", "\n", "GeMpy.set_foliations(geo_data, pn.DataFrame(data = {\n", " \"X\" : dip_pos_3[0],\n", " \"Y\" : dip_pos_3[1],\n", " \"Z\" : dip_pos_3[2],\n", " \n", " \"azimuth\" : azimuth_3,\n", " \"dip\" : dip_angle_3,\n", " \"polarity\" : polarity_3,\n", " \"formation\" : [ 'Layer 3'],\n", " \"labels\" : r'${\\bf{x}}_{\\beta \\,{2}}$'}), append = True)\n", "\n", "\n", "GeMpy.set_data_series(geo_data, {'younger': ('Layer 1', 'Layer 2'),\n", " 'older': 'Layer 3'}, order_series = ['younger', 'older'])\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nMf8PnJkqv+00KGgAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "GeMpy.plot_data(geo_data, direction='y')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] } ], "source": [ "GeMpy.visualize(geo_data)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "I am in the setting\n", "I am here\n", "[2, 2]\n" ] } ], "source": [ "# Select series to interpolate data:image/png;base64,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(if you do not want to interpolate all)\n", "new_series = GeMpy.select_series(geo_data, ['younger'])\n", "data_interp = GeMpy.set_interpolator(geo_data,\n", " #verbose = 'potential_field_at_all'\n", " )" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
XYZformationlabelsorder_seriesseries
00.54.0000007.000000Layer 1${\\bf{x}}_{\\alpha \\, 0}^1$1younger
12.04.0000006.500000Layer 1${\\bf{x}}_{\\alpha \\, 1}^1$1younger
24.04.0000007.000000Layer 1${\\bf{x}}_{\\alpha \\, 2}^1$1younger
35.04.0000006.000000Layer 1${\\bf{x}}_{\\alpha \\, 3}^1$1younger
43.04.0000005.000000Layer 2${\\bf{x}}_{\\alpha \\, 0}^2$1younger
56.04.0000004.000000Layer 2${\\bf{x}}_{\\alpha \\, 1}^2$1younger
68.06.0096192.302988Layer 2${\\bf{x}}_{\\alpha \\, 2}^2$1younger
77.04.0000003.000000Layer 2${\\bf{x}}_{\\alpha \\, 3}^2$1younger
81.04.0000006.000000Layer 2${\\bf{x}}_{\\alpha \\, 4}^2$1younger
02.04.0000003.000000Layer 3${\\bf{x}}_{\\alpha \\, 0}^3$2older
18.04.0000002.000000Layer 3${\\bf{x}}_{\\alpha \\, 1}^3$2older
29.04.0000003.000000Layer 3${\\bf{x}}_{\\alpha \\, 2}^3$2older
\n", "
" ], "text/plain": [ " X Y Z formation labels \\\n", "0 0.5 4.000000 7.000000 Layer 1 ${\\bf{x}}_{\\alpha \\, 0}^1$ \n", "1 2.0 4.000000 6.500000 Layer 1 ${\\bf{x}}_{\\alpha \\, 1}^1$ \n", "2 4.0 4.000000 7.000000 Layer 1 ${\\bf{x}}_{\\alpha \\, 2}^1$ \n", "3 5.0 4.000000 6.000000 Layer 1 ${\\bf{x}}_{\\alpha \\, 3}^1$ \n", "4 3.0 4.000000 5.000000 Layer 2 ${\\bf{x}}_{\\alpha \\, 0}^2$ \n", "5 6.0 4.000000 4.000000 Layer 2 ${\\bf{x}}_{\\alpha \\, 1}^2$ \n", "6 8.0 6.009619 2.302988 Layer 2 ${\\bf{x}}_{\\alpha \\, 2}^2$ \n", "7 7.0 4.000000 3.000000 Layer 2 ${\\bf{x}}_{\\alpha \\, 3}^2$ \n", "8 1.0 4.000000 6.000000 Layer 2 ${\\bf{x}}_{\\alpha \\, 4}^2$ \n", "0 2.0 4.000000 3.000000 Layer 3 ${\\bf{x}}_{\\alpha \\, 0}^3$ \n", "1 8.0 4.000000 2.000000 Layer 3 ${\\bf{x}}_{\\alpha \\, 1}^3$ \n", "2 9.0 4.000000 3.000000 Layer 3 ${\\bf{x}}_{\\alpha \\, 2}^3$ \n", "\n", " order_series series \n", "0 1 younger \n", "1 1 younger \n", "2 1 younger \n", "3 1 younger \n", "4 1 younger \n", "5 1 younger \n", "6 1 younger \n", "7 1 younger \n", "8 1 younger \n", "0 2 older \n", "1 2 older \n", "2 2 older " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "geo_data.interfaces" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0., 0., 0., ..., 0., 0., 0.])" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_interp.interpolator.tg.final_block[0].eval()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0., 0., 0.])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.zeros((1,3))[-1,:]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": false }, "outputs": [], "source": [ "# This are the shared parameters and the compilation of the function. This will be hidden as well at some point\n", "input_data_T = data_interp.interpolator.tg.input_parameters_list()\n", "debugging = theano.function(input_data_T, data_interp.interpolator.tg.whole_block_model(),\n", " on_unused_input='ignore',\n", " allow_input_downcast=True, profile=True)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[3 0]\n" ] } ], "source": [ "# This prepares the user data to the theano function\n", "input_data_P = data_interp.interpolator.data_prep() \n", "\n", "# Solution of theano\n", "sol = debugging(input_data_P[0], input_data_P[1], input_data_P[2], input_data_P[3],input_data_P[4], input_data_P[5])" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[[ 0. , 0. , 0. , ..., 1. , 1. , 1. ],\n", " [ 0.368047, 0.382449, 0.396848, ..., 1.180642, 1.19662 , 1.212601]],\n", "\n", " [[ 0. , 0. , 0. , ..., 1. , 1. , 1. ],\n", " [-0.043672, -0.041708, -0.039591, ..., 1.180642, 1.19662 , 1.212601]]])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sol" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAwAwgsABABhB4AAAjCBwAABG0KWGkxarW4p91k4d3WhIV8xwAABGEDgAACMIHACAEQQOAMAIAgcA\nYASBAwAwgrZojCoeSz0Ybc5AL2Y4AAAjCBwAgBEEDgDACCP3cD788EM999xzys3N1eTJk7V48WIT\npwUAJBEjgfPcc8/p3nvvVUlJiW666SZdc8018vl8A8ZEIhFJUjgjaKIkGHagwe4K7MPXNPrU1dWp\nuLhYGRnO7Ncy8l/d3Nys4uJiSVJeXp46OzsVCAQGjDl48KAk6dOyT0yUBMMWXOfgq7eTd9ldAZLE\n/PnztXHjRk2cONHuUmxhJHCKi4vV2NiokpISHT58WPn5+YPGlJeX6ze/+Y3Gjx8vj8djoiwAMK7v\nl28nclmWZSX6JLt379bTTz+t3NxcnXnmmVq0aFGiTwkASDJGAgcAAAdfWAcAmETgAACMSIrePCev\n09m9e7eeeuopBQIBeb1eLV261O6SjLEsS3fffbdmzJihO+64w+5yjGlra9OqVavk8/lUVFSk66+/\n3u6SjPjoo4/04osvKj8/X9FoVEuWLLG7pITr6OjQM888o9raWq1Zs0aPP/64wuGwmpubVVVVNahb\nN90lxQynb53Ogw8+qE2bNikYdNa6hfvvv18PPvigPvzwQ7tLMWrNmjWqqKiwuwzjXn75ZeXl5cnr\n9TqqPXbr1q265JJL9MMf/lA1Nc7YzDUUCunWW2+VZVnat2+fWlpatHTpUi1cuFAvvfSS3eUZlxSB\nM9Q6HaeYOnWqCgoK9Pzzz+vyyy+3uxxjtm3bJr/fr1mzZtldinH79u3TrFmzdO+99+qVV16RU/p2\nLr74Yq1evVrLli1zzPseCAQ0duxYSdKhQ4dUVFQkSSoqKupfe+gkSRE4fet0JA27TiddBYNBPfLI\nI6qoqNBVV11ldznGbNiwQc3Nzfr973+vbdu2af/+/XaXZExhYWH/x5mZmf27bKS7tWvX6tFHH1V1\ndbX27NmjtrY2u0syqqSkRE1NTZKk+vp6nXbaaTZXZF5StEU7eZ3Os88+q+3bt+vMM8+UJN155539\nvxE5wfbt27Vjxw5H3cNpampSdXW1ioqKVFxcrO9///t2l2TE9u3b9cYbbyg/P1/Nzc1avny5XC6X\n3WUlVE1Njd5880298cYb+uY3v9l/vKWlRVVVVY765VpKksABAKS/pLikBgBIfwQOAMAIAgcAYASB\nAwAwgsABABhB4AAAjCBw4Chbt25VVVWVJCkajeqmm27S7t27ba4KcAbW4cBxHnvsMc2YMUP19fXK\nyclx1ELET7ucAAAAnklEQVRjwE4EDhwnHA7rlltuUW5urp588km7ywEcg0tqcJyOjg653W61traq\nu7vb7nIAx2CGA8e55557dOedd6qhoUGbN2/Www8/bHdJgCMww4GjvPDCCzrnnHM0bdo0fe1rX1M0\nGtVf/vIXu8sCHIEZDgDACGY4AAAjCBwAgBEEDgDACAIHAGAEgQMAMILAAQAYQeAAAIwgcAAARvx/\nmabQihDT45kAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "GeMpy.plot_section(geo_data, 32, block = sol[1,0,:], direction='y', plot_data = True)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "plt.contour?" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "GeMpy.plot_potential_field(geo_data, sol[1,1,:].reshape(50, 50, 50), 22)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
G_xG_yG_zXYZazimuthdipformationlabelsorder_seriespolarityseries
00.2588191.584810e-170.9659267.04.07.090.040.0Layer 1${\\bf{x}}_{\\beta \\,{0}}$11.0younger
1-0.342020-2.094269e-170.9396932.04.04.090.0340.0Layer 2${\\bf{x}}_{\\beta \\,{1}}$11.0younger
00.9848086.030208e-170.1736481.04.01.090.040.0Layer 3${\\bf{x}}_{\\beta \\,{2}}$21.0older
\n", "
" ], "text/plain": [ " G_x G_y G_z X Y Z azimuth dip formation \\\n", "0 0.258819 1.584810e-17 0.965926 7.0 4.0 7.0 90.0 40.0 Layer 1 \n", "1 -0.342020 -2.094269e-17 0.939693 2.0 4.0 4.0 90.0 340.0 Layer 2 \n", "0 0.984808 6.030208e-17 0.173648 1.0 4.0 1.0 90.0 40.0 Layer 3 \n", "\n", " labels order_series polarity series \n", "0 ${\\bf{x}}_{\\beta \\,{0}}$ 1 1.0 younger \n", "1 ${\\bf{x}}_{\\beta \\,{1}}$ 1 1.0 younger \n", "0 ${\\bf{x}}_{\\beta \\,{2}}$ 2 1.0 older " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# If you change the values here. Here changes the plot as well\n", "geo_data.foliations.set_value(0, 'dip', 40)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# You need to set the interpolator again\n", "new_series = GeMpy.select_series(geo_data, ['younger'])\n", "data_interp = GeMpy.set_interpolator(new_series, verbose= ['cov_function'])\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# If you change it here is not necesary. Maybe some function in GeMpy with an attribute to choose would be good\n", "data_interp.interpolator._data_scaled.foliations.set_value(0, 'dip', 40)\n", "# In any case, data prep has to be called to convert the data to pure arrays. This function should be hidden I guess\n", "input_data_P = data_interp.interpolator.data_prep()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "scrolled": false }, "outputs": [], "source": [ "sol = debugging(input_data_P[0], input_data_P[1], input_data_P[2], input_data_P[3],input_data_P[4], input_data_P[5])" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nXKWlpV6X4aqtW7dqyJAh8vv9adV6umfPHt199916/PHHdfDgQa/LSbhIJKJHHnlEjuOourpa9fX1\nWr58ue677z69/PLLXpfnmqQIlkvtc0kHY8aM0dChQ7Vp0ybdc889Xpfjin379ikUCmnixIlel+Kq\n6upqTZw4UU888YReeeUVpUvPzJ133qkNGzboySefTIvvPD8/X4MHD5YknT59WgUFBZKkgoKCjr16\n6SApgqV9n4ukbve5pCLbtvXUU0+ptLRUc+fO9bocV+zYsUN1dXXavn279u3bp2PHjnldkiuGDRvW\n8etgMNhx0kSq27x5s1avXq01a9boyJEjamxs9Lok1xQVFenkyZOSpOPHj2vkyJEeV+SepGg3Ttd9\nLi+88IIqKio0duxYSdKSJUs6ftpJdRUVFTpw4EDaPGM5efKk1qxZo4KCAhUWFuonP/mJ1yW5oqKi\nQm+88Yby8vJUV1enVatWybIsr8tKmIMHD+rNN9/UG2+8oe9973sd1+vr61VWVpY2PzQnRbAAAFJH\nUiyFAQBSB8ECADCKYAEAGEWwAACMIlgAAEYRLAAAowgWpI09e/aorKxMkhSPx/XQQw+pqqrK46qA\n1MM+FqSVZ555RuPHj9fx48eVk5OTNptxATcRLEgr0WhUDz/8sHJzc/Xcc895XQ6QklgKQ1ppbm6W\nz+dTQ0ODWltbvS4HSEnMWJBWHnvsMS1ZskQnTpzQzp079etf/9rrkoCUw4wFaWPLli266aabdP31\n12vatGmKx+N69913vS4LSDnMWAAARjFjAQAYRbAAAIwiWAAARhEsAACjCBYAgFEECwDAKIIFAGAU\nwQIAMOr/ATMet5/BJ4FmAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "GeMpy.plot_section(new_series, 13,block= sol, plot_data = True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PyMC3" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "data_interp = GeMpy.set_interpolator(geo_data, u_grade = 0)\n", "\n", "# This are the shared parameters and the compilation of the function. This will be hidden as well at some point\n", "input_data_T = data_interp.interpolator.tg.input_parameters_list()\n", "# This prepares the user data to the theano function\n", "input_data_P = data_interp.interpolator.data_prep() " ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# We create the op. Because is an op we cannot call it with python variables anymore. Thats why we have to make them shared\n", "# Before\n", "op2 = theano.OpFromGraph(input_data_T, [data_interp.interpolator.tg.whole_block_model()], on_unused_input='ignore')" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "scrolled": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Auto-assigning NUTS sampler...\n", "Initializing NUTS using advi...\n", "Average ELBO = -0.012037: 100%|██████████| 200000/200000 [00:07<00:00, 25793.75it/s] \n", "Finished [100%]: Average ELBO = -0.0012071\n", "100%|██████████| 6/6 [00:00<00:00, 18.53it/s]\n" ] } ], "source": [ "import pymc3 as pm\n", "theano.config.compute_test_value = 'ignore'\n", "model = pm.Model()\n", "with model:\n", " # Stochastic value\n", " foliation = pm.Normal('foliation', 40, sd=10)\n", " \n", " # We convert a python variable to theano.shared\n", " dips = theano.shared(input_data_P[1])\n", " \n", " # We add the stochastic value to the correspondant array\n", " dips = T.set_subtensor(dips[0], foliation)\n", "\n", " geo_model = pm.Deterministic('GeMpy', op2(theano.shared(input_data_P[0]), dips, \n", " theano.shared(input_data_P[2]), theano.shared(input_data_P[3]),\n", " theano.shared(input_data_P[4]), theano.shared(input_data_P[5])))\n", "\n", " trace = pm.sample(6)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(['foliation', 'GeMpy'], array([[0, 0, 0, ..., 1, 1, 1],\n", " [0, 0, 0, ..., 1, 1, 1],\n", " [0, 0, 0, ..., 1, 1, 1],\n", " [0, 0, 0, ..., 1, 1, 1],\n", " [0, 0, 0, ..., 1, 1, 1],\n", " [0, 0, 0, ..., 1, 1, 1]]))" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "trace.varnames, trace.get_values(\"GeMpy\")" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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\nUyUlJcrPz1dNTU26tzNvXV1d2rRpk95991319PSkezspm5yc1O7du5VMJtXf36+RkRE1Nzfr1Vdf\n1fnz52f92lBEZ6Z7PJlkzZo1Ki8vV1tbmzZv3pzu7cxLLBZTYWGh6uvr072VBenv71d9fb2ampp0\n4cIFZdr7Ihs3btTJkyf1/vvvZ9R/g7KyMq1YsUKSNDw8rEgkIkmKRCIP7tw9Tiiic/8ej6TH3uMJ\ns4mJCX300Ueqq6vTli1b0r2debly5Yri8bguXryoWCym27dvp3tL81JRUfHg4+XLl6d8KzYsOjo6\ndPjwYbW2turmzZsaHR1N95bmrbq6WoODg5KkgYEBrVy5ctbHh+It80y/x/PVV1+pu7tba9eulSTt\n27fvwZ8CmaK7u1vXrl3LuJnO4OCgWltbFYlEVFVVpR07dqR7S/PS3d2tS5cuqbS0VPF4XIcOHdKS\nJUvSva059fT06PLly7p06ZJefvnlB58fGRlRNBqd9eAQiugAyB2heHkFIHcQHQBWRAeAFdEBYEV0\nAFgRHQBWRAeB6urqUjQalSRNT09r586d6uvrS/OukE7c00HgPvvsM61bt04DAwMqKirKuMufWFxE\nB4FLJBJ66623VFxcrGPHjqV7O0gzXl4hcGNjY8rLy9Mvv/yi8fHxdG8HacZJB4F75513tG/fPv30\n00/6/vvv9eGHH6Z7S0gjTjoI1JkzZ/Tcc8/p2Wef1QsvvKDp6Wl9++236d4W0oiTDgArTjoArIgO\nACuiA8CK6ACwIjoArIgOACuiA8CK6ACw+j9hlC1DfmHFfQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nUyUlJcrPz1dNTU26tzNvXV1d2rRpk95991319PSkezspm5yc1O7du5VMJtXf36+RkRE1Nzfr1Vdf\n1fnz52f92lBEZ6Z7PJlkzZo1Ki8vV1tbmzZv3pzu7cxLLBZTYWGh6uvr072VBenv71d9fb2ampp0\n4cIFZdr7Ihs3btTJkyf1/vvvZ9R/g7KyMq1YsUKSNDw8rEgkIkmKRCIP7tw9Tiiic/8ej6TH3uMJ\ns4mJCX300Ueqq6vTli1b0r2debly5Yri8bguXryoWCym27dvp3tL81JRUfHg4+XLl6d8KzYsOjo6\ndPjwYbW2turmzZsaHR1N95bmrbq6WoODg5KkgYEBrVy5ctbHh+It80y/x/PVV1+pu7tba9eulSTt\n27fvwZ8CmaK7u1vXrl3LuJnO4OCgWltbFYlEVFVVpR07dqR7S/PS3d2tS5cuqbS0VPF4XIcOHdKS\nJUvSva059fT06PLly7p06ZJefvnlB58fGRlRNBqd9eAQiugAyB2heHkFIHcQHQBWRAeAFdEBYEV0\nAFgRHQBWRAeB6urqUjQalSRNT09r586d6uvrS/OukE7c00HgPvvsM61bt04DAwMqKirKuMufWFxE\nB4FLJBJ66623VFxcrGPHjqV7O0gzXl4hcGNjY8rLy9Mvv/yi8fHxdG8HacZJB4F75513tG/fPv30\n00/6/vvv9eGHH6Z7S0gjTjoI1JkzZ/Tcc8/p2Wef1QsvvKDp6Wl9++236d4W0oiTDgArTjoArIgO\nACuiA8CK6ACwIjoArIgOACuiA8CK6ACw+j9hlC1DfmHFfQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nzFlHR4e2bNmid999V11dXeneTsrGx8e1d+9eJZNJ9fb2amhoSI2NjXr11Vd18eLFGb82FNGZ7h5P\nJlm3bp1KS0vV0tKirVu3pns7cxKLxZSfn6/a2tp0b2Veent7VVtbq4aGBl26dEmZ9nuRzZs36/Tp\n03r//fcz6p9BSUmJVq1aJUkaHBxUJBKRJEUikak7d08Siug8vMcj6Yn3eMJsbGxMH330kWpqarRt\n27Z0b2dOrl27png8rsuXLysWi+nu3bvp3tKclJWVTX28cuXKlG/FhkVbW5uOHj2q5uZm3b59W8PD\nw+ne0pxVVlaqv79fktTX16fVq1fP+HwofmWe6fd4vvrqK3V2dmr9+vWSpAMHDkz9VyBTdHZ26saN\nGxk30+nv71dzc7MikYgqKiq0a9eudG9pTjo7O3XlyhUVFxcrHo/ryJEjWrZsWbq3Nauuri5dvXpV\nV65c0csvvzz1+aGhIUWj0RkPDqGIDoClIxQvrwAsHUQHgBXRAWBFdABYER0AVkQHgBXRQaA6OjoU\njUYlSZOTk9q9e7d6enrSvCukE/d0ELjPPvtMGzZsUF9fnwoKCjLu8icWF9FB4BKJhN566y0VFhbq\nxIkT6d4O0oyXVwjcyMiIli9frl9++UWjo6Pp3g7SjJMOAvfOO+/owIED+umnn/T999/rww8/TPeW\nkEacdBCoc+fO6bnnntOzzz6rF154QZOTk/r222/TvS2kEScdAFacdABYER0AVkQHgBXRAWBFdABY\nER0AVkQHgBXRAWD1f54aHUHuKFb/AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nw8zdTkwAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nun79eq63krXOzk41NDTkehvz0t3drbKyMhUVFamuri7X28laT0+PNm/erDfffFN9fX253k7Gpqam\ntHv3bqXTaQ0ODmpsbEytra164YUXdP78+VmfG4rozHSPJ5+sW7dOlZWV6ujo0JYtW3K9nazEYjGV\nlJSosbEx11uZl8HBQTU2NqqlpUUXLlxQvn1fZNOmTTp58qTefvvtvPo7qKio0OrVqyVJo6OjikQi\nkqRIJHLvzt2vCUV0fr7HI+lX7/GE2eTkpN577z01NDRo69atud5OVq5cuaJ4PK6LFy8qFovp1q1b\nud5SVqqqqu59vGrVqoxvxYZFV1eXDh8+rPb2dt28eVOJRCLXW8pabW2thoeHJUlDQ0Nau3btrI8P\nxbfM8/0ez2effabe3l6tX79ekrRv3757/xfIF729vbp27VrezXSGh4fV3t6uSCSimpoavfLKK7ne\nUlZ6e3t16dIllZeXKx6P69ChQ1q2bFmutzWnvr4+Xb58WZcuXdJzzz1379fHxsYUjUZnPTiEIjoA\nlo5QvLwCsHQQHQBWRAeAFdEBYEV0AFgRHQBWRAeB6unpUTQalSSlUint3LlTAwMDOd4Vcol7Ogjc\nRx99pA0bNmhoaEhr1qzJu8ufWFxEB4FLJpN67bXXVFpaqmPHjuV6O8gxXl4hcOPj41q+fLl+/PFH\nTUxM5Ho7yDFOOgjcG2+8oX379un777/XN998o3fffTfXW0IOcdJBoM6cOaMnnnhCjz/+uJ5++mml\nUil99dVXud4WcoiTDgArTjoArIgOACuiA8CK6ACwIjoArIgOACuiA8CK6ACw+i/cKC04QLp5DwAA\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nun79eq63krXOzk41NDTkehvz0t3drbKyMhUVFamuri7X28laT0+PNm/erDfffFN9fX253k7Gpqam\ntHv3bqXTaQ0ODmpsbEytra164YUXdP78+VmfG4rozHSPJ5+sW7dOlZWV6ujo0JYtW3K9nazEYjGV\nlJSosbEx11uZl8HBQTU2NqqlpUUXLlxQvn1fZNOmTTp58qTefvvtvPo7qKio0OrVqyVJo6OjikQi\nkqRIJHLvzt2vCUV0fr7HI+lX7/GE2eTkpN577z01NDRo69atud5OVq5cuaJ4PK6LFy8qFovp1q1b\nud5SVqqqqu59vGrVqoxvxYZFV1eXDh8+rPb2dt28eVOJRCLXW8pabW2thoeHJUlDQ0Nau3btrI8P\nxbfM8/0ez2effabe3l6tX79ekrRv3757/xfIF729vbp27VrezXSGh4fV3t6uSCSimpoavfLKK7ne\nUlZ6e3t16dIllZeXKx6P69ChQ1q2bFmutzWnvr4+Xb58WZcuXdJzzz1379fHxsYUjUZnPTiEIjoA\nlo5QvLwCsHQQHQBWRAeAFdEBYEV0AFgRHQBWRAeB6unpUTQalSSlUint3LlTAwMDOd4Vcol7Ogjc\nRx99pA0bNmhoaEhr1qzJu8ufWFxEB4FLJpN67bXXVFpaqmPHjuV6O8gxXl4hcOPj41q+fLl+/PFH\nTUxM5Ho7yDFOOgjcG2+8oX379un777/XN998o3fffTfXW0IOcdJBoM6cOaMnnnhCjz/+uJ5++mml\nUil99dVXud4WcoiTDgArTjoArIgOACuiA8CK6ACwIjoArIgOACuiA8CK6ACw+i/cKC04QLp5DwAA\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for i in trace.get_values('GeMpy'):\n", " GeMpy.plot_section(new_series, 13, block = i, plot_data = False)\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "import ipyvolume.pylab as p3\n", "import ipyvolume.serialize\n", "ipyvolume.serialize.performance = 1 # 1 for binary, 0 for JSON\n", "#p3 = ipyvolume.pylab.figure(width=200,height=600)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "0431015df72c484cbf1fbbf91c4c57a8" } }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lith0 = trace['GeMpy'][0] == 0\n", "lith1 = trace['GeMpy'][0] == 1\n", "lith2 = trace['GeMpy'][0] == 2\n", "lith3 = trace['GeMpy'][0] == 3\n", "p3.figure(width=800)\n", "\n", "p3.scatter(geo_data.grid.grid[:,0][lith0],\n", " geo_data.grid.grid[:,1][lith0],\n", " geo_data.grid.grid[:,2][lith0], marker='box', color = 'blue' )\n", "\n", "p3.scatter(geo_data.grid.grid[:,0][lith1],\n", " geo_data.grid.grid[:,1][lith1],\n", " geo_data.grid.grid[:,2][lith1], marker='box', color = 'yellow', size = 1 )\n", "\n", "p3.scatter(geo_data.grid.grid[:,0][lith2],\n", " geo_data.grid.grid[:,1][lith2],\n", " geo_data.grid.grid[:,2][lith2], marker='box', color = 'green' )\n", "\n", "p3.scatter(geo_data.grid.grid[:,0][lith3],\n", " geo_data.grid.grid[:,1][lith3],\n", " geo_data.grid.grid[:,2][lith3], marker='box', color = 'red' )\n", "\n", "p3.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cholesky (Under development)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'C' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Cholesky solution\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mL\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinalg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcholesky\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mC\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mU\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinalg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcholesky\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mC\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mY\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinalg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msolve_triangular\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mL\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlower\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinalg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msolve_triangular\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mL\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconj\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mT\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mY\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'C' is not defined" ] } ], "source": [ "# Cholesky solution\n", "L = np.linalg.cholesky(C)\n", "U = sc.linalg.cholesky(C)\n", "Y = sc.linalg.solve_triangular(L,b, lower=True)\n", "x = sc.linalg.solve_triangular(L.conj().T, Y)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import scipy as sc\n", "Y = sc.linalg.solve_triangular?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "debugging.profile.summary()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "data_interp.interpolator.tg.dips_position_all.set_value(input_data_P[0])\n", "data_interp.interpolator.tg.dip_angles_all.set_value(input_data_P[1])\n", "data_interp.interpolator.tg.azimuth_all.set_value(input_data_P[2])\n", "data_interp.interpolator.tg.polarity_all.set_value(input_data_P[3])\n", "data_interp.interpolator.tg.ref_layer_points_all.set_value(input_data_P[4])\n", "data_interp.interpolator.tg.rest_layer_points_all.set_value(input_data_P[5])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "celltoolbar": "Initialisation Cell", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.0" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "number", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 0, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "nav_menu": {}, "toc": { "colors": { "hover_highlight": "#DAA520", "running_highlight": "#FF0000", "selected_highlight": "#FFD700" }, "moveMenuLeft": true, "nav_menu": { "height": "98px", "width": "252px" }, "navigate_menu": true, "number_sections": false, "sideBar": true, "threshold": 4, "toc_cell": false, "toc_section_display": "block", "toc_window_display": false, "widenNotebook": false } }, "nbformat": 4, "nbformat_minor": 1 }