gempy icon indicating copy to clipboard operation
gempy copied to clipboard

Build 3D geological model from borehole data

Open Linya-Peng opened this issue 2 years ago • 6 comments

Dear GemPyers, I'm now trying to build 3D geological model using Gempy from borehole data. I follow the Tutorial: Transform 2019: Integrating Striplog and GemPy, and replace the data with mine. I coded the surface like #669, for example: image when I plot the surface points in 2D, it was like: image But when I compute the model, I got this error: I don't know weather there were somthing wrong with my input data? or I miss some processing steps? Could you please help me? Thank you in advance! `--------------------------------------------------------------------------- IndexError Traceback (most recent call last) File scan_perform.pyx:397, in theano.scan_module.scan_perform.perform()

IndexError: index 55 is out of bounds for axis 0 with size 55

During handling of the above exception, another exception occurred:

IndexError Traceback (most recent call last) File D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\theano\compile\function_module.py:903, in Function.call(self, *args, **kwargs) 901 try: 902 outputs =
--> 903 self.fn() if output_subset is None else
904 self.fn(output_subset=output_subset) 905 except Exception:

File D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\theano\scan_module\scan_op.py:963, in Scan.make_thunk..rval(p, i, o, n, allow_gc) 961 def rval(p=p, i=node_input_storage, o=node_output_storage, n=node, 962 allow_gc=allow_gc): --> 963 r = p(n, [x[0] for x in i], o) 964 for o in node.outputs: File D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\theano\scan_module\scan_op.py:928, in Scan.make_thunk..p(node, args, outs) 927 def p(node, args, outs): --> 928 return scan_perform_ext.perform(self.n_shared_outs, 929 self.n_mit_mot_outs, 930 self.n_seqs, 931 self.n_mit_mot, 932 self.n_mit_sot, 933 self.n_sit_sot, 934 self.n_nit_sot, 935 args[0], 936 self.as_while, 937 cython_mintaps, 938 cython_tap_array, 939 cython_tap_array_len, 940 cython_vector_seqs, 941 cython_vector_outs, 942 cython_mit_mot_out_slices, 943 cython_mit_mot_out_nslices, 944 cython_mitmots_preallocated, 945 cython_inps_is_tensor, 946 cython_outs_is_tensor, 947 self.fn.fn, 948 self.fn, 949 cython_destroy_map, 950 args, 951 outs, 952 self, node)

File scan_perform.pyx:405, in theano.scan_module.scan_perform.perform() File D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\theano\gof\link.py:325, in raise_with_op(node, thunk, exc_info, storage_map) 324 pass --> 325 reraise(exc_type, exc_value, exc_trace)

File D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\six.py:718, in reraise(tp, value, tb) 717 if value.traceback is not tb: --> 718 raise value.with_traceback(tb) 719 raise value

File scan_perform.pyx:397, in theano.scan_module.scan_perform.perform()

IndexError: index 55 is out of bounds for axis 0 with size 55 Apply node that caused the error: AdvancedSubtensor1(Subtensor{int64:int64:}.0, Subtensor{int32:int32:}.0) Toposort index: 661 Inputs types: [TensorType(float64, vector), TensorType(int32, vector)] Inputs shapes: [(55,), (22,)] Inputs strides: [(8,), (4,)] Inputs values: ['not shown', 'not shown'] Inputs type_num: [12, 7] Outputs clients: [[Join(TensorConstant{0}, TensorConstant{(1,) of 0}, AdvancedSubtensor1.0, TensorConstant{(1,) of 0}), Join(TensorConstant{0}, MakeVector{dtype='float64'}.0, AdvancedSubtensor1.0, MakeVector{dtype='float64'}.0), AdvancedIncSubtensor{inplace=False, set_instead_of_inc=True}(<TensorType(float64, matrix)>, AdvancedSubtensor1.0, <TensorType(int32, scalar)>, Elemwise{sub,no_inplace}.0), Elemwise{neg,no_inplace}(AdvancedSubtensor1.0), MaxAndArgmax{axis=(0,)}(AdvancedSubtensor1.0)]] Backtrace when the node is created(use Theano flag traceback.limit=N to make it longer): File "C:\Users\86135\AppData\Local\Temp\ipykernel_16780\2969753639.py", line 1, in <cell line: 1> gp.set_interpolator(geo_model) File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\api_modules\setters.py", line 108, in set_interpolator geo_model._interpolator.compile_th_fn_geo(inplace=True, grid=grid) File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\core\interpolator.py", line 1124, in compile_th_fn_geo self.theano_graph.theano_output(), File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\core\theano_modules\theano_graph_pro.py", line 631, in theano_output solutions[:9] = self.compute_series() File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\core\theano_modules\theano_graph_pro.py", line 465, in compute_series series, self.updates1 = theano.scan( File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\theano\scan_module\scan.py", line 774, in scan condition, outputs, updates = scan_utils.get_updates_and_outputs(fn(*args)) File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\core\theano_modules\theano_graph_pro.py", line 2148, in compute_a_series scalar_field_at_surface_points = self.get_scalar_field_at_surface_points(Z_x, File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\core\theano_modules\theano_graph_pro.py", line 1756, in get_scalar_field_at_surface_points Z_x[-2 * self.len_points: -self.len_points][npf_op] Debugprint of the apply node: AdvancedSubtensor1 [id A] <TensorType(float64, vector)> ''
|Subtensor{int64:int64:} [id B] <TensorType(float64, vector)> ''
| |if{} [id C] <TensorType(float64, vector)> ''
| | |Vector controlling if scalar matrix must be recomputed[t] [id D] <TensorType(bool, scalar)> | | |Subtensor{int64} [id E] <TensorType(float64, vector)> 'Value of the potential field at every point'
| | |Subtensor{int32} [id F] <TensorType(float64, vector)> ''
| | |Scalar matrix[t-1] [id G] <TensorType(float64, matrix)> | | |ScalarFromTensor [id H] ''
| | |<TensorType(int32, scalar)> [id I] <TensorType(int32, scalar)> | |ScalarFromTensor [id J] ''
| | |Elemwise{mul,no_inplace} [id K] <TensorType(int64, scalar)> ''
| | |TensorConstant{-2} [id L] <TensorType(int8, scalar)> | | |Elemwise{sub,no_inplace} [id M] <TensorType(int64, scalar)> ''
| | |Subtensor{int64} [id N] <TensorType(int64, scalar)> ''
| | | |Shape [id O] <TensorType(int64, vector)> ''
| | | | |All the surface_points points at once_copy [id P] <TensorType(float64, matrix)> | | | |Constant{0} [id Q] | | |Subtensor{int64} [id R] <TensorType(int64, scalar)> ''
| | |Shape [id S] <TensorType(int64, vector)> ''
| | | |Number of points per surface used to split rest-ref_copy [id T] <TensorType(int32, vector)> | | |Constant{0} [id Q] | |ScalarFromTensor [id U] ''
| |Elemwise{neg,no_inplace} [id V] <TensorType(int64, scalar)> ''
| |Elemwise{sub,no_inplace} [id M] <TensorType(int64, scalar)> ''
|Subtensor{int32:int32:} [id W] <TensorType(int32, vector)> ''
|CumOp{None, add} [id X] <TensorType(int32, vector)> 'Number of points per surfaces after rest-ref. This is used for finding the differentsurface points withing a layer.'
|ScalarFromTensor [id Y] ''
| |List with the number of surfaces[t] [id Z] <TensorType(int32, scalar)> |ScalarFromTensor [id BA] ''
|List with the number of surfaces[t+1] [id BB] <TensorType(int32, scalar)>

HINT: Use the Theano flag 'exception_verbosity=high' for a debugprint and storage map footprint of this apply node.

During handling of the above exception, another exception occurred: IndexError Traceback (most recent call last) d:\Study[1](vscode-notebook-cell:/d%3A/Study/1_LandslidesGroupWork/3DGM/Gempy/gempy-master/gempy-master/notebooks/test_ags4.ipynb#ch0000022?line=0)_LandslidesGroupWork\3DGM\Gempy\gempy-master\gempy-master\notebooks\test_ags4.ipynb Cell 24' in <cell line: 1>() ----> 1 gp.compute_model(geo_model)

File D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\gempy_api.py:291, in compute_model(model, output, at, compute_mesh, reset_weights, reset_scalar, reset_block, sort_surfaces, debug, set_solutions, **kwargs) 288 i = model._interpolator.get_python_input_block(append_control=True, fault_drift=None) 289 model._interpolator.reset_flow_control_initial_results(reset_weights, reset_scalar, reset_block) --> 291 sol = model._interpolator.theano_function(*i) 293 if debug is True or set_solutions is False: 294 return sol

File D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\theano\compile\function_module.py:914, in Function.call(self, *args, **kwargs) 912 if hasattr(self.fn, 'thunks'): 913 thunk = self.fn.thunks[self.fn.position_of_error] --> 914 gof.link.raise_with_op( 915 node=self.fn.nodes[self.fn.position_of_error], 916 thunk=thunk, 917 storage_map=getattr(self.fn, 'storage_map', None)) 918 else: 919 # old-style linkers raise their own exceptions 920 raise

File D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\theano\gof\link.py:325, in raise_with_op(node, thunk, exc_info, storage_map) 322 # Some exception need extra parameter in inputs. So forget the 323 # extra long error message in that case. 324 pass --> 325 reraise(exc_type, exc_value, exc_trace) File D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\six.py:718, in reraise(tp, value, tb) 716 value = tp() 717 if value.traceback is not tb: --> 718 raise value.with_traceback(tb) 719 raise value 720 finally:

File D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\theano\compile\function_module.py:903, in Function.call(self, *args, **kwargs) 900 t0_fn = time.time() 901 try: 902 outputs =
--> 903 self.fn() if output_subset is None else
904 self.fn(output_subset=output_subset) 905 except Exception: 906 restore_defaults()

File D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\theano\scan_module\scan_op.py:963, in Scan.make_thunk..rval(p, i, o, n, allow_gc) 961 def rval(p=p, i=node_input_storage, o=node_output_storage, n=node, 962 allow_gc=allow_gc): --> 963 r = p(n, [x[0] for x in i], o) 964 for o in node.outputs: 965 compute_map[o][0] = True File D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\theano\scan_module\scan_op.py:928, in Scan.make_thunk..p(node, args, outs) 927 def p(node, args, outs): --> 928 return scan_perform_ext.perform(self.n_shared_outs, 929 self.n_mit_mot_outs, 930 self.n_seqs, 931 self.n_mit_mot, 932 self.n_mit_sot, 933 self.n_sit_sot, 934 self.n_nit_sot, 935 args[0], 936 self.as_while, 937 cython_mintaps, 938 cython_tap_array, 939 cython_tap_array_len, 940 cython_vector_seqs, 941 cython_vector_outs, 942 cython_mit_mot_out_slices, 943 cython_mit_mot_out_nslices, 944 cython_mitmots_preallocated, 945 cython_inps_is_tensor, 946 cython_outs_is_tensor, 947 self.fn.fn, 948 self.fn, 949 cython_destroy_map, 950 args, 951 outs, 952 self, node)

File scan_perform.pyx:405, in theano.scan_module.scan_perform.perform() File D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\theano\gof\link.py:325, in raise_with_op(node, thunk, exc_info, storage_map) 322 # Some exception need extra parameter in inputs. So forget the 323 # extra long error message in that case. 324 pass --> 325 reraise(exc_type, exc_value, exc_trace)

File D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\six.py:718, in reraise(tp, value, tb) 716 value = tp() 717 if value.traceback is not tb: --> 718 raise value.with_traceback(tb) 719 raise value 720 finally:

File scan_perform.pyx:397, in theano.scan_module.scan_perform.perform()

IndexError: index 55 is out of bounds for axis 0 with size 55 Apply node that caused the error: AdvancedSubtensor1(Subtensor{int64:int64:}.0, Subtensor{int32:int32:}.0) Toposort index: 661 Inputs types: [TensorType(float64, vector), TensorType(int32, vector)] Inputs shapes: [(55,), (22,)] Inputs strides: [(8,), (4,)] Inputs values: ['not shown', 'not shown'] Inputs type_num: [12, 7] Outputs clients: [[Join(TensorConstant{0}, TensorConstant{(1,) of 0}, AdvancedSubtensor1.0, TensorConstant{(1,) of 0}), Join(TensorConstant{0}, MakeVector{dtype='float64'}.0, AdvancedSubtensor1.0, MakeVector{dtype='float64'}.0), AdvancedIncSubtensor{inplace=False, set_instead_of_inc=True}(<TensorType(float64, matrix)>, AdvancedSubtensor1.0, <TensorType(int32, scalar)>, Elemwise{sub,no_inplace}.0), Elemwise{neg,no_inplace}(AdvancedSubtensor1.0), MaxAndArgmax{axis=(0,)}(AdvancedSubtensor1.0)]] Backtrace when the node is created(use Theano flag traceback.limit=N to make it longer): File "C:\Users\86135\AppData\Local\Temp\ipykernel_16780\2969753639.py", line 1, in <cell line: 1> gp.set_interpolator(geo_model) File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\api_modules\setters.py", line 108, in set_interpolator geo_model._interpolator.compile_th_fn_geo(inplace=True, grid=grid) File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\core\interpolator.py", line 1124, in compile_th_fn_geo self.theano_graph.theano_output(), File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\core\theano_modules\theano_graph_pro.py", line 631, in theano_output solutions[:9] = self.compute_series() File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\core\theano_modules\theano_graph_pro.py", line 465, in compute_series series, self.updates1 = theano.scan( File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\theano\scan_module\scan.py", line 774, in scan condition, outputs, updates = scan_utils.get_updates_and_outputs(fn(*args)) File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\core\theano_modules\theano_graph_pro.py", line 2148, in compute_a_series scalar_field_at_surface_points = self.get_scalar_field_at_surface_points(Z_x, File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\core\theano_modules\theano_graph_pro.py", line 1756, in get_scalar_field_at_surface_points Z_x[-2 * self.len_points: -self.len_points][npf_op]

Debugprint of the apply node: AdvancedSubtensor1 [id A] <TensorType(float64, vector)> ''
|Subtensor{int64:int64:} [id B] <TensorType(float64, vector)> ''
| |if{} [id C] <TensorType(float64, vector)> ''
| | |Vector controlling if scalar matrix must be recomputed[t] [id D] <TensorType(bool, scalar)> | | |Subtensor{int64} [id E] <TensorType(float64, vector)> 'Value of the potential field at every point'
| | |Subtensor{int32} [id F] <TensorType(float64, vector)> ''
| | |Scalar matrix[t-1] [id G] <TensorType(float64, matrix)> | | |ScalarFromTensor [id H] ''
| | |<TensorType(int32, scalar)> [id I] <TensorType(int32, scalar)> | |ScalarFromTensor [id J] ''
| | |Elemwise{mul,no_inplace} [id K] <TensorType(int64, scalar)> ''
| | |TensorConstant{-2} [id L] <TensorType(int8, scalar)> | | |Elemwise{sub,no_inplace} [id M] <TensorType(int64, scalar)> ''
| | |Subtensor{int64} [id N] <TensorType(int64, scalar)> ''
| | | |Shape [id O] <TensorType(int64, vector)> ''
| | | | |All the surface_points points at once_copy [id P] <TensorType(float64, matrix)> | | | |Constant{0} [id Q] | | |Subtensor{int64} [id R] <TensorType(int64, scalar)> ''
| | |Shape [id S] <TensorType(int64, vector)> ''
| | | |Number of points per surface used to split rest-ref_copy [id T] <TensorType(int32, vector)> | | |Constant{0} [id Q] | |ScalarFromTensor [id U] ''
| |Elemwise{neg,no_inplace} [id V] <TensorType(int64, scalar)> ''
| |Elemwise{sub,no_inplace} [id M] <TensorType(int64, scalar)> ''
|Subtensor{int32:int32:} [id W] <TensorType(int32, vector)> ''
|CumOp{None, add} [id X] <TensorType(int32, vector)> 'Number of points per surfaces after rest-ref. This is used for finding the differentsurface points withing a layer.'
|ScalarFromTensor [id Y] ''
| |List with the number of surfaces[t] [id Z] <TensorType(int32, scalar)> |ScalarFromTensor [id BA] ''
|List with the number of surfaces[t+1] [id BB] <TensorType(int32, scalar)>

HINT: Use the Theano flag 'exception_verbosity=high' for a debugprint and storage map footprint of this apply node. Apply node that caused the error: for{cpu,Looping}(Elemwise{minimum,no_inplace}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, Subtensor{:int64:}.0, IncSubtensor{Set;:int64:}.0, IncSubtensor{Set;:int64:}.0, IncSubtensor{Set;:int64:}.0, IncSubtensor{Set;:int64:}.0, IncSubtensor{Set;:int64:}.0, IncSubtensor{Set;:int64:}.0, IncSubtensor{Set;:int64:}.0, IncSubtensor{Set;:int64:}.0, Number of points per surface used to split rest-ref, fault relation matrix, <TensorType(float64, scalar)>, <TensorType(float64, scalar)>, <TensorType(float64, scalar)>, Nugget effect of gradients, Nugget effect of scalar, Attenuation factor, Sigmoid Outside, Sigmoid slope, <TensorType(int32, vector)>, <TensorType(bool, vector)>, <TensorType(int32, vector)>, Coordinates of the grid points to interpolate, All the surface_points points at once, Position of the dips, Angle of every dip, Azimuth, Polarity, Values that the blocks are taking) Toposort index: 167 Inputs types: [TensorType(int64, scalar), TensorType(int32, vector), TensorType(int32, vector), TensorType(int32, vector), TensorType(int32, vector), TensorType(int32, vector), TensorType(int32, vector), TensorType(int32, vector), TensorType(int32, vector), TensorType(int32, vector), TensorType(bool, vector), TensorType(bool, vector), TensorType(bool, vector), TensorType(int32, vector), TensorType(int32, vector), TensorType(int32, vector), TensorType(int32, vector), TensorType(float64, vector), TensorType(float64, vector), TensorType(float64, 4D), TensorType(float64, matrix), TensorType(float64, 3D), TensorType(float64, 3D), TensorType(bool, 3D), TensorType(bool, 3D), TensorType(float64, 4D), TensorType(int64, vector), TensorType(int32, vector), TensorType(int32, matrix), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, vector), TensorType(float64, vector), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(float64, scalar), TensorType(int32, vector), TensorType(bool, vector), TensorType(int32, vector), TensorType(float64, matrix), TensorType(float64, matrix), TensorType(float64, matrix), TensorType(float64, vector), TensorType(float64, vector), TensorType(float64, vector), TensorType(float64, matrix)] Inputs shapes: [(), (1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,), (2, 1, 1, 125110), (2, 61), (2, 1, 125110), (2, 1, 22), (2, 1, 125110), (2, 1, 125110), (2, 1, 1, 125110), (2,), (22,), (1, 1), (), (), (), (3,), (77,), (), (), (), (1,), (1,), (1,), (125000, 3), (77, 3), (1, 3), (1,), (1,), (1,), (1, 23)] Inputs strides: [(), (4,), (4,), (4,), (4,), (4,), (4,), (4,), (4,), (4,), (1,), (1,), (1,), (4,), (4,), (4,), (4,), (8,), (8,), (1000880, 1000880, 1000880, 8), (488, 8), (1000880, 1000880, 8), (176, 176, 8), (125110, 125110, 1), (125110, 125110, 1), (1000880, 1000880, 1000880, 8), (8,), (4,), (4, 4), (), (), (), (8,), (8,), (), (), (), (4,), (1,), (4,), (24, 8), (8, 616), (24, 8), (8,), (8,), (8,), (184, 8)] Inputs values: [array(1, dtype=int64), array([0]), array([55]), array([0]), array([1]), array([0]), array([61]), array([0]), array([22]), array([3]), array([ True]), array([ True]), array([ True]), array([0]), array([0]), array([0]), array([0]), array([0.00166292]), array([0.10805296]), 'not shown', 'not shown', 'not shown', 'not shown', 'not shown', 'not shown', 'not shown', array([ 0, 61], dtype=int64), 'not shown', array([[0]]), array(10.), array(2.), array(4.), array([0.01, 0.01, 0.01]), 'not shown', array(2.), array(50.), array(50000.), array([0]), array([False]), array([0]), 'not shown', 'not shown', array([[0.25042929, 0.2501 , 0.50028359]]), array([0.]), array([0.]), array([1.]), 'not shown'] Inputs type_num: [9, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 7, 7, 7, 7, 12, 12, 12, 12, 12, 12, 0, 0, 12, 9, 7, 7, 12, 12, 12, 12, 12, 12, 12, 12, 7, 0, 7, 12, 12, 12, 12, 12, 12, 12] Outputs clients: [[Subtensor{int64::}(for{cpu,Looping}.0, Constant{1})], [Subtensor{int64::}(for{cpu,Looping}.1, Constant{1})], [Subtensor{int64::}(for{cpu,Looping}.2, Constant{1})], [Subtensor{int64::}(for{cpu,Looping}.3, Constant{1})], [Subtensor{int64::}(for{cpu,Looping}.4, Constant{1})], [Subtensor{int64::}(for{cpu,Looping}.5, Constant{1})], [], []] Backtrace when the node is created(use Theano flag traceback.limit=N to make it longer): File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\IPython\core\interactiveshell.py", line 3098, in run_cell_async has_raised = await self.run_ast_nodes(code_ast.body, cell_name, File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\IPython\core\interactiveshell.py", line 3301, in run_ast_nodes if await self.run_code(code, result, async_=asy): File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\IPython\core\interactiveshell.py", line 3361, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "C:\Users\86135\AppData\Local\Temp\ipykernel_16780\2969753639.py", line 1, in <cell line: 1> gp.set_interpolator(geo_model) File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\api_modules\setters.py", line 108, in set_interpolator geo_model._interpolator.compile_th_fn_geo(inplace=True, grid=grid) File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\core\interpolator.py", line 1124, in compile_th_fn_geo self.theano_graph.theano_output(), File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\core\theano_modules\theano_graph_pro.py", line 631, in theano_output solutions[:9] = self.compute_series() File "D:\Software\Anaconda3\envs\gempy_new\lib\site-packages\gempy\core\theano_modules\theano_graph_pro.py", line 465, in compute_series series, self.updates1 = theano.scan( Debugprint of the apply node: for{cpu,Looping}.0 [id A] <TensorType(float64, 4D)> ''
|Elemwise{minimum,no_inplace} [id B] <TensorType(int64, scalar)> ''
| |Elemwise{minimum,no_inplace} [id C] <TensorType(int64, scalar)> ''
| | |Elemwise{minimum,no_inplace} [id D] <TensorType(int64, scalar)> ''
| | | |Elemwise{minimum,no_inplace} [id E] <TensorType(int64, scalar)> ''
| | | | |Elemwise{minimum,no_inplace} [id F] <TensorType(int64, scalar)> ''
| | | | | |Elemwise{minimum,no_inplace} [id G] <TensorType(int64, scalar)> ''
| | | | | | |Elemwise{minimum,no_inplace} [id H] <TensorType(int64, scalar)> ''
| | | | | | | |Elemwise{minimum,no_inplace} [id I] <TensorType(int64, scalar)> ''
| | | | | | | | |Elemwise{minimum,no_inplace} [id J] <TensorType(int64, scalar)> ''
| | | | | | | | | |Elemwise{minimum,no_inplace} [id K] <TensorType(int64, scalar)> ''
| | | | | | | | | | |Elemwise{minimum,no_inplace} [id L] <TensorType(int64, scalar)> ''
| | | | | | | | | | | |Elemwise{minimum,no_inplace} [id M] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | |Elemwise{minimum,no_inplace} [id N] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | | |Elemwise{minimum,no_inplace} [id O] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | | | |Elemwise{minimum,no_inplace} [id P] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | | | | |Elemwise{minimum,no_inplace} [id Q] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | | | | | |Elemwise{minimum,no_inplace} [id R] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | | | | | | |Subtensor{int64} [id S] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | | | | | | | |Shape [id T] <TensorType(int64, vector)> ''
| | | | | | | | | | | | | | | | | | | |Subtensor{int64:int64:} [id U] <TensorType(int32, vector)> 'Length of surface_points in every series[0:-1]'
| | | | | | | | | | | | | | | | | | |Constant{0} [id V] | | | | | | | | | | | | | | | | | |Subtensor{int64} [id W] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | | | | | | |Shape [id X] <TensorType(int64, vector)> ''
| | | | | | | | | | | | | | | | | | |Subtensor{int64::} [id Y] <TensorType(int32, vector)> 'Length of surface_points in every series[1:]'
| | | | | | | | | | | | | | | | | |Constant{0} [id V] | | | | | | | | | | | | | | | | |Subtensor{int64} [id Z] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | | | | | |Shape [id BA] <TensorType(int64, vector)> ''
| | | | | | | | | | | | | | | | | |Subtensor{int64:int64:} [id BB] <TensorType(int32, vector)> 'Length of foliations in every series[0:-1]'
| | | | | | | | | | | | | | | | |Constant{0} [id V] | | | | | | | | | | | | | | | |Subtensor{int64} [id BC] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | | | | |Shape [id BD] <TensorType(int64, vector)> ''
| | | | | | | | | | | | | | | | |Subtensor{int64::} [id BE] <TensorType(int32, vector)> 'Length of foliations in every series[1:]'
| | | | | | | | | | | | | | | |Constant{0} [id V] | | | | | | | | | | | | | | |Subtensor{int64} [id BF] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | | | |Shape [id BG] <TensorType(int64, vector)> ''
| | | | | | | | | | | | | | | |Subtensor{int64:int64:} [id BH] <TensorType(int32, vector)> 'Length of weights in every series[0:-1]'
| | | | | | | | | | | | | | |Constant{0} [id V] | | | | | | | | | | | | | |Subtensor{int64} [id BI] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | | |Shape [id BJ] <TensorType(int64, vector)> ''
| | | | | | | | | | | | | | |Subtensor{int64::} [id BK] <TensorType(int32, vector)> 'Length of weights in every series[1:]'
| | | | | | | | | | | | | |Constant{0} [id V] | | | | | | | | | | | | |Subtensor{int64} [id BL] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | |Shape [id BM] <TensorType(int64, vector)> ''
| | | | | | | | | | | | | |Subtensor{int64:int64:} [id BN] <TensorType(int32, vector)> 'List with the number of surfaces[0:-1]'
| | | | | | | | | | | | |Constant{0} [id V] | | | | | | | | | | | |Subtensor{int64} [id BO] <TensorType(int64, scalar)> ''
| | | | | | | | | | | |Shape [id BP] <TensorType(int64, vector)> ''
| | | | | | | | | | | | |Subtensor{int64::} [id BQ] <TensorType(int32, vector)> 'List with the number of surfaces[1:]'
| | | | | | | | | | | |Constant{0} [id V] | | | | | | | | | | |Subtensor{int64} [id BR] <TensorType(int64, scalar)> ''
| | | | | | | | | | |Shape [id BS] <TensorType(int64, vector)> ''
| | | | | | | | | | | |Subtensor{int64::} [id BT] <TensorType(int32, vector)> 'Grade of the universal drift[0:]'
| | | | | | | | | | |Constant{0} [id V] | | | | | | | | | |Subtensor{int64} [id BU] <TensorType(int64, scalar)> ''
| | | | | | | | | |Shape [id BV] <TensorType(int64, vector)> ''
| | | | | | | | | | |Subtensor{int64::} [id BW] <TensorType(bool, vector)> 'Vector controlling if weights must be recomputed[0:]'
| | | | | | | | | |Constant{0} [id V] | | | | | | | | |Subtensor{int64} [id BX] <TensorType(int64, scalar)> ''
| | | | | | | | |Shape [id BY] <TensorType(int64, vector)> ''
| | | | | | | | | |Subtensor{int64::} [id BZ] <TensorType(bool, vector)> 'Vector controlling if scalar matrix must be recomputed[0:]'
| | | | | | | | |Constant{0} [id V] | | | | | | | |Subtensor{int64} [id CA] <TensorType(int64, scalar)> ''
| | | | | | | |Shape [id CB] <TensorType(int64, vector)> ''
| | | | | | | | |Subtensor{int64::} [id CC] <TensorType(bool, vector)> 'Vector controlling if block matrix must be recomputed[0:]'
| | | | | | | |Constant{0} [id V] | | | | | | |Subtensor{int64} [id CD] <TensorType(int64, scalar)> ''
| | | | | | |Shape [id CE] <TensorType(int64, vector)> ''
| | | | | | | |Subtensor{int64::} [id CF] <TensorType(int32, vector)> 'The series (fault) is finite[0:]'
| | | | | | |Constant{0} [id V] | | | | | |Subtensor{int64} [id CG] <TensorType(int64, scalar)> ''
| | | | | |Shape [id CH] <TensorType(int64, vector)> ''
| | | | | | |Subtensor{int64::} [id CI] <TensorType(int32, vector)> ''
| | | | | | |<TensorType(int32, vector)> [id CJ] <TensorType(int32, vector)> | | | | | | |Constant{0} [id V] | | | | | |Constant{0} [id V] | | | | |Subtensor{int64} [id CK] <TensorType(int64, scalar)> ''
| | | | |Shape [id CL] <TensorType(int64, vector)> ''
| | | | | |Subtensor{int64::} [id CM] <TensorType(int32, vector)> ''
| | | | | |<TensorType(int32, vector)> [id CN] <TensorType(int32, vector)> | | | | | |Constant{0} [id V] | | | | |Constant{0} [id V] | | | |TensorConstant{5000} [id CO] <TensorType(int64, scalar)> | | |Subtensor{int64} [id CP] <TensorType(int64, scalar)> ''
| | |Shape [id CQ] <TensorType(int64, vector)> ''
| | | |Subtensor{int64::} [id CR] <TensorType(float64, vector)> 'Range[0:]'
| | |Constant{0} [id V] | |Subtensor{int64} [id CS] <TensorType(int64, scalar)> ''
| |Shape [id CT] <TensorType(int64, vector)> ''
| | |Subtensor{int64::} [id CU] <TensorType(float64, vector)> 'Covariance at 0[0:]'
| |Constant{0} [id V] |Subtensor{:int64:} [id CV] <TensorType(int32, vector)> ''
| |Subtensor{int64:int64:} [id U] <TensorType(int32, vector)> 'Length of surface_points in every series[0:-1]'
| |ScalarFromTensor [id CW] ''
| |Elemwise{minimum,no_inplace} [id B] <TensorType(int64, scalar)> ''
|Subtensor{:int64:} [id CX] <TensorType(int32, vector)> ''
| |Subtensor{int64::} [id Y] <TensorType(int32, vector)> 'Length of surface_points in every series[1:]'
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id CY] <TensorType(int32, vector)> ''
| |Subtensor{int64:int64:} [id BB] <TensorType(int32, vector)> 'Length of foliations in every series[0:-1]'
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id CZ] <TensorType(int32, vector)> ''
| |Subtensor{int64::} [id BE] <TensorType(int32, vector)> 'Length of foliations in every series[1:]'
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id DA] <TensorType(int32, vector)> ''
| |Subtensor{int64:int64:} [id BH] <TensorType(int32, vector)> 'Length of weights in every series[0:-1]'
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id DB] <TensorType(int32, vector)> ''
| |Subtensor{int64::} [id BK] <TensorType(int32, vector)> 'Length of weights in every series[1:]'
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id DC] <TensorType(int32, vector)> ''
| |Subtensor{int64:int64:} [id BN] <TensorType(int32, vector)> 'List with the number of surfaces[0:-1]'
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id DD] <TensorType(int32, vector)> ''
| |Subtensor{int64::} [id BQ] <TensorType(int32, vector)> 'List with the number of surfaces[1:]'
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id DE] <TensorType(int32, vector)> ''
| |Subtensor{int64::} [id BT] <TensorType(int32, vector)> 'Grade of the universal drift[0:]'
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id DF] <TensorType(bool, vector)> ''
| |Subtensor{int64::} [id BW] <TensorType(bool, vector)> 'Vector controlling if weights must be recomputed[0:]'
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id DG] <TensorType(bool, vector)> ''
| |Subtensor{int64::} [id BZ] <TensorType(bool, vector)> 'Vector controlling if scalar matrix must be recomputed[0:]'
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id DH] <TensorType(bool, vector)> ''
| |Subtensor{int64::} [id CC] <TensorType(bool, vector)> 'Vector controlling if block matrix must be recomputed[0:]'
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id DI] <TensorType(int32, vector)> ''
| |Subtensor{int64::} [id CF] <TensorType(int32, vector)> 'The series (fault) is finite[0:]'
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id DJ] <TensorType(int32, vector)> ''
| |Subtensor{int64::} [id CI] <TensorType(int32, vector)> ''
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id DK] <TensorType(int32, vector)> ''
| |Subtensor{int64::} [id CM] <TensorType(int32, vector)> ''
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id DL] <TensorType(int32, vector)> ''
| |TensorConstant{[ 0 1..4998 4999]} [id DM] <TensorType(int32, vector)> | |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id DN] <TensorType(float64, vector)> ''
| |Subtensor{int64::} [id CR] <TensorType(float64, vector)> 'Range[0:]'
| |ScalarFromTensor [id CW] ''
|Subtensor{:int64:} [id DO] <TensorType(float64, vector)> ''
| |Subtensor{int64::} [id CU] <TensorType(float64, vector)> 'Covariance at 0[0:]'
| |ScalarFromTensor [id CW] ''
|IncSubtensor{Set;:int64:} [id DP] <TensorType(float64, 4D)> ''
| |AllocEmpty{dtype='float64'} [id DQ] <TensorType(float64, 4D)> ''
| | |Elemwise{add,no_inplace} [id DR] <TensorType(int64, scalar)> ''
| | | |Elemwise{minimum,no_inplace} [id B] <TensorType(int64, scalar)> ''
| | | |Subtensor{int64} [id DS] <TensorType(int64, scalar)> ''
| | | |Shape [id DT] <TensorType(int64, vector)> ''
| | | | |Rebroadcast{0} [id DU] <TensorType(float64, 4D)> ''
| | | | |InplaceDimShuffle{x,0,1,2} [id DV] <TensorType(float64, (True, False, False, False))> ''
| | | | |block matrix [id DW] <TensorType(float64, 3D)> | | | |Constant{0} [id V] | | |Subtensor{int64} [id DX] <TensorType(int64, scalar)> ''
| | | |Shape [id DT] <TensorType(int64, vector)> ''
| | | |Constant{1} [id DY] | | |Subtensor{int64} [id DZ] <TensorType(int64, scalar)> ''
| | | |Shape [id DT] <TensorType(int64, vector)> ''
| | | |Constant{2} [id EA] | | |Subtensor{int64} [id EB] <TensorType(int64, scalar)> ''
| | |Shape [id DT] <TensorType(int64, vector)> ''
| | |Constant{3} [id EC] | |Rebroadcast{0} [id DU] <TensorType(float64, 4D)> ''
| |ScalarFromTensor [id ED] ''
| |Subtensor{int64} [id DS] <TensorType(int64, scalar)> ''
|IncSubtensor{Set;:int64:} [id EE] <TensorType(float64, matrix)> ''
| |AllocEmpty{dtype='float64'} [id EF] <TensorType(float64, matrix)> ''
| | |Elemwise{add,no_inplace} [id EG] <TensorType(int64, scalar)> ''
| | | |Elemwise{minimum,no_inplace} [id B] <TensorType(int64, scalar)> ''
| | | |Subtensor{int64} [id EH] <TensorType(int64, scalar)> ''
| | | |Shape [id EI] <TensorType(int64, vector)> ''
| | | | |Rebroadcast{0} [id EJ] <TensorType(float64, matrix)> ''
| | | | |InplaceDimShuffle{x,0} [id EK] <TensorType(float64, row)> ''
| | | | |Weights vector [id EL] <TensorType(float64, vector)> | | | |Constant{0} [id V] | | |Subtensor{int64} [id EM] <TensorType(int64, scalar)> ''
| | |Shape [id EI] <TensorType(int64, vector)> ''
| | |Constant{1} [id DY] | |Rebroadcast{0} [id EJ] <TensorType(float64, matrix)> ''
| |ScalarFromTensor [id EN] ''
| |Subtensor{int64} [id EH] <TensorType(int64, scalar)> ''
|IncSubtensor{Set;:int64:} [id EO] <TensorType(float64, 3D)> ''
| |AllocEmpty{dtype='float64'} [id EP] <TensorType(float64, 3D)> ''
| | |Elemwise{add,no_inplace} [id EQ] <TensorType(int64, scalar)> ''
| | | |Elemwise{minimum,no_inplace} [id B] <TensorType(int64, scalar)> ''
| | | |Subtensor{int64} [id ER] <TensorType(int64, scalar)> ''
| | | |Shape [id ES] <TensorType(int64, vector)> ''
| | | | |Rebroadcast{0} [id ET] <TensorType(float64, 3D)> ''
| | | | |InplaceDimShuffle{x,0,1} [id EU] <TensorType(float64, (True, False, False))> ''
| | | | |Scalar matrix [id EV] <TensorType(float64, matrix)> | | | |Constant{0} [id V] | | |Subtensor{int64} [id EW] <TensorType(int64, scalar)> ''
| | | |Shape [id ES] <TensorType(int64, vector)> ''
| | | |Constant{1} [id DY] | | |Subtensor{int64} [id EX] <TensorType(int64, scalar)> ''
| | |Shape [id ES] <TensorType(int64, vector)> ''
| | |Constant{2} [id EA] | |Rebroadcast{0} [id ET] <TensorType(float64, 3D)> ''
| |ScalarFromTensor [id EY] ''
| |Subtensor{int64} [id ER] <TensorType(int64, scalar)> ''
|IncSubtensor{Set;:int64:} [id EZ] <TensorType(float64, 3D)> ''
| |AllocEmpty{dtype='float64'} [id FA] <TensorType(float64, 3D)> ''
| | |Elemwise{add,no_inplace} [id FB] <TensorType(int64, scalar)> ''
| | | |Elemwise{minimum,no_inplace} [id B] <TensorType(int64, scalar)> ''
| | | |Subtensor{int64} [id FC] <TensorType(int64, scalar)> ''
| | | |Shape [id FD] <TensorType(int64, vector)> ''
| | | | |Rebroadcast{0} [id FE] <TensorType(float64, 3D)> ''
| | | | |InplaceDimShuffle{x,0,1} [id FF] <TensorType(float64, (True, False, False))> ''
| | | | |Alloc [id FG] <TensorType(float64, matrix)> ''
| | | | |TensorConstant{0.0} [id FH] <TensorType(float64, scalar)> | | | | |Subtensor{int64} [id FI] <TensorType(int64, scalar)> ''
| | | | | |Shape [id FJ] <TensorType(int64, vector)> ''
| | | | | | |<TensorType(int32, vector)> [id CJ] <TensorType(int32, vector)> | | | | | |Constant{0} [id V] | | | | |Subtensor{int64} [id FK] <TensorType(int32, scalar)> ''
| | | | |List with the number of surfaces [id FL] <TensorType(int32, vector)> | | | | |Constant{-1} [id FM] | | | |Constant{0} [id V] | | |Subtensor{int64} [id FN] <TensorType(int64, scalar)> ''
| | | |Shape [id FD] <TensorType(int64, vector)> ''
| | | |Constant{1} [id DY] | | |Subtensor{int64} [id FO] <TensorType(int64, scalar)> ''
| | |Shape [id FD] <TensorType(int64, vector)> ''
| | |Constant{2} [id EA] | |Rebroadcast{0} [id FE] <TensorType(float64, 3D)> ''
| |ScalarFromTensor [id FP] ''
| |Subtensor{int64} [id FC] <TensorType(int64, scalar)> ''
|IncSubtensor{Set;:int64:} [id FQ] <TensorType(bool, 3D)> ''
| |AllocEmpty{dtype='bool'} [id FR] <TensorType(bool, 3D)> ''
| | |Elemwise{add,no_inplace} [id FS] <TensorType(int64, scalar)> ''
| | | |Elemwise{minimum,no_inplace} [id B] <TensorType(int64, scalar)> ''
| | | |Subtensor{int64} [id FT] <TensorType(int64, scalar)> ''
| | | |Shape [id FU] <TensorType(int64, vector)> ''
| | | | |Rebroadcast{0} [id FV] <TensorType(bool, 3D)> ''
| | | | |InplaceDimShuffle{x,0,1} [id FW] <TensorType(bool, (True, False, False))> ''
| | | | |mask matrix [id FX] <TensorType(bool, matrix)> | | | |Constant{0} [id V] | | |Subtensor{int64} [id FY] <TensorType(int64, scalar)> ''
| | | |Shape [id FU] <TensorType(int64, vector)> ''
| | | |Constant{1} [id DY] | | |Subtensor{int64} [id FZ] <TensorType(int64, scalar)> ''
| | |Shape [id FU] <TensorType(int64, vector)> ''
| | |Constant{2} [id EA] | |Rebroadcast{0} [id FV] <TensorType(bool, 3D)> ''
| |ScalarFromTensor [id GA] ''
| |Subtensor{int64} [id FT] <TensorType(int64, scalar)> ''
|IncSubtensor{Set;:int64:} [id GB] <TensorType(bool, 3D)> ''
| |AllocEmpty{dtype='bool'} [id GC] <TensorType(bool, 3D)> ''
| | |Elemwise{add,no_inplace} [id GD] <TensorType(int64, scalar)> ''
| | | |Elemwise{minimum,no_inplace} [id B] <TensorType(int64, scalar)> ''
| | | |Subtensor{int64} [id GE] <TensorType(int64, scalar)> ''
| | | |Shape [id GF] <TensorType(int64, vector)> ''
| | | | |Rebroadcast{0} [id GG] <TensorType(bool, 3D)> ''
| | | | |InplaceDimShuffle{x,0,1} [id GH] <TensorType(bool, (True, False, False))> ''
| | | | |Elemwise{second,no_inplace} [id GI] <TensorType(bool, matrix)> ''
| | | | |mask matrix [id FX] <TensorType(bool, matrix)> | | | | |TensorConstant{(1, 1) of False} [id GJ] <TensorType(bool, (True, True))> | | | |Constant{0} [id V] | | |Subtensor{int64} [id GK] <TensorType(int64, scalar)> ''
| | | |Shape [id GF] <TensorType(int64, vector)> ''
| | | |Constant{1} [id DY] | | |Subtensor{int64} [id GL] <TensorType(int64, scalar)> ''
| | |Shape [id GF] <TensorType(int64, vector)> ''
| | |Constant{2} [id EA] | |Rebroadcast{0} [id GG] <TensorType(bool, 3D)> ''
| |ScalarFromTensor [id GM] ''
| |Subtensor{int64} [id GE] <TensorType(int64, scalar)> ''
|IncSubtensor{Set;:int64:} [id GN] <TensorType(float64, 4D)> ''
| |AllocEmpty{dtype='float64'} [id GO] <TensorType(float64, 4D)> ''
| | |Elemwise{add,no_inplace} [id GP] <TensorType(int64, scalar)> ''
| | | |Elemwise{minimum,no_inplace} [id B] <TensorType(int64, scalar)> ''
| | | |Subtensor{int64} [id GQ] <TensorType(int64, scalar)> ''
| | | |Shape [id GR] <TensorType(int64, vector)> ''
| | | | |Rebroadcast{0} [id GS] <TensorType(float64, 4D)> ''
| | | | |InplaceDimShuffle{x,0,1,2} [id GT] <TensorType(float64, (True, False, False, False))> ''
| | | | |Elemwise{second,no_inplace} [id GU] <TensorType(float64, 3D)> ''
| | | | |block matrix [id DW] <TensorType(float64, 3D)> | | | | |TensorConstant{(1, 1, 1) of 0.0} [id GV] <TensorType(float64, (True, True, True))> | | | |Constant{0} [id V] | | |Subtensor{int64} [id GW] <TensorType(int64, scalar)> ''
| | | |Shape [id GR] <TensorType(int64, vector)> ''
| | | |Constant{1} [id DY] | | |Subtensor{int64} [id GX] <TensorType(int64, scalar)> ''
| | | |Shape [id GR] <TensorType(int64, vector)> ''
| | | |Constant{2} [id EA] | | |Subtensor{int64} [id GY] <TensorType(int64, scalar)> ''
| | |Shape [id GR] <TensorType(int64, vector)> ''
| | |Constant{3} [id EC] | |Rebroadcast{0} [id GS] <TensorType(float64, 4D)> ''
| |ScalarFromTensor [id GZ] ''
| |Subtensor{int64} [id GQ] <TensorType(int64, scalar)> ''
|IncSubtensor{Set;:int64:} [id HA] <TensorType(int64, vector)> ''
| |AllocEmpty{dtype='int64'} [id HB] <TensorType(int64, vector)> ''
| | |Elemwise{add,no_inplace} [id HC] <TensorType(int64, scalar)> ''
| | |Elemwise{minimum,no_inplace} [id B] <TensorType(int64, scalar)> ''
| | |TensorConstant{1} [id HD] <TensorType(int64, scalar)> | |TensorConstant{(1,) of 0} [id HE] <TensorType(int64, vector)> | |Constant{1} [id DY] |Number of points per surface used to split rest-ref [id HF] <TensorType(int32, vector)> |fault relation matrix [id HG] <TensorType(int32, matrix)> |<TensorType(float64, scalar)> [id HH] <TensorType(float64, scalar)> |<TensorType(float64, scalar)> [id HI] <TensorType(float64, scalar)> |<TensorType(float64, scalar)> [id HJ] <TensorType(float64, scalar)> |Nugget effect of gradients [id HK] <TensorType(float64, vector)> |Nugget effect of scalar [id HL] <TensorType(float64, vector)> |Attenuation factor [id HM] <TensorType(float64, scalar)> |Sigmoid Outside [id HN] <TensorType(float64, scalar)> |Sigmoid slope [id HO] <TensorType(float64, scalar)> |<TensorType(int32, vector)> [id CN] <TensorType(int32, vector)> |<TensorType(bool, vector)> [id HP] <TensorType(bool, vector)> |<TensorType(int32, vector)> [id CJ] <TensorType(int32, vector)> |Coordinates of the grid points to interpolate [id HQ] <TensorType(float64, matrix)> |All the surface_points points at once [id HR] <TensorType(float64, matrix)> |Position of the dips [id HS] <TensorType(float64, matrix)> |Angle of every dip [id HT] <TensorType(float64, vector)> |Azimuth [id HU] <TensorType(float64, vector)> |Polarity [id HV] <TensorType(float64, vector)> |Values that the blocks are taking [id HW] <TensorType(float64, matrix)> for{cpu,Looping}.1 [id A] <TensorType(float64, matrix)> ''
for{cpu,Looping}.2 [id A] <TensorType(float64, 3D)> ''
for{cpu,Looping}.3 [id A] <TensorType(float64, 3D)> ''
for{cpu,Looping}.4 [id A] <TensorType(bool, 3D)> ''
for{cpu,Looping}.5 [id A] <TensorType(bool, 3D)> ''
for{cpu,Looping}.6 [id A] <TensorType(float64, 4D)> ''
for{cpu,Looping}.7 [id A] <TensorType(int64, vector)> ''

Inner graphs of the scan ops: ……`

Linya-Peng avatar Mar 28 '22 13:03 Linya-Peng

Dear @Linya-Peng

this is a theano-error, and it can have different sources. So it is a bit difficult to pinpoint it to a specific error in data processing, or the input data itself. It would be easiest, if you could share your processing notebook and some of your example data.

Japhiolite avatar Mar 28 '22 15:03 Japhiolite

Dear @Japhiolite Thank you for your reply! Here are my notebook and example data. Where: LOCAtest.csv contains the position information of each borehole (wellname, coordinate) image

GEOLtest.scv contains the stratigraphic information each borehole image

At the very begining, I tried to use 3 boreholes to test, and got the result below: image So I guess the more complex borehole data and formation topology caused this error? example_data_and_notebook.zip

Linya-Peng avatar Mar 29 '22 00:03 Linya-Peng

Hi @Linya-Peng

I had a look at your data. The processing and reading looks fine. I think you are right with your guess, that the more complex model breaks the calculation of the solution. Thing is, you only provide 1 orientation value for the whole stack, and it is the default orientation (i.e. 0° dip with azimuth of 0°). This may work for small data sets like you've seen, although the model there also looks kinda funky.

You need more orientation data points for making the more complicated model work.

Japhiolite avatar Mar 29 '22 09:03 Japhiolite

Hi @Japhiolite Thank you for your reply! I'll try to set more precise orientation, maybe use gp.set_orientation_from_neighbours_all? And if i have any new progress,I‘ll let you know~ Thank you again for your patience!

Linya-Peng avatar Mar 30 '22 00:03 Linya-Peng

Hi @Linya-Peng yes, setting orientations from neighbours may work...it may also not, depending on the distance and number of neighbours. Setting good orientation values is one more difficult, but important step in creating a consistent model. Thanks for keeping me updated, when/if this works. Best regards

Japhiolite avatar Mar 30 '22 07:03 Japhiolite

@Linya-Peng any updates here?

AlexanderJuestel avatar Dec 29 '22 18:12 AlexanderJuestel