gempy-project / gempy

GemPy is an open-source, Python-based 3-D structural geological modeling software, which allows the implicit (i.e. automatic) creation of complex geological models from interface and orientation data. It also offers support for stochastic modeling to address parameter and model uncertainties.
https://gempy.org
European Union Public License 1.2
955 stars 232 forks source link

Working with large datasets causes errors #422

Closed andimg122 closed 4 years ago

andimg122 commented 4 years ago

Hi everyone,

I'm trying to create a model with a very large dataset (over 800,000 rows) of several layers, but every time I try to use the 'compute_model' function, after a successful interpolation, I run into this error. When I only use a very small fraction of my dataset, everything works fine. I've set default orientations for all layers and excluded faults to keep it all simple, hoping to resolve the issue but without success.

I've set the x,y,z limits to automatically adjust to my min and max values in the dataset, as I want to visualize the entire area. Additionally, in attempting to solve the problem, I tried playing with the resolution going from 50 to 10 but it didn't change the outcome. Also, setting the theano compiler flag from 'fast_compile' to 'fast_run' didn't do the trick either.

Hopefully there's a solution to this.

`

MemoryError Traceback (most recent call last) scan_perform.pyx in theano.scan_module.scan_perform.perform()

MemoryError: alloc failed

During handling of the above exception, another exception occurred:

MemoryError Traceback (most recent call last) ~\Anaconda3\lib\site-packages\theano\compile\function_module.py in call(self, *args, **kwargs) 902 outputs =\ --> 903 self.fn() if output_subset is None else\ 904 self.fn(output_subset=output_subset)

~\Anaconda3\lib\site-packages\theano\scan_module\scan_op.py in rval(p, i, o, n, allow_gc) 962 allow_gc=allow_gc): --> 963 r = p(n, [x[0] for x in i], o) 964 for o in node.outputs:

~\Anaconda3\lib\site-packages\theano\scan_module\scan_op.py in p(node, args, outs) 951 outs, --> 952 self, node) 953 except (ImportError, theano.gof.cmodule.MissingGXX):

scan_perform.pyx in theano.scan_module.scan_perform.perform()

~\Anaconda3\lib\site-packages\theano\gof\link.py in raise_with_op(node, thunk, exc_info, storage_map) 324 pass --> 325 reraise(exc_type, exc_value, exc_trace) 326

~\Anaconda3\lib\site-packages\six.py in reraise(tp, value, tb) 691 if value.traceback is not tb: --> 692 raise value.with_traceback(tb) 693 raise value

scan_perform.pyx in theano.scan_module.scan_perform.perform()

MemoryError: alloc failed Apply node that caused the error: AllocEmpty{dtype='float64'}(Elemwise{add,no_inplace}.0, Subtensor{int64}.0) Toposort index: 638 Inputs types: [TensorType(int64, scalar), TensorType(int64, scalar)] Inputs shapes: [(), ()] Inputs strides: [(), ()] Inputs values: [array(10132, dtype=int64), array(386842, dtype=int64)] Inputs type_num: [9, 9] Outputs clients: [[IncSubtensor{Set;:int64:}(AllocEmpty{dtype='float64'}.0, Rebroadcast{0}.0, ScalarFromTensor.0)]]

Backtrace when the node is created(use Theano flag traceback.limit=N to make it longer): File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\gempy_api.py", line 218, in set_interpolator geo_model.interpolator.compile_th_fn_geo(inplace=True, grid=grid) File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\interpolator.py", line 1022, in compile_th_fn_geo self.theano_graph.theano_output(), File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\theano\theano_graph_pro.py", line 558, in theano_output solutions[:9] = self.compute_series() File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\theano\theano_graph_pro.py", line 432, in compute_series profile=False File "C:\Users\Andreas\Anaconda3\lib\site-packages\theano\scan_module\scan.py", line 774, in scan condition, outputs, updates = scan_utils.get_updates_and_outputs(fn(*args)) File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\theano\theano_graph_pro.py", line 1884, in compute_a_series Z_x = tif.ifelse(compute_scalar_ctr, self.compute_scalar_field(weights, grid, fault_matrix_op), File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\theano\theano_graph_pro.py", line 375, in compute_scalar_field return self.scalar_field_at_all(weights, grid_val, fault_matrix) File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\theano\theano_graph_pro.py", line 1516, in scalar_field_at_all return_list=True)

Debugprint of the apply node: AllocEmpty{dtype='float64'} [id A] <TensorType(float64, matrix)> ''
|Elemwise{add,no_inplace} [id B] <TensorType(int64, scalar)> ''
| |Elemwise{minimum,no_inplace} [id C] <TensorType(int64, scalar)> ''
| | |Subtensor{int64} [id D] <TensorType(int64, scalar)> ''
| | | |Shape [id E] <TensorType(int64, vector)> ''
| | | | |Subtensor{int64:int64:} [id F] <TensorType(int64, vector)> ''
| | | | |Join [id G] <TensorType(int64, vector)> ''
| | | | | |TensorConstant{0} [id H] <TensorType(int8, scalar)> | | | | | |ARange{dtype='int64'} [id I] <TensorType(int64, vector)> ''
| | | | | | |TensorConstant{0} [id H] <TensorType(int8, scalar)> | | | | | | |Subtensor{int64} [id J] <TensorType(int64, scalar)> ''
| | | | | | | |Shape [id K] <TensorType(int64, vector)> ''
| | | | | | | | |Join [id L] <TensorType(float64, matrix)> ''
| | | | | | | | |TensorConstant{0} [id H] <TensorType(int8, scalar)> | | | | | | | | |Coordinates of the grid points to interpolate_copy [id M] <TensorType(float64, matrix)> | | | | | | | | |AdvancedSubtensor1 [id N] <TensorType(float64, matrix)> ''
| | | | | | | | | |All the surface_points points at once_copy [id O] <TensorType(float64, matrix)> | | | | | | | | | |Subtensor{int64} [id P] <TensorType(int64, vector)> ''
| | | | | | | | | |Nonzero [id Q] <TensorType(int64, matrix)> ''
| | | | | | | | | | |AdvancedIncSubtensor1{no_inplace,set} [id R] <TensorType(int16, vector)> ''
| | | | | | | | | | |Alloc [id S] <TensorType(int16, vector)> ''
| | | | | | | | | | | |TensorConstant{1} [id T] <TensorType(int16, scalar)> | | | | | | | | | | | |Subtensor{int64} [id U] <TensorType(int64, scalar)> ''
| | | | | | | | | | | |Shape [id V] <TensorType(int64, vector)> ''
| | | | | | | | | | | | |All the surface_points points at once_copy [id O] <TensorType(float64, matrix)> | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | |TensorConstant{0} [id H] <TensorType(int8, scalar)> | | | | | | | | | | |CumOp{None, add} [id X] <TensorType(int32, vector)> ''
| | | | | | | | | | |Join [id Y] <TensorType(int32, vector)> ''
| | | | | | | | | | |TensorConstant{0} [id H] <TensorType(int8, scalar)> | | | | | | | | | | |TensorConstant{(1,) of 0} [id Z] <TensorType(int8, vector)> | | | | | | | | | | |Elemwise{add,no_inplace} [id BA] <TensorType(int32, vector)> ''
| | | | | | | | | | |Subtensor{:int64:} [id BB] <TensorType(int32, vector)> ''
| | | | | | | | | | | |Number of points per surface used to split rest-ref_copy [id BC] <TensorType(int32, vector)> | | | | | | | | | | | |Constant{-1} [id BD] | | | | | | | | | | |TensorConstant{(1,) of 1} [id BE] <TensorType(int8, (True,))> | | | | | | | | | |Constant{0} [id W] | | | | | | | | |Subtensor{int64} [id BF] <TensorType(float64, matrix)> ''
| | | | | | | | |Subtensor{int64::} [id BG] <TensorType(float64, 3D)> ''
| | | | | | | | | |for{cpu,scan_fn} [id BH] <TensorType(float64, 3D)> ''
| | | | | | | | | | |Elemwise{minimum,no_inplace} [id BI] <TensorType(int64, scalar)> ''
| | | | | | | | | | | |Elemwise{minimum,no_inplace} [id BJ] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | |Subtensor{int64} [id BK] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | | |Shape [id BL] <TensorType(int64, vector)> ''
| | | | | | | | | | | | | | |Subtensor{int64::} [id BM] <TensorType(float64, matrix)> ''
| | | | | | | | | | | | | | |AdvancedSubtensor1 [id BN] <TensorType(float64, matrix)> ''
| | | | | | | | | | | | | | | |All the surface_points points at once_copy [id O] <TensorType(float64, matrix)> | | | | | | | | | | | | | | | |CumOp{None, add} [id X] <TensorType(int32, vector)> ''
| | | | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | | | |Subtensor{int64} [id BO] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | |Shape [id BP] <TensorType(int64, vector)> ''
| | | | | | | | | | | | | |Subtensor{int64:int64:} [id BQ] <TensorType(int32, vector)> ''
| | | | | | | | | | | | | |CumOp{None, add} [id BR] <TensorType(int32, vector)> ''
| | | | | | | | | | | | | | |Join [id BS] <TensorType(int32, vector)> ''
| | | | | | | | | | | | | | |TensorConstant{0} [id H] <TensorType(int8, scalar)> | | | | | | | | | | | | | | |TensorConstant{(1,) of 0} [id Z] <TensorType(int8, vector)> | | | | | | | | | | | | | | |Number of points per surface used to split rest-ref_copy [id BC] <TensorType(int32, vector)> | | | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | | | | |Constant{-1} [id BD] | | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | | |Subtensor{int64} [id BT] <TensorType(int64, scalar)> ''
| | | | | | | | | | | |Shape [id BU] <TensorType(int64, vector)> ''
| | | | | | | | | | | | |Subtensor{int64::} [id BV] <TensorType(int32, vector)> ''
| | | | | | | | | | | | |CumOp{None, add} [id BR] <TensorType(int32, vector)> ''
| | | | | | | | | | | | |Constant{1} [id BW] | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | |Subtensor{:int64:} [id BX] <TensorType(float64, matrix)> ''
| | | | | | | | | | | |Subtensor{int64::} [id BM] <TensorType(float64, matrix)> ''
| | | | | | | | | | | |ScalarFromTensor [id BY] ''
| | | | | | | | | | | |Elemwise{minimum,no_inplace} [id BI] <TensorType(int64, scalar)> ''
| | | | | | | | | | |Subtensor{:int64:} [id BZ] <TensorType(int32, vector)> ''
| | | | | | | | | | | |Subtensor{int64:int64:} [id BQ] <TensorType(int32, vector)> ''
| | | | | | | | | | | |ScalarFromTensor [id BY] ''
| | | | | | | | | | |Subtensor{:int64:} [id CA] <TensorType(int32, vector)> ''
| | | | | | | | | | | |Subtensor{int64::} [id BV] <TensorType(int32, vector)> ''
| | | | | | | | | | | |ScalarFromTensor [id BY] ''
| | | | | | | | | | |IncSubtensor{Set;:int64:} [id CB] <TensorType(float64, 3D)> ''
| | | | | | | | | | |AllocEmpty{dtype='float64'} [id CC] <TensorType(float64, 3D)> ''
| | | | | | | | | | | |Elemwise{add,no_inplace} [id CD] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | |Elemwise{minimum,no_inplace} [id BI] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | |Subtensor{int64} [id CE] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | |Shape [id CF] <TensorType(int64, vector)> ''
| | | | | | | | | | | | | |Rebroadcast{0} [id CG] <TensorType(float64, 3D)> ''
| | | | | | | | | | | | | |InplaceDimShuffle{x,0,1} [id CH] <TensorType(float64, (True, False, False))> ''
| | | | | | | | | | | | | |Alloc [id CI] <TensorType(float64, matrix)> ''
| | | | | | | | | | | | | |TensorConstant{0.0} [id CJ] <TensorType(float64, scalar)> | | | | | | | | | | | | | |Subtensor{int64} [id CK] <TensorType(int32, scalar)> ''
| | | | | | | | | | | | | | |CumOp{None, add} [id BR] <TensorType(int32, vector)> ''
| | | | | | | | | | | | | | |Constant{-1} [id BD] | | | | | | | | | | | | | |TensorConstant{3} [id CL] <TensorType(int8, scalar)> | | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | | |Subtensor{int64} [id CM] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | |Shape [id CF] <TensorType(int64, vector)> ''
| | | | | | | | | | | | |Constant{1} [id BW] | | | | | | | | | | | |Subtensor{int64} [id CN] <TensorType(int64, scalar)> ''
| | | | | | | | | | | |Shape [id CF] <TensorType(int64, vector)> ''
| | | | | | | | | | | |Constant{2} [id CO] | | | | | | | | | | |Rebroadcast{0} [id CG] <TensorType(float64, 3D)> ''
| | | | | | | | | | |ScalarFromTensor [id CP] ''
| | | | | | | | | | |Subtensor{int64} [id CE] <TensorType(int64, scalar)> ''
| | | | | | | | | |Constant{1} [id BW] | | | | | | | | |Constant{-1} [id BD] | | | | | | | |Constant{0} [id W] | | | | | | |Elemwise{true_div,no_inplace} [id CQ] <TensorType(float64, scalar)> ''
| | | | | | |TensorConstant{5000000.0} [id CR] <TensorType(float32, scalar)> | | | | | | |Elemwise{add,no_inplace} [id CS] <TensorType(int64, scalar)> ''
| | | | | | |Elemwise{add,no_inplace} [id CT] <TensorType(int64, scalar)> ''
| | | | | | | |Elemwise{add,no_inplace} [id CU] <TensorType(int64, scalar)> ''
| | | | | | | | |Subtensor{int64} [id CV] <TensorType(int64, scalar)> ''
| | | | | | | | | |Shape [id CW] <TensorType(int64, vector)> ''
| | | | | | | | | | |Reshape{2} [id CX] <TensorType(float64, matrix)> ''
| | | | | | | | | | |InplaceDimShuffle{0,2,1,3} [id CY] <TensorType(float64, (False, False, True, False))> ''
| | | | | | | | | | | |Alloc [id CZ] <TensorType(float64, (False, True, False, False))> ''
| | | | | | | | | | | |Subtensor{int32:int32:, ::} [id DA] <TensorType(float64, matrix)> ''
| | | | | | | | | | | | |Position of the dips_copy [id DB] <TensorType(float64, matrix)> | | | | | | | | | | | | |ScalarFromTensor [id DC] ''
| | | | | | | | | | | | | |Length of foliations in every series[t] [id DD] <TensorType(int32, scalar)> | | | | | | | | | | | | |ScalarFromTensor [id DE] ''
| | | | | | | | | | | | |Length of foliations in every series[t+1] [id DF] <TensorType(int32, scalar)> | | | | | | | | | | | |TensorConstant{3} [id CL] <TensorType(int8, scalar)> | | | | | | | | | | | |TensorConstant{1} [id DG] <TensorType(int8, scalar)> | | | | | | | | | | | |Subtensor{int64} [id DH] <TensorType(int64, scalar)> ''
| | | | | | | | | | | | |Shape [id DI] <TensorType(int64, vector)> ''
| | | | | | | | | | | | | |Subtensor{int32:int32:, ::} [id DA] <TensorType(float64, matrix)> ''
| | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | | |Subtensor{int64} [id DJ] <TensorType(int64, scalar)> ''
| | | | | | | | | | | |Shape [id DI] <TensorType(int64, vector)> ''
| | | | | | | | | | | |Constant{1} [id BW] | | | | | | | | | | |MakeVector{dtype='int64'} [id DK] <TensorType(int64, vector)> ''
| | | | | | | | | | |Elemwise{mul,no_inplace} [id DL] <TensorType(int64, scalar)> ''
| | | | | | | | | | | |Subtensor{int64} [id DH] <TensorType(int64, scalar)> ''
| | | | | | | | | | | |TensorConstant{3} [id CL] <TensorType(int8, scalar)> | | | | | | | | | | |Elemwise{mul,no_inplace} [id DM] <TensorType(int64, scalar)> ''
| | | | | | | | | | |Subtensor{int64} [id DJ] <TensorType(int64, scalar)> ''
| | | | | | | | | | |TensorConstant{1} [id DG] <TensorType(int8, scalar)> | | | | | | | | | |Constant{0} [id W] | | | | | | | | |Subtensor{int64} [id DN] <TensorType(int64, scalar)> ''
| | | | | | | | |Shape [id DO] <TensorType(int64, vector)> ''
| | | | | | | | | |Subtensor{int32:int32:, ::} [id DP] <TensorType(float64, matrix)> ''
| | | | | | | | | |AdvancedSubtensor1 [id N] <TensorType(float64, matrix)> ''
| | | | | | | | | |ScalarFromTensor [id DQ] ''
| | | | | | | | | | |Length of surface_points in every series[t] [id DR] <TensorType(int32, scalar)> | | | | | | | | | |ScalarFromTensor [id DS] ''
| | | | | | | | | |Length of surface_points in every series[t+1] [id DT] <TensorType(int32, scalar)> | | | | | | | | |Constant{0} [id W] | | | | | | | |Grade of the universal drift[t] [id DU] <TensorType(int32, scalar)> | | | | | | |Elemwise{Cast{int32}} [id DV] <TensorType(int32, scalar)> ''
| | | | | | |Subtensor{int64} [id DW] <TensorType(int64, scalar)> ''
| | | | | | |Shape [id DX] <TensorType(int64, vector)> ''
| | | | | | | |Elemwise{mul,no_inplace} [id DY] <TensorType(float64, matrix)> ''
| | | | | | | |AdvancedSubtensor [id DZ] <TensorType(float64, matrix)> ''
| | | | | | | | |<TensorType(float64, 3D)> [id EA] <TensorType(float64, 3D)> | | | | | | | | |Subtensor{int64} [id EB] <TensorType(int64, vector)> ''
| | | | | | | | | |Nonzero [id EC] <TensorType(int64, matrix)> ''
| | | | | | | | | | |Elemwise{Cast{int8}} [id ED] <TensorType(int8, vector)> ''
| | | | | | | | | | |Subtensor{::, int8} [id EE] <TensorType(int32, vector)> ''
| | | | | | | | | | |fault relation matrix_copy [id EF] <TensorType(int32, matrix)> | | | | | | | | | | |ScalarFromTensor [id EG] ''
| | | | | | | | | | |Elemwise{Cast{int8}} [id EH] <TensorType(int8, scalar)> ''
| | | | | | | | | | |<TensorType(int32, scalar)> [id EI] <TensorType(int32, scalar)> | | | | | | | | | |Constant{0} [id W] | | | | | | | | |TensorConstant{0} [id EJ] <TensorType(int64, scalar)> | | | | | | | | |MakeSlice [id EK] ''
| | | | | | | | |TensorConstant{0} [id H] <TensorType(int8, scalar)> | | | | | | | | |Elemwise{add,no_inplace} [id EL] <TensorType(int64, scalar)> ''
| | | | | | | | | |Elemwise{add,no_inplace} [id EM] <TensorType(int64, scalar)> ''
| | | | | | | | | | |Subtensor{int64} [id EN] <TensorType(int64, scalar)> ''
| | | | | | | | | | | |Shape [id EO] <TensorType(int64, vector)> ''
| | | | | | | | | | | | |Coordinates of the grid points to interpolate_copy [id M] <TensorType(float64, matrix)> | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | |Elemwise{mul,no_inplace} [id EP] <TensorType(int64, scalar)> ''
| | | | | | | | | | |TensorConstant{2} [id EQ] <TensorType(int8, scalar)> | | | | | | | | | | |Elemwise{sub,no_inplace} [id ER] <TensorType(int64, scalar)> ''
| | | | | | | | | | |Subtensor{int64} [id U] <TensorType(int64, scalar)> ''
| | | | | | | | | | |Subtensor{int64} [id ES] <TensorType(int64, scalar)> ''
| | | | | | | | | | |Shape [id ET] <TensorType(int64, vector)> ''
| | | | | | | | | | | |Number of points per surface used to split rest-ref_copy [id BC] <TensorType(int32, vector)> | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | |TensorConstant{0} [id H] <TensorType(int8, scalar)> | | | | | | | | |NoneConst [id EU] | | | | | | | |InplaceDimShuffle{x,x} [id EV] <TensorType(float64, (True, True))> ''
| | | | | | | |<TensorType(float64, scalar)> [id EW] <TensorType(float64, scalar)> | | | | | | |Constant{0} [id W] | | | | | |MakeVector{dtype='int64'} [id EX] <TensorType(int64, vector)> ''
| | | | | |Subtensor{int64} [id J] <TensorType(int64, scalar)> ''
| | | | |Constant{0} [id W] | | | | |Constant{-1} [id BD] | | | |Constant{0} [id W] | | |Subtensor{int64} [id EY] <TensorType(int64, scalar)> ''
| | |Shape [id EZ] <TensorType(int64, vector)> ''
| | | |Subtensor{int64::} [id FA] <TensorType(int64, vector)> ''
| | | |Join [id G] <TensorType(int64, vector)> ''
| | | |Constant{1} [id BW] | | |Constant{0} [id W] | |Subtensor{int64} [id FB] <TensorType(int64, scalar)> ''
| |Shape [id FC] <TensorType(int64, vector)> ''
| | |Rebroadcast{0} [id FD] <TensorType(float64, matrix)> ''
| | |InplaceDimShuffle{x,0} [id FE] <TensorType(float64, row)> ''
| | |Alloc [id FF] <TensorType(float64, vector)> ''
| | |TensorConstant{0.0} [id CJ] <TensorType(float64, scalar)> | | |Subtensor{int64} [id J] <TensorType(int64, scalar)> ''
| |Constant{0} [id W] |Subtensor{int64} [id FG] <TensorType(int64, scalar)> ''
|Shape [id FC] <TensorType(int64, vector)> ''
|Constant{1} [id BW]

Inner graphs of the scan ops:

for{cpu,scan_fn} [id BH] <TensorType(float64, 3D)> ''

IncSubtensor{Set;int32:int32:} [id FH] <TensorType(float64, matrix)> ''
|<TensorType(float64, matrix)> [id FI] <TensorType(float64, matrix)> -> [id CB] |Alloc [id FJ] <TensorType(float64, matrix)> ''
| |<TensorType(float64, vector)> [id FK] <TensorType(float64, vector)> -> [id BX] | |Elemwise{sub,no_inplace} [id FL] <TensorType(int32, scalar)> ''
| | |<TensorType(int32, scalar)> [id FM] <TensorType(int32, scalar)> -> [id CA] | | |<TensorType(int32, scalar)> [id FN] <TensorType(int32, scalar)> -> [id BZ] | |TensorConstant{3} [id FO] <TensorType(int8, scalar)> |ScalarFromTensor [id FP] ''
| |<TensorType(int32, scalar)> [id FN] <TensorType(int32, scalar)> -> [id BZ] |ScalarFromTensor [id FQ] ''
|<TensorType(int32, scalar)> [id FM] <TensorType(int32, scalar)> -> [id CA]

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:

MemoryError Traceback (most recent call last)

in ----> 1 gp.compute_model(geo_model, compute_mesh=True, sort_surfaces=False) ~\Anaconda3\lib\site-packages\gempy\core\gempy_api.py in compute_model(model, output, compute_mesh, reset_weights, reset_scalar, reset_block, sort_surfaces, debug, set_solutions, **kwargs) 305 model.interpolator.reset_flow_control_initial_results(reset_weights, reset_scalar, reset_block) 306 --> 307 sol = model.interpolator.theano_function(*i) 308 309 if debug is True or set_solutions is False: ~\Anaconda3\lib\site-packages\theano\compile\function_module.py in __call__(self, *args, **kwargs) 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 ~\Anaconda3\lib\site-packages\theano\gof\link.py in raise_with_op(node, thunk, exc_info, storage_map) 323 # extra long error message in that case. 324 pass --> 325 reraise(exc_type, exc_value, exc_trace) 326 327 ~\Anaconda3\lib\site-packages\six.py in reraise(tp, value, tb) 690 value = tp() 691 if value.__traceback__ is not tb: --> 692 raise value.with_traceback(tb) 693 raise value 694 finally: ~\Anaconda3\lib\site-packages\theano\compile\function_module.py in __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: ~\Anaconda3\lib\site-packages\theano\scan_module\scan_op.py in 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 ~\Anaconda3\lib\site-packages\theano\scan_module\scan_op.py in p(node, args, outs) 950 args, 951 outs, --> 952 self, node) 953 except (ImportError, theano.gof.cmodule.MissingGXX): 954 p = self.execute scan_perform.pyx in theano.scan_module.scan_perform.perform() ~\Anaconda3\lib\site-packages\theano\gof\link.py in raise_with_op(node, thunk, exc_info, storage_map) 323 # extra long error message in that case. 324 pass --> 325 reraise(exc_type, exc_value, exc_trace) 326 327 ~\Anaconda3\lib\site-packages\six.py in reraise(tp, value, tb) 690 value = tp() 691 if value.__traceback__ is not tb: --> 692 raise value.with_traceback(tb) 693 raise value 694 finally: scan_perform.pyx in theano.scan_module.scan_perform.perform() MemoryError: alloc failed Apply node that caused the error: AllocEmpty{dtype='float64'}(Elemwise{add,no_inplace}.0, Subtensor{int64}.0) Toposort index: 638 Inputs types: [TensorType(int64, scalar), TensorType(int64, scalar)] Inputs shapes: [(), ()] Inputs strides: [(), ()] Inputs values: [array(10132, dtype=int64), array(386842, dtype=int64)] Inputs type_num: [9, 9] Outputs clients: [[IncSubtensor{Set;:int64:}(AllocEmpty{dtype='float64'}.0, Rebroadcast{0}.0, ScalarFromTensor.0)]] Backtrace when the node is created(use Theano flag traceback.limit=N to make it longer): File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\gempy_api.py", line 218, in set_interpolator geo_model.interpolator.compile_th_fn_geo(inplace=True, grid=grid) File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\interpolator.py", line 1022, in compile_th_fn_geo self.theano_graph.theano_output(), File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\theano\theano_graph_pro.py", line 558, in theano_output solutions[:9] = self.compute_series() File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\theano\theano_graph_pro.py", line 432, in compute_series profile=False File "C:\Users\Andreas\Anaconda3\lib\site-packages\theano\scan_module\scan.py", line 774, in scan condition, outputs, updates = scan_utils.get_updates_and_outputs(fn(*args)) File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\theano\theano_graph_pro.py", line 1884, in compute_a_series Z_x = tif.ifelse(compute_scalar_ctr, self.compute_scalar_field(weights, grid, fault_matrix_op), File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\theano\theano_graph_pro.py", line 375, in compute_scalar_field return self.scalar_field_at_all(weights, grid_val, fault_matrix) File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\theano\theano_graph_pro.py", line 1516, in scalar_field_at_all return_list=True) Debugprint of the apply node: AllocEmpty{dtype='float64'} [id A] '' |Elemwise{add,no_inplace} [id B] '' | |Elemwise{minimum,no_inplace} [id C] '' | | |Subtensor{int64} [id D] '' | | | |Shape [id E] '' | | | | |Subtensor{int64:int64:} [id F] '' | | | | |Join [id G] '' | | | | | |TensorConstant{0} [id H] | | | | | |ARange{dtype='int64'} [id I] '' | | | | | | |TensorConstant{0} [id H] | | | | | | |Subtensor{int64} [id J] '' | | | | | | | |Shape [id K] '' | | | | | | | | |Join [id L] '' | | | | | | | | |TensorConstant{0} [id H] | | | | | | | | |Coordinates of the grid points to interpolate_copy [id M] | | | | | | | | |AdvancedSubtensor1 [id N] '' | | | | | | | | | |All the surface_points points at once_copy [id O] | | | | | | | | | |Subtensor{int64} [id P] '' | | | | | | | | | |Nonzero [id Q] '' | | | | | | | | | | |AdvancedIncSubtensor1{no_inplace,set} [id R] '' | | | | | | | | | | |Alloc [id S] '' | | | | | | | | | | | |TensorConstant{1} [id T] | | | | | | | | | | | |Subtensor{int64} [id U] '' | | | | | | | | | | | |Shape [id V] '' | | | | | | | | | | | | |All the surface_points points at once_copy [id O] | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | |TensorConstant{0} [id H] | | | | | | | | | | |CumOp{None, add} [id X] '' | | | | | | | | | | |Join [id Y] '' | | | | | | | | | | |TensorConstant{0} [id H] | | | | | | | | | | |TensorConstant{(1,) of 0} [id Z] | | | | | | | | | | |Elemwise{add,no_inplace} [id BA] '' | | | | | | | | | | |Subtensor{:int64:} [id BB] '' | | | | | | | | | | | |Number of points per surface used to split rest-ref_copy [id BC] | | | | | | | | | | | |Constant{-1} [id BD] | | | | | | | | | | |TensorConstant{(1,) of 1} [id BE] | | | | | | | | | |Constant{0} [id W] | | | | | | | | |Subtensor{int64} [id BF] '' | | | | | | | | |Subtensor{int64::} [id BG] '' | | | | | | | | | |for{cpu,scan_fn} [id BH] '' | | | | | | | | | | |Elemwise{minimum,no_inplace} [id BI] '' | | | | | | | | | | | |Elemwise{minimum,no_inplace} [id BJ] '' | | | | | | | | | | | | |Subtensor{int64} [id BK] '' | | | | | | | | | | | | | |Shape [id BL] '' | | | | | | | | | | | | | | |Subtensor{int64::} [id BM] '' | | | | | | | | | | | | | | |AdvancedSubtensor1 [id BN] '' | | | | | | | | | | | | | | | |All the surface_points points at once_copy [id O] | | | | | | | | | | | | | | | |CumOp{None, add} [id X] '' | | | | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | | | |Subtensor{int64} [id BO] '' | | | | | | | | | | | | |Shape [id BP] '' | | | | | | | | | | | | | |Subtensor{int64:int64:} [id BQ] '' | | | | | | | | | | | | | |CumOp{None, add} [id BR] '' | | | | | | | | | | | | | | |Join [id BS] '' | | | | | | | | | | | | | | |TensorConstant{0} [id H] | | | | | | | | | | | | | | |TensorConstant{(1,) of 0} [id Z] | | | | | | | | | | | | | | |Number of points per surface used to split rest-ref_copy [id BC] | | | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | | | | |Constant{-1} [id BD] | | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | | |Subtensor{int64} [id BT] '' | | | | | | | | | | | |Shape [id BU] '' | | | | | | | | | | | | |Subtensor{int64::} [id BV] '' | | | | | | | | | | | | |CumOp{None, add} [id BR] '' | | | | | | | | | | | | |Constant{1} [id BW] | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | |Subtensor{:int64:} [id BX] '' | | | | | | | | | | | |Subtensor{int64::} [id BM] '' | | | | | | | | | | | |ScalarFromTensor [id BY] '' | | | | | | | | | | | |Elemwise{minimum,no_inplace} [id BI] '' | | | | | | | | | | |Subtensor{:int64:} [id BZ] '' | | | | | | | | | | | |Subtensor{int64:int64:} [id BQ] '' | | | | | | | | | | | |ScalarFromTensor [id BY] '' | | | | | | | | | | |Subtensor{:int64:} [id CA] '' | | | | | | | | | | | |Subtensor{int64::} [id BV] '' | | | | | | | | | | | |ScalarFromTensor [id BY] '' | | | | | | | | | | |IncSubtensor{Set;:int64:} [id CB] '' | | | | | | | | | | |AllocEmpty{dtype='float64'} [id CC] '' | | | | | | | | | | | |Elemwise{add,no_inplace} [id CD] '' | | | | | | | | | | | | |Elemwise{minimum,no_inplace} [id BI] '' | | | | | | | | | | | | |Subtensor{int64} [id CE] '' | | | | | | | | | | | | |Shape [id CF] '' | | | | | | | | | | | | | |Rebroadcast{0} [id CG] '' | | | | | | | | | | | | | |InplaceDimShuffle{x,0,1} [id CH] '' | | | | | | | | | | | | | |Alloc [id CI] '' | | | | | | | | | | | | | |TensorConstant{0.0} [id CJ] | | | | | | | | | | | | | |Subtensor{int64} [id CK] '' | | | | | | | | | | | | | | |CumOp{None, add} [id BR] '' | | | | | | | | | | | | | | |Constant{-1} [id BD] | | | | | | | | | | | | | |TensorConstant{3} [id CL] | | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | | |Subtensor{int64} [id CM] '' | | | | | | | | | | | | |Shape [id CF] '' | | | | | | | | | | | | |Constant{1} [id BW] | | | | | | | | | | | |Subtensor{int64} [id CN] '' | | | | | | | | | | | |Shape [id CF] '' | | | | | | | | | | | |Constant{2} [id CO] | | | | | | | | | | |Rebroadcast{0} [id CG] '' | | | | | | | | | | |ScalarFromTensor [id CP] '' | | | | | | | | | | |Subtensor{int64} [id CE] '' | | | | | | | | | |Constant{1} [id BW] | | | | | | | | |Constant{-1} [id BD] | | | | | | | |Constant{0} [id W] | | | | | | |Elemwise{true_div,no_inplace} [id CQ] '' | | | | | | |TensorConstant{5000000.0} [id CR] | | | | | | |Elemwise{add,no_inplace} [id CS] '' | | | | | | |Elemwise{add,no_inplace} [id CT] '' | | | | | | | |Elemwise{add,no_inplace} [id CU] '' | | | | | | | | |Subtensor{int64} [id CV] '' | | | | | | | | | |Shape [id CW] '' | | | | | | | | | | |Reshape{2} [id CX] '' | | | | | | | | | | |InplaceDimShuffle{0,2,1,3} [id CY] '' | | | | | | | | | | | |Alloc [id CZ] '' | | | | | | | | | | | |Subtensor{int32:int32:, ::} [id DA] '' | | | | | | | | | | | | |Position of the dips_copy [id DB] | | | | | | | | | | | | |ScalarFromTensor [id DC] '' | | | | | | | | | | | | | |Length of foliations in every series[t] [id DD] | | | | | | | | | | | | |ScalarFromTensor [id DE] '' | | | | | | | | | | | | |Length of foliations in every series[t+1] [id DF] | | | | | | | | | | | |TensorConstant{3} [id CL] | | | | | | | | | | | |TensorConstant{1} [id DG] | | | | | | | | | | | |Subtensor{int64} [id DH] '' | | | | | | | | | | | | |Shape [id DI] '' | | | | | | | | | | | | | |Subtensor{int32:int32:, ::} [id DA] '' | | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | | |Subtensor{int64} [id DJ] '' | | | | | | | | | | | |Shape [id DI] '' | | | | | | | | | | | |Constant{1} [id BW] | | | | | | | | | | |MakeVector{dtype='int64'} [id DK] '' | | | | | | | | | | |Elemwise{mul,no_inplace} [id DL] '' | | | | | | | | | | | |Subtensor{int64} [id DH] '' | | | | | | | | | | | |TensorConstant{3} [id CL] | | | | | | | | | | |Elemwise{mul,no_inplace} [id DM] '' | | | | | | | | | | |Subtensor{int64} [id DJ] '' | | | | | | | | | | |TensorConstant{1} [id DG] | | | | | | | | | |Constant{0} [id W] | | | | | | | | |Subtensor{int64} [id DN] '' | | | | | | | | |Shape [id DO] '' | | | | | | | | | |Subtensor{int32:int32:, ::} [id DP] '' | | | | | | | | | |AdvancedSubtensor1 [id N] '' | | | | | | | | | |ScalarFromTensor [id DQ] '' | | | | | | | | | | |Length of surface_points in every series[t] [id DR] | | | | | | | | | |ScalarFromTensor [id DS] '' | | | | | | | | | |Length of surface_points in every series[t+1] [id DT] | | | | | | | | |Constant{0} [id W] | | | | | | | |Grade of the universal drift[t] [id DU] | | | | | | |Elemwise{Cast{int32}} [id DV] '' | | | | | | |Subtensor{int64} [id DW] '' | | | | | | |Shape [id DX] '' | | | | | | | |Elemwise{mul,no_inplace} [id DY] '' | | | | | | | |AdvancedSubtensor [id DZ] '' | | | | | | | | | [id EA] | | | | | | | | |Subtensor{int64} [id EB] '' | | | | | | | | | |Nonzero [id EC] '' | | | | | | | | | | |Elemwise{Cast{int8}} [id ED] '' | | | | | | | | | | |Subtensor{::, int8} [id EE] '' | | | | | | | | | | |fault relation matrix_copy [id EF] | | | | | | | | | | |ScalarFromTensor [id EG] '' | | | | | | | | | | |Elemwise{Cast{int8}} [id EH] '' | | | | | | | | | | | [id EI] | | | | | | | | | |Constant{0} [id W] | | | | | | | | |TensorConstant{0} [id EJ] | | | | | | | | |MakeSlice [id EK] '' | | | | | | | | |TensorConstant{0} [id H] | | | | | | | | |Elemwise{add,no_inplace} [id EL] '' | | | | | | | | | |Elemwise{add,no_inplace} [id EM] '' | | | | | | | | | | |Subtensor{int64} [id EN] '' | | | | | | | | | | | |Shape [id EO] '' | | | | | | | | | | | | |Coordinates of the grid points to interpolate_copy [id M] | | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | | |Elemwise{mul,no_inplace} [id EP] '' | | | | | | | | | | |TensorConstant{2} [id EQ] | | | | | | | | | | |Elemwise{sub,no_inplace} [id ER] '' | | | | | | | | | | |Subtensor{int64} [id U] '' | | | | | | | | | | |Subtensor{int64} [id ES] '' | | | | | | | | | | |Shape [id ET] '' | | | | | | | | | | | |Number of points per surface used to split rest-ref_copy [id BC] | | | | | | | | | | |Constant{0} [id W] | | | | | | | | | |TensorConstant{0} [id H] | | | | | | | | |NoneConst [id EU] | | | | | | | |InplaceDimShuffle{x,x} [id EV] '' | | | | | | | | [id EW] | | | | | | |Constant{0} [id W] | | | | | |MakeVector{dtype='int64'} [id EX] '' | | | | | |Subtensor{int64} [id J] '' | | | | |Constant{0} [id W] | | | | |Constant{-1} [id BD] | | | |Constant{0} [id W] | | |Subtensor{int64} [id EY] '' | | |Shape [id EZ] '' | | | |Subtensor{int64::} [id FA] '' | | | |Join [id G] '' | | | |Constant{1} [id BW] | | |Constant{0} [id W] | |Subtensor{int64} [id FB] '' | |Shape [id FC] '' | | |Rebroadcast{0} [id FD] '' | | |InplaceDimShuffle{x,0} [id FE] '' | | |Alloc [id FF] '' | | |TensorConstant{0.0} [id CJ] | | |Subtensor{int64} [id J] '' | |Constant{0} [id W] |Subtensor{int64} [id FG] '' |Shape [id FC] '' |Constant{1} [id BW] Inner graphs of the scan ops: for{cpu,scan_fn} [id BH] '' >IncSubtensor{Set;int32:int32:} [id FH] '' > | [id FI] -> [id CB] > |Alloc [id FJ] '' > | | [id FK] -> [id BX] > | |Elemwise{sub,no_inplace} [id FL] '' > | | | [id FM] -> [id CA] > | | | [id FN] -> [id BZ] > | |TensorConstant{3} [id FO] > |ScalarFromTensor [id FP] '' > | | [id FN] -> [id BZ] > |ScalarFromTensor [id FQ] '' > | [id FM] -> [id CA] 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, 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, , , Range, Covariance at 0, , Nugget effect of gradients, Nugget effect of scalar, Attenuation factor, Sigmoid Outside, Sigmoid slope, , , , 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: 157 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, 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, 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,), (2, 1, 1, 386842), (2, 130936), (2, 1, 386842), (2, 1, 4), (2, 1, 386842), (2, 1, 386842), (2, 1, 1, 386842), (2,), (4,), (1, 1), (), (), (), (), (), (12,), (130925,), (), (), (), (1,), (1,), (1,), (125000, 3), (130925, 3), (4, 3), (4,), (4,), (4,), (1, 5)] Inputs strides: [(), (4,), (4,), (4,), (4,), (4,), (4,), (4,), (4,), (4,), (1,), (1,), (1,), (4,), (4,), (4,), (4,), (3094736, 3094736, 3094736, 8), (1047488, 8), (3094736, 3094736, 8), (32, 32, 8), (386842, 386842, 1), (386842, 386842, 1), (3094736, 3094736, 3094736, 8), (8,), (4,), (4, 4), (), (), (), (), (), (8,), (8,), (), (), (), (4,), (1,), (4,), (24, 8), (8, 1047400), (8, 32), (8,), (8,), (8,), (40, 8)] Inputs values: [array(1, dtype=int64), array([0]), array([130921]), array([0]), array([4]), array([0]), array([130936]), array([0]), array([4]), array([3]), array([ True]), array([ True]), array([ True]), array([0]), array([0]), array([0]), array([0]), 'not shown', 'not shown', 'not shown', 'not shown', 'not shown', 'not shown', 'not shown', array([ 0, 130936], dtype=int64), array([31789, 32528, 33302, 33302]), array([[0]]), array(10.), array(2.), array(0.68541822), array(103.03267531), array(4.), 'not shown', 'not shown', array(2.), array(50.), array(50000.), array([0]), array([False]), array([0]), 'not shown', 'not shown', 'not shown', array([1.24179521, 1.56871215, 1.12737359, 1.08714076]), array([57.83639687, 54.97084493, 60.25533166, 78.07558632]), array([1., 1., 1., 1.]), array([[1., 2., 3., 4., 5.]])] Inputs type_num: [9, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 7, 7, 7, 7, 12, 12, 12, 12, 0, 0, 12, 9, 7, 7, 12, 12, 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 "C:\Users\Andreas\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3249, in run_ast_nodes if (await self.run_code(code, result, async_=asy)): File "C:\Users\Andreas\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3326, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "", line 4, in verbose=[]) File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\gempy_api.py", line 130, in set_interpolation_data return set_interpolator(*args, **kwargs) File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\gempy_api.py", line 218, in set_interpolator geo_model.interpolator.compile_th_fn_geo(inplace=True, grid=grid) File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\interpolator.py", line 1022, in compile_th_fn_geo self.theano_graph.theano_output(), File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\theano\theano_graph_pro.py", line 558, in theano_output solutions[:9] = self.compute_series() File "C:\Users\Andreas\Anaconda3\lib\site-packages\gempy\core\theano\theano_graph_pro.py", line 432, in compute_series profile=False Debugprint of the apply node: for{cpu,Looping}.0 [id A] '' |Elemwise{minimum,no_inplace} [id B] '' | |Elemwise{minimum,no_inplace} [id C] '' | | |Elemwise{minimum,no_inplace} [id D] '' | | | |Elemwise{minimum,no_inplace} [id E] '' | | | | |Elemwise{minimum,no_inplace} [id F] '' | | | | | |Elemwise{minimum,no_inplace} [id G] '' | | | | | | |Elemwise{minimum,no_inplace} [id H] '' | | | | | | | |Elemwise{minimum,no_inplace} [id I] '' | | | | | | | | |Elemwise{minimum,no_inplace} [id J] '' | | | | | | | | | |Elemwise{minimum,no_inplace} [id K] '' | | | | | | | | | | |Elemwise{minimum,no_inplace} [id L] '' | | | | | | | | | | | |Elemwise{minimum,no_inplace} [id M] '' | | | | | | | | | | | | |Elemwise{minimum,no_inplace} [id N] '' | | | | | | | | | | | | | |Elemwise{minimum,no_inplace} [id O] '' | | | | | | | | | | | | | | |Elemwise{minimum,no_inplace} [id P] '' | | | | | | | | | | | | | | | |Subtensor{int64} [id Q] '' | | | | | | | | | | | | | | | | |Shape [id R] '' | | | | | | | | | | | | | | | | | |Subtensor{int64:int64:} [id S] 'Length of surface_points in every series[0:-1]' | | | | | | | | | | | | | | | | |Constant{0} [id T] | | | | | | | | | | | | | | | |Subtensor{int64} [id U] '' | | | | | | | | | | | | | | | |Shape [id V] '' | | | | | | | | | | | | | | | | |Subtensor{int64::} [id W] 'Length of surface_points in every series[1:]' | | | | | | | | | | | | | | | |Constant{0} [id T] | | | | | | | | | | | | | | |Subtensor{int64} [id X] '' | | | | | | | | | | | | | | |Shape [id Y] '' | | | | | | | | | | | | | | | |Subtensor{int64:int64:} [id Z] 'Length of foliations in every series[0:-1]' | | | | | | | | | | | | | | |Constant{0} [id T] | | | | | | | | | | | | | |Subtensor{int64} [id BA] '' | | | | | | | | | | | | | |Shape [id BB] '' | | | | | | | | | | | | | | |Subtensor{int64::} [id BC] 'Length of foliations in every series[1:]' | | | | | | | | | | | | | |Constant{0} [id T] | | | | | | | | | | | | |Subtensor{int64} [id BD] '' | | | | | | | | | | | | |Shape [id BE] '' | | | | | | | | | | | | | |Subtensor{int64:int64:} [id BF] 'Length of weights in every series[0:-1]' | | | | | | | | | | | | |Constant{0} [id T] | | | | | | | | | | | |Subtensor{int64} [id BG] '' | | | | | | | | | | | |Shape [id BH] '' | | | | | | | | | | | | |Subtensor{int64::} [id BI] 'Length of weights in every series[1:]' | | | | | | | | | | | |Constant{0} [id T] | | | | | | | | | | |Subtensor{int64} [id BJ] '' | | | | | | | | | | |Shape [id BK] '' | | | | | | | | | | | |Subtensor{int64:int64:} [id BL] 'List with the number of surfaces[0:-1]' | | | | | | | | | | |Constant{0} [id T] | | | | | | | | | |Subtensor{int64} [id BM] '' | | | | | | | | | |Shape [id BN] '' | | | | | | | | | | |Subtensor{int64::} [id BO] 'List with the number of surfaces[1:]' | | | | | | | | | |Constant{0} [id T] | | | | | | | | |Subtensor{int64} [id BP] '' | | | | | | | | |Shape [id BQ] '' | | | | | | | | | |Subtensor{int64::} [id BR] 'Grade of the universal drift[0:]' | | | | | | | | |Constant{0} [id T] | | | | | | | |Subtensor{int64} [id BS] '' | | | | | | | |Shape [id BT] '' | | | | | | | | |Subtensor{int64::} [id BU] 'Vector controlling if weights must be recomputed[0:]' | | | | | | | |Constant{0} [id T] | | | | | | |Subtensor{int64} [id BV] '' | | | | | | |Shape [id BW] '' | | | | | | | |Subtensor{int64::} [id BX] 'Vector controlling if scalar matrix must be recomputed[0:]' | | | | | | |Constant{0} [id T] | | | | | |Subtensor{int64} [id BY] '' | | | | | |Shape [id BZ] '' | | | | | | |Subtensor{int64::} [id CA] 'Vector controlling if block matrix must be recomputed[0:]' | | | | | |Constant{0} [id T] | | | | |Subtensor{int64} [id CB] '' | | | | |Shape [id CC] '' | | | | | |Subtensor{int64::} [id CD] 'The series (fault) is finite[0:]' | | | | |Constant{0} [id T] | | | |Subtensor{int64} [id CE] '' | | | |Shape [id CF] '' | | | | |Subtensor{int64::} [id CG] '' | | | | | [id CH] | | | | |Constant{0} [id T] | | | |Constant{0} [id T] | | |Subtensor{int64} [id CI] '' | | |Shape [id CJ] '' | | | |Subtensor{int64::} [id CK] '' | | | | [id CL] | | | |Constant{0} [id T] | | |Constant{0} [id T] | |TensorConstant{5000} [id CM] |Subtensor{:int64:} [id CN] '' | |Subtensor{int64:int64:} [id S] 'Length of surface_points in every series[0:-1]' | |ScalarFromTensor [id CO] '' | |Elemwise{minimum,no_inplace} [id B] '' |Subtensor{:int64:} [id CP] '' | |Subtensor{int64::} [id W] 'Length of surface_points in every series[1:]' | |ScalarFromTensor [id CO] '' |Subtensor{:int64:} [id CQ] '' | |Subtensor{int64:int64:} [id Z] 'Length of foliations in every series[0:-1]' | |ScalarFromTensor [id CO] '' |Subtensor{:int64:} [id CR] '' | |Subtensor{int64::} [id BC] 'Length of foliations in every series[1:]' | |ScalarFromTensor [id CO] '' |Subtensor{:int64:} [id CS] '' | |Subtensor{int64:int64:} [id BF] 'Length of weights in every series[0:-1]' | |ScalarFromTensor [id CO] '' |Subtensor{:int64:} [id CT] '' | |Subtensor{int64::} [id BI] 'Length of weights in every series[1:]' | |ScalarFromTensor [id CO] '' |Subtensor{:int64:} [id CU] '' | |Subtensor{int64:int64:} [id BL] 'List with the number of surfaces[0:-1]' | |ScalarFromTensor [id CO] '' |Subtensor{:int64:} [id CV] '' | |Subtensor{int64::} [id BO] 'List with the number of surfaces[1:]' | |ScalarFromTensor [id CO] '' |Subtensor{:int64:} [id CW] '' | |Subtensor{int64::} [id BR] 'Grade of the universal drift[0:]' | |ScalarFromTensor [id CO] '' |Subtensor{:int64:} [id CX] '' | |Subtensor{int64::} [id BU] 'Vector controlling if weights must be recomputed[0:]' | |ScalarFromTensor [id CO] '' |Subtensor{:int64:} [id CY] '' | |Subtensor{int64::} [id BX] 'Vector controlling if scalar matrix must be recomputed[0:]' | |ScalarFromTensor [id CO] '' |Subtensor{:int64:} [id CZ] '' | |Subtensor{int64::} [id CA] 'Vector controlling if block matrix must be recomputed[0:]' | |ScalarFromTensor [id CO] '' |Subtensor{:int64:} [id DA] '' | |Subtensor{int64::} [id CD] 'The series (fault) is finite[0:]' | |ScalarFromTensor [id CO] '' |Subtensor{:int64:} [id DB] '' | |Subtensor{int64::} [id CG] '' | |ScalarFromTensor [id CO] '' |Subtensor{:int64:} [id DC] '' | |Subtensor{int64::} [id CK] '' | |ScalarFromTensor [id CO] '' |Subtensor{:int64:} [id DD] '' | |TensorConstant{[ 0 1..4998 4999]} [id DE] | |ScalarFromTensor [id CO] '' |IncSubtensor{Set;:int64:} [id DF] '' | |AllocEmpty{dtype='float64'} [id DG] '' | | |Elemwise{add,no_inplace} [id DH] '' | | | |Elemwise{minimum,no_inplace} [id B] '' | | | |Subtensor{int64} [id DI] '' | | | |Shape [id DJ] '' | | | | |Rebroadcast{0} [id DK] '' | | | | |InplaceDimShuffle{x,0,1,2} [id DL] '' | | | | |block matrix [id DM] | | | |Constant{0} [id T] | | |Subtensor{int64} [id DN] '' | | | |Shape [id DJ] '' | | | |Constant{1} [id DO] | | |Subtensor{int64} [id DP] '' | | | |Shape [id DJ] '' | | | |Constant{2} [id DQ] | | |Subtensor{int64} [id DR] '' | | |Shape [id DJ] '' | | |Constant{3} [id DS] | |Rebroadcast{0} [id DK] '' | |ScalarFromTensor [id DT] '' | |Subtensor{int64} [id DI] '' |IncSubtensor{Set;:int64:} [id DU] '' | |AllocEmpty{dtype='float64'} [id DV] '' | | |Elemwise{add,no_inplace} [id DW] '' | | | |Elemwise{minimum,no_inplace} [id B] '' | | | |Subtensor{int64} [id DX] '' | | | |Shape [id DY] '' | | | | |Rebroadcast{0} [id DZ] '' | | | | |InplaceDimShuffle{x,0} [id EA] '' | | | | |Weights vector [id EB] | | | |Constant{0} [id T] | | |Subtensor{int64} [id EC] '' | | |Shape [id DY] '' | | |Constant{1} [id DO] | |Rebroadcast{0} [id DZ] '' | |ScalarFromTensor [id ED] '' | |Subtensor{int64} [id DX] '' |IncSubtensor{Set;:int64:} [id EE] '' | |AllocEmpty{dtype='float64'} [id EF] '' | | |Elemwise{add,no_inplace} [id EG] '' | | | |Elemwise{minimum,no_inplace} [id B] '' | | | |Subtensor{int64} [id EH] '' | | | |Shape [id EI] '' | | | | |Rebroadcast{0} [id EJ] '' | | | | |InplaceDimShuffle{x,0,1} [id EK] '' | | | | |Scalar matrix [id EL] | | | |Constant{0} [id T] | | |Subtensor{int64} [id EM] '' | | | |Shape [id EI] '' | | | |Constant{1} [id DO] | | |Subtensor{int64} [id EN] '' | | |Shape [id EI] '' | | |Constant{2} [id DQ] | |Rebroadcast{0} [id EJ] '' | |ScalarFromTensor [id EO] '' | |Subtensor{int64} [id EH] '' |IncSubtensor{Set;:int64:} [id EP] '' | |AllocEmpty{dtype='float64'} [id EQ] '' | | |Elemwise{add,no_inplace} [id ER] '' | | | |Elemwise{minimum,no_inplace} [id B] '' | | | |Subtensor{int64} [id ES] '' | | | |Shape [id ET] '' | | | | |Rebroadcast{0} [id EU] '' | | | | |InplaceDimShuffle{x,0,1} [id EV] '' | | | | |Alloc [id EW] '' | | | | |TensorConstant{0.0} [id EX] | | | | |Subtensor{int64} [id EY] '' | | | | | |Shape [id EZ] '' | | | | | | | [id CH] | | | | | |Constant{0} [id T] | | | | |Subtensor{int64} [id FA] '' | | | | |List with the number of surfaces [id FB] | | | | |Constant{-1} [id FC] | | | |Constant{0} [id T] | | |Subtensor{int64} [id FD] '' | | | |Shape [id ET] '' | | | |Constant{1} [id DO] | | |Subtensor{int64} [id FE] '' | | |Shape [id ET] '' | | |Constant{2} [id DQ] | |Rebroadcast{0} [id EU] '' | |ScalarFromTensor [id FF] '' | |Subtensor{int64} [id ES] '' |IncSubtensor{Set;:int64:} [id FG] '' | |AllocEmpty{dtype='bool'} [id FH] '' | | |Elemwise{add,no_inplace} [id FI] '' | | | |Elemwise{minimum,no_inplace} [id B] '' | | | |Subtensor{int64} [id FJ] '' | | | |Shape [id FK] '' | | | | |Rebroadcast{0} [id FL] '' | | | | |InplaceDimShuffle{x,0,1} [id FM] '' | | | | |mask matrix [id FN] | | | |Constant{0} [id T] | | |Subtensor{int64} [id FO] '' | | | |Shape [id FK] '' | | | |Constant{1} [id DO] | | |Subtensor{int64} [id FP] '' | | |Shape [id FK] '' | | |Constant{2} [id DQ] | |Rebroadcast{0} [id FL] '' | |ScalarFromTensor [id FQ] '' | |Subtensor{int64} [id FJ] '' |IncSubtensor{Set;:int64:} [id FR] '' | |AllocEmpty{dtype='bool'} [id FS] '' | | |Elemwise{add,no_inplace} [id FT] '' | | | |Elemwise{minimum,no_inplace} [id B] '' | | | |Subtensor{int64} [id FU] '' | | | |Shape [id FV] '' | | | | |Rebroadcast{0} [id FW] '' | | | | |InplaceDimShuffle{x,0,1} [id FX] '' | | | | |Elemwise{second,no_inplace} [id FY] '' | | | | |mask matrix [id FN] | | | | |TensorConstant{(1, 1) of False} [id FZ] | | | |Constant{0} [id T] | | |Subtensor{int64} [id GA] '' | | | |Shape [id FV] '' | | | |Constant{1} [id DO] | | |Subtensor{int64} [id GB] '' | | |Shape [id FV] '' | | |Constant{2} [id DQ] | |Rebroadcast{0} [id FW] '' | |ScalarFromTensor [id GC] '' | |Subtensor{int64} [id FU] '' |IncSubtensor{Set;:int64:} [id GD] '' | |AllocEmpty{dtype='float64'} [id GE] '' | | |Elemwise{add,no_inplace} [id GF] '' | | | |Elemwise{minimum,no_inplace} [id B] '' | | | |Subtensor{int64} [id GG] '' | | | |Shape [id GH] '' | | | | |Rebroadcast{0} [id GI] '' | | | | |InplaceDimShuffle{x,0,1,2} [id GJ] '' | | | | |Elemwise{second,no_inplace} [id GK] '' | | | | |block matrix [id DM] | | | | |TensorConstant{(1, 1, 1) of 0.0} [id GL] | | | |Constant{0} [id T] | | |Subtensor{int64} [id GM] '' | | | |Shape [id GH] '' | | | |Constant{1} [id DO] | | |Subtensor{int64} [id GN] '' | | | |Shape [id GH] '' | | | |Constant{2} [id DQ] | | |Subtensor{int64} [id GO] '' | | |Shape [id GH] '' | | |Constant{3} [id DS] | |Rebroadcast{0} [id GI] '' | |ScalarFromTensor [id GP] '' | |Subtensor{int64} [id GG] '' |IncSubtensor{Set;:int64:} [id GQ] '' | |AllocEmpty{dtype='int64'} [id GR] '' | | |Elemwise{add,no_inplace} [id GS] '' | | |Elemwise{minimum,no_inplace} [id B] '' | | |TensorConstant{1} [id GT] | |TensorConstant{(1,) of 0} [id GU] | |Constant{1} [id DO] |Number of points per surface used to split rest-ref [id GV] |fault relation matrix [id GW] | [id GX] | [id GY] |Range [id GZ] |Covariance at 0 [id HA] | [id HB] |Nugget effect of gradients [id HC] |Nugget effect of scalar [id HD] |Attenuation factor [id HE] |Sigmoid Outside [id HF] |Sigmoid slope [id HG] | [id CL] | [id HH] | [id CH] |Coordinates of the grid points to interpolate [id HI] |All the surface_points points at once [id HJ] |Position of the dips [id HK] |Angle of every dip [id HL] |Azimuth [id HM] |Polarity [id HN] |Values that the blocks are taking [id HO] for{cpu,Looping}.1 [id A] '' for{cpu,Looping}.2 [id A] '' for{cpu,Looping}.3 [id A] '' for{cpu,Looping}.4 [id A] '' for{cpu,Looping}.5 [id A] '' for{cpu,Looping}.6 [id A] '' for{cpu,Looping}.7 [id A] '' Inner graphs of the scan ops: for{cpu,Looping}.0 [id A] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id HP] '' > |block matrix[t-1] [id HQ] -> [id DF] > |if{} [id HR] '' > | |Vector controlling if block matrix must be recomputed[t] [id HS] -> [id CZ] > | |if{} [id HT] '' > | | |The series (fault) is finite[t] [id HU] -> [id DA] > | | |Sum{axis=[0], acc_dtype=float64} [id HV] 'The chunk of block model of a specific series' > | | |Sum{axis=[0], acc_dtype=float64} [id HW] 'The chunk of block model of a specific series' > | |Subtensor{int32, ::} [id HX] '' > | |block matrix[t-1] [id HQ] -> [id DF] > | |ScalarFromTensor [id HY] '' > | | [id HZ] -> [id DD] > |ScalarFromTensor [id HY] '' > |Constant{0} [id IA] > |ScalarFromTensor [id IB] '' > |Elemwise{add,no_inplace} [id IC] '' > |Elemwise{add,no_inplace} [id ID] '' > | |Subtensor{int64} [id IE] '' > | | |Shape [id IF] '' > | | | |Coordinates of the grid points to interpolate_copy [id IG] -> [id HI] > | | |Constant{0} [id IH] > | |Elemwise{mul,no_inplace} [id II] '' > | |TensorConstant{2} [id IJ] > | |Elemwise{sub,no_inplace} [id IK] '' > | |Subtensor{int64} [id IL] '' > | | |Shape [id IM] '' > | | | |All the surface_points points at once_copy [id IN] -> [id HJ] > | | |Constant{0} [id IH] > | |Subtensor{int64} [id IO] '' > | |Shape [id IP] '' > | | |Number of points per surface used to split rest-ref_copy [id IQ] -> [id GV] > | |Constant{0} [id IH] > |TensorConstant{0} [id IR] >IncSubtensor{Set;int32:int32:} [id IS] '' > |Weights vector[t-1] [id IT] -> [id DU] > |if{} [id IU] '' > | |Vector controlling if weights must be recomputed[t] [id IV] -> [id CX] > | |Reshape{1} [id IW] 'Dual Kriging parameters' > | |Subtensor{int32:int32:} [id IX] '' > | |Weights vector[t-1] [id IT] -> [id DU] > | |ScalarFromTensor [id IY] '' > | | |Length of weights in every series[t] [id IZ] -> [id CS] > | |ScalarFromTensor [id JA] '' > | |Length of weights in every series[t+1] [id JB] -> [id CT] > |ScalarFromTensor [id IY] '' > |ScalarFromTensor [id JA] '' >IncSubtensor{Set;int32, int8:int64:} [id JC] '' > |Scalar matrix[t-1] [id JD] -> [id EE] > |if{} [id JE] '' > | |Vector controlling if scalar matrix must be recomputed[t] [id JF] -> [id CY] > | |Subtensor{int64} [id JG] 'Value of the potential field at every point' > | |Subtensor{int32} [id JH] '' > | |Scalar matrix[t-1] [id JD] -> [id EE] > | |ScalarFromTensor [id HY] '' > |ScalarFromTensor [id HY] '' > |Constant{0} [id IA] > |ScalarFromTensor [id IB] '' >AdvancedIncSubtensor{inplace=False, set_instead_of_inc=True} [id JI] '' > | [id JJ] -> [id EP] > |AdvancedSubtensor1 [id JK] '' > | |Subtensor{int64:int64:} [id JL] '' > | | |if{} [id JE] '' > | | |ScalarFromTensor [id JM] '' > | | | |Elemwise{mul,no_inplace} [id JN] '' > | | | |TensorConstant{-2} [id JO] > | | | |Elemwise{sub,no_inplace} [id IK] '' > | | |ScalarFromTensor [id JP] '' > | | |Elemwise{neg,no_inplace} [id JQ] '' > | | |Elemwise{sub,no_inplace} [id IK] '' > | |Subtensor{int32:int32:} [id JR] '' > | |CumOp{None, add} [id JS] 'Number of points per surfaces after rest-ref. This is used for finding the differentsurface points withing a layer.' > | |ScalarFromTensor [id JT] '' > | | |List with the number of surfaces[t] [id JU] -> [id CU] > | |ScalarFromTensor [id JV] '' > | |List with the number of surfaces[t+1] [id JW] -> [id CV] > | [id HZ] -> [id DD] > |Elemwise{sub,no_inplace} [id JX] '' > |Subtensor{int32:int32:} [id JY] '' > | |TensorConstant{[ 1 2..4998 4999]} [id JZ] > | |ScalarFromTensor [id JT] '' > | |ScalarFromTensor [id JV] '' > |TensorConstant{(1,) of 1} [id KA] >IncSubtensor{Set;int32, int8:int64:} [id KB] '' > |IncSubtensor{Set;int64:int32:, int8:int64:} [id KC] '' > | |IncSubtensor{Set;int32:int32:, int8:int64:} [id KD] '' > | | |mask matrix[t-1] [id KE] -> [id FG] > | | |if{} [id KF] '' > | | | | [id KG] -> [id DC] > | | | |Elemwise{gt,no_inplace} [id KH] '' > | | | | |if{} [id JE] '' > | | | | |InplaceDimShuffle{x} [id KI] '' > | | | | |MaxAndArgmax{axis=(0,)}.0 [id KJ] 'max' > | | | |Subtensor{int32, int8:int64:} [id KK] '' > | | | |mask matrix[t-1] [id KE] -> [id FG] > | | | |ScalarFromTensor [id KL] '' > | | | | |Elemwise{sub,no_inplace} [id KM] '' > | | | | | [id HZ] -> [id DD] > | | | | |TensorConstant{1} [id KN] > | | | |Constant{0} [id IA] > | | | |ScalarFromTensor [id IB] '' > | | |ScalarFromTensor [id KL] '' > | | |ScalarFromTensor [id HY] '' > | | |Constant{0} [id IA] > | | |ScalarFromTensor [id IB] '' > | |Subtensor{::int64} [id KO] '' > | | |CumOp{0, mul} [id KP] '' > | | | |Subtensor{::int64} [id KQ] '' > | | | |Subtensor{int64:int32:, int8:int64:} [id KR] '' > | | | | |IncSubtensor{Set;int32:int32:, int8:int64:} [id KD] '' > | | | | |ScalarFromTensor [id KS] '' > | | | | | |Elemwise{sub,no_inplace} [id KT] '' > | | | | | | [id HZ] -> [id DD] > | | | | | |Elemwise{mul,no_inplace} [id KU] '' > | | | | | |Elemwise{mul,no_inplace} [id KV] '' > | | | | | | |Elemwise{add,no_inplace} [id KW] '' > | | | | | | | | [id KX] -> [id GQ] > | | | | | | | |Elemwise{add,no_inplace} [id KY] '' > | | | | | | | |Subtensor{int32} [id KZ] '' > | | | | | | | | | [id LA] -> [id CL] > | | | | | | | | |ScalarFromTensor [id HY] '' > | | | | | | | |Subtensor{int32} [id LB] '' > | | | | | | | | [id LC] -> [id HH] > | | | | | | | |ScalarFromTensor [id HY] '' > | | | | | | |Elemwise{add,no_inplace} [id KY] '' > | | | | | |Subtensor{int64} [id LD] '' > | | | | | | [id LA] -> [id CL] > | | | | | |ScalarFromTensor [id LE] '' > | | | | | |Elemwise{sub,no_inplace} [id LF] '' > | | | | | | [id HZ] -> [id DD] > | | | | | | [id KX] -> [id GQ] > | | | | |ScalarFromTensor [id HY] '' > | | | | |Constant{0} [id IA] > | | | | |ScalarFromTensor [id IB] '' > | | | |Constant{-1} [id LG] > | | |Constant{-1} [id LG] > | |ScalarFromTensor [id KS] '' > | |ScalarFromTensor [id HY] '' > | |Constant{0} [id IA] > | |ScalarFromTensor [id IB] '' > |if{} [id LH] '' > | | [id LI] -> [id DB] > | |Elemwise{gt,no_inplace} [id LJ] '' > | | |if{} [id JE] '' > | | |InplaceDimShuffle{x} [id LK] '' > | | |Elemwise{neg,no_inplace} [id LL] '' > | | |MaxAndArgmax{axis=(0,)}.0 [id LM] 'max' > | |Elemwise{mul,no_inplace} [id LN] '' > | |InplaceDimShuffle{x} [id LO] '' > | | |Elemwise{invert,no_inplace} [id LP] '' > | | |Subtensor{int32} [id LB] '' > | |Elemwise{second,no_inplace} [id LQ] '' > | |if{} [id JE] '' > | |TensorConstant{(1,) of True} [id LR] > |ScalarFromTensor [id HY] '' > |Constant{0} [id IA] > |ScalarFromTensor [id IB] '' >AdvancedBooleanIncSubtensor{inplace=False, set_instead_of_inc=True} [id LS] '' > | [id LT] -> [id FR] > |Elemwise{add,no_inplace} [id LU] '' > | |if{} [id LH] '' > | |if{} [id LV] '' > | |Subtensor{int32} [id LB] '' > | |Elemwise{gt,no_inplace} [id LJ] '' > | |Elemwise{second,no_inplace} [id LW] '' > | |if{} [id JE] '' > | |TensorConstant{(1,) of False} [id LX] > |Elemwise{mul,no_inplace} [id LY] '' > | |Subtensor{:int64:} [id LZ] '' > | | | [id LC] -> [id HH] > | | |ScalarFromTensor [id MA] '' > | | |Subtensor{int64} [id MB] '' > | | |Shape [id MC] '' > | | | | [id MD] -> [id CH] > | | |Constant{0} [id IH] > | |Elemwise{invert,no_inplace} [id ME] '' > | |Elemwise{Cast{bool}} [id MF] '' > | |Subtensor{:int64:} [id MG] '' > | |Subtensor{::, int8} [id MH] '' > | | |fault relation matrix_copy [id MI] -> [id GW] > | | |ScalarFromTensor [id MJ] '' > | | |Elemwise{Cast{int8}} [id MK] '' > | | | [id HZ] -> [id DD] > | |ScalarFromTensor [id MA] '' > |MakeSlice [id ML] '' > |TensorConstant{0} [id IR] > |Elemwise{add,no_inplace} [id IC] '' > |NoneConst [id MM] >IncSubtensor{Set;int32, ::, int8:int64:} [id MN] '' > | [id MO] -> [id GD] > |if{} [id HR] '' > |ScalarFromTensor [id HY] '' > |Constant{0} [id IA] > |ScalarFromTensor [id IB] '' >Elemwise{mul,no_inplace} [id KU] '' for{cpu,Looping}.1 [id A] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id HP] '' >IncSubtensor{Set;int32:int32:} [id IS] '' >IncSubtensor{Set;int32, int8:int64:} [id JC] '' >AdvancedIncSubtensor{inplace=False, set_instead_of_inc=True} [id JI] '' >IncSubtensor{Set;int32, int8:int64:} [id KB] '' >AdvancedBooleanIncSubtensor{inplace=False, set_instead_of_inc=True} [id LS] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id MN] '' >Elemwise{mul,no_inplace} [id KU] '' for{cpu,Looping}.2 [id A] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id HP] '' >IncSubtensor{Set;int32:int32:} [id IS] '' >IncSubtensor{Set;int32, int8:int64:} [id JC] '' >AdvancedIncSubtensor{inplace=False, set_instead_of_inc=True} [id JI] '' >IncSubtensor{Set;int32, int8:int64:} [id KB] '' >AdvancedBooleanIncSubtensor{inplace=False, set_instead_of_inc=True} [id LS] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id MN] '' >Elemwise{mul,no_inplace} [id KU] '' for{cpu,Looping}.3 [id A] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id HP] '' >IncSubtensor{Set;int32:int32:} [id IS] '' >IncSubtensor{Set;int32, int8:int64:} [id JC] '' >AdvancedIncSubtensor{inplace=False, set_instead_of_inc=True} [id JI] '' >IncSubtensor{Set;int32, int8:int64:} [id KB] '' >AdvancedBooleanIncSubtensor{inplace=False, set_instead_of_inc=True} [id LS] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id MN] '' >Elemwise{mul,no_inplace} [id KU] '' for{cpu,Looping}.4 [id A] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id HP] '' >IncSubtensor{Set;int32:int32:} [id IS] '' >IncSubtensor{Set;int32, int8:int64:} [id JC] '' >AdvancedIncSubtensor{inplace=False, set_instead_of_inc=True} [id JI] '' >IncSubtensor{Set;int32, int8:int64:} [id KB] '' >AdvancedBooleanIncSubtensor{inplace=False, set_instead_of_inc=True} [id LS] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id MN] '' >Elemwise{mul,no_inplace} [id KU] '' for{cpu,Looping}.5 [id A] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id HP] '' >IncSubtensor{Set;int32:int32:} [id IS] '' >IncSubtensor{Set;int32, int8:int64:} [id JC] '' >AdvancedIncSubtensor{inplace=False, set_instead_of_inc=True} [id JI] '' >IncSubtensor{Set;int32, int8:int64:} [id KB] '' >AdvancedBooleanIncSubtensor{inplace=False, set_instead_of_inc=True} [id LS] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id MN] '' >Elemwise{mul,no_inplace} [id KU] '' for{cpu,Looping}.6 [id A] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id HP] '' >IncSubtensor{Set;int32:int32:} [id IS] '' >IncSubtensor{Set;int32, int8:int64:} [id JC] '' >AdvancedIncSubtensor{inplace=False, set_instead_of_inc=True} [id JI] '' >IncSubtensor{Set;int32, int8:int64:} [id KB] '' >AdvancedBooleanIncSubtensor{inplace=False, set_instead_of_inc=True} [id LS] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id MN] '' >Elemwise{mul,no_inplace} [id KU] '' for{cpu,Looping}.7 [id A] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id HP] '' >IncSubtensor{Set;int32:int32:} [id IS] '' >IncSubtensor{Set;int32, int8:int64:} [id JC] '' >AdvancedIncSubtensor{inplace=False, set_instead_of_inc=True} [id JI] '' >IncSubtensor{Set;int32, int8:int64:} [id KB] '' >AdvancedBooleanIncSubtensor{inplace=False, set_instead_of_inc=True} [id LS] '' >IncSubtensor{Set;int32, ::, int8:int64:} [id MN] '' >Elemwise{mul,no_inplace} [id KU] '' Storage map footprint: - IncSubtensor{Set;:int64:}.0, Shape: (2, 1, 1, 386842), ElemSize: 8 Byte(s), TotalSize: 6189472 Byte(s) - IncSubtensor{Set;:int64:}.0, Shape: (2, 1, 386842), ElemSize: 8 Byte(s), TotalSize: 6189472 Byte(s) - IncSubtensor{Set;:int64:}.0, Shape: (2, 1, 1, 386842), ElemSize: 8 Byte(s), TotalSize: 6189472 Byte(s) - for{cpu,Looping}.0, Shape: (2, 1, 1, 386842), ElemSize: 8 Byte(s), TotalSize: 6189472 Byte(s) - for{cpu,Looping}.2, Shape: (2, 1, 386842), ElemSize: 8 Byte(s), TotalSize: 6189472 Byte(s) - for{cpu,Looping}.6, Shape: (2, 1, 1, 386842), ElemSize: 8 Byte(s), TotalSize: 6189472 Byte(s) - All the surface_points points at once, Input, Shape: (130925, 3), ElemSize: 8 Byte(s), TotalSize: 3142200 Byte(s) - block matrix, Shared Input, Shape: (1, 1, 386842), ElemSize: 8 Byte(s), TotalSize: 3094736 Byte(s) - Scalar matrix, Shared Input, Shape: (1, 386842), ElemSize: 8 Byte(s), TotalSize: 3094736 Byte(s) - Coordinates of the grid points to interpolate, Input, Shape: (125000, 3), ElemSize: 8 Byte(s), TotalSize: 3000000 Byte(s) - IncSubtensor{Set;:int64:}.0, Shape: (2, 130936), ElemSize: 8 Byte(s), TotalSize: 2094976 Byte(s) - for{cpu,Looping}.1, Shape: (2, 130936), ElemSize: 8 Byte(s), TotalSize: 2094976 Byte(s) - Weights vector, Shared Input, Shape: (130936,), ElemSize: 8 Byte(s), TotalSize: 1047488 Byte(s) - Nugget effect of scalar, Shared Input, Shape: (130925,), ElemSize: 8 Byte(s), TotalSize: 1047400 Byte(s) - IncSubtensor{Set;:int64:}.0, Shape: (2, 1, 386842), ElemSize: 1 Byte(s), TotalSize: 773684 Byte(s) - IncSubtensor{Set;:int64:}.0, Shape: (2, 1, 386842), ElemSize: 1 Byte(s), TotalSize: 773684 Byte(s) - for{cpu,Looping}.4, Shape: (2, 1, 386842), ElemSize: 1 Byte(s), TotalSize: 773684 Byte(s) - for{cpu,Looping}.5, Shape: (2, 1, 386842), ElemSize: 1 Byte(s), TotalSize: 773684 Byte(s) - mask matrix, Shared Input, Shape: (1, 386842), ElemSize: 1 Byte(s), TotalSize: 386842 Byte(s) - TensorConstant{[ 0 1..4998 4999]}, Shape: (5000,), ElemSize: 4 Byte(s), TotalSize: 20000 Byte(s) - Vector controlling if weights must be recomputed, Input, Shape: (1000,), ElemSize: 1 Byte(s), TotalSize: 1000 Byte(s) - Vector controlling if scalar matrix must be recomputed, Input, Shape: (1000,), ElemSize: 1 Byte(s), TotalSize: 1000 Byte(s) - Vector controlling if block matrix must be recomputed, Input, Shape: (1000,), ElemSize: 1 Byte(s), TotalSize: 1000 Byte(s) - Position of the dips, Input, Shape: (4, 3), ElemSize: 8 Byte(s), TotalSize: 96 Byte(s) - Nugget effect of gradients, Shared Input, Shape: (12,), ElemSize: 8 Byte(s), TotalSize: 96 Byte(s) - IncSubtensor{Set;:int64:}.0, Shape: (2, 1, 4), ElemSize: 8 Byte(s), TotalSize: 64 Byte(s) - for{cpu,Looping}.3, Shape: (2, 1, 4), ElemSize: 8 Byte(s), TotalSize: 64 Byte(s) - Values that the blocks are taking, Input, Shape: (1, 5), ElemSize: 8 Byte(s), TotalSize: 40 Byte(s) - Angle of every dip, Input, Shape: (4,), ElemSize: 8 Byte(s), TotalSize: 32 Byte(s) - Azimuth, Input, Shape: (4,), ElemSize: 8 Byte(s), TotalSize: 32 Byte(s) - Polarity, Input, Shape: (4,), ElemSize: 8 Byte(s), TotalSize: 32 Byte(s) - Number of points per surface used to split rest-ref, Shared Input, Shape: (4,), ElemSize: 4 Byte(s), TotalSize: 16 Byte(s) - IncSubtensor{Set;:int64:}.0, Shape: (2,), ElemSize: 8 Byte(s), TotalSize: 16 Byte(s) - for{cpu,Looping}.7, Shape: (2,), ElemSize: 8 Byte(s), TotalSize: 16 Byte(s) - Length of surface_points in every series, Shared Input, Shape: (2,), ElemSize: 4 Byte(s), TotalSize: 8 Byte(s) - Length of foliations in every series, Shared Input, Shape: (2,), ElemSize: 4 Byte(s), TotalSize: 8 Byte(s) - Length of weights in every series, Shared Input, Shape: (2,), ElemSize: 4 Byte(s), TotalSize: 8 Byte(s) - List with the number of surfaces, Shared Input, Shape: (2,), ElemSize: 4 Byte(s), TotalSize: 8 Byte(s) - The series (fault) is finite, Shared Input, Shape: (2,), ElemSize: 4 Byte(s), TotalSize: 8 Byte(s) - , Shared Input, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - , Shared Input, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - Range, Shared Input, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - Covariance at 0, Shared Input, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - , Shared Input, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - Attenuation factor, Shared Input, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - Sigmoid Outside, Shared Input, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - Sigmoid slope, Shared Input, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - , Shared Input, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - Constant{0}, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - Constant{1}, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - Constant{-1}, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - TensorConstant{5000}, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - Elemwise{minimum,no_inplace}.0, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - TensorConstant{1}, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - TensorConstant{(1,) of 0}, Shape: (1,), ElemSize: 8 Byte(s), TotalSize: 8 Byte(s) - TensorConstant{(1, 1, 1) of 0.0}, Shape: (1, 1, 1), ElemSize: 8 Byte(s), TotalSize: 8 Byte(s) - Constant{3}, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - Constant{2}, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - TensorConstant{0.0}, Shape: (), ElemSize: 8 Byte(s), TotalSize: 8.0 Byte(s) - Grade of the universal drift, Shared Input, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - , Shared Input, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - , Shared Input, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - fault relation matrix, Shared Input, Shape: (1, 1), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - TensorConstant{(1,) of -1}, Shape: (1,), ElemSize: 4 Byte(s), TotalSize: 4 Byte(s) - , Shared Input, Shape: (1,), ElemSize: 1 Byte(s), TotalSize: 1 Byte(s) - TensorConstant{(1, 1) of False}, Shape: (1, 1), ElemSize: 1 Byte(s), TotalSize: 1 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 1 Byte(s), TotalSize: 1 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 1 Byte(s), TotalSize: 1 Byte(s) - Subtensor{:int64:}.0, Shape: (1,), ElemSize: 1 Byte(s), TotalSize: 1 Byte(s) - TensorConstant{0}, Shape: (), ElemSize: 1 Byte(s), TotalSize: 1.0 Byte(s) - Full block matrix for faults or drift. We take 2 times len points for the faultdrift., Input, Shape: (0, 386842), ElemSize: 8 Byte(s), TotalSize: 0 Byte(s) TotalSize: 59258700.0 Byte(s) 0.055 GB TotalSize inputs: 14836961.0 Byte(s) 0.014 GB `
AlexanderJuestel commented 4 years ago

Hey,

this error was already mentioned in a previous issue (#394).

But yeah, your matrices are getting too big. There is only one way that has worked for me so far: reduce the resolution per cell, so make the cells bigger.

Or try to get a computer with more RAM.

Maybe our team will work on a fix to reduce the amount of occupied RAM in the future.

I hope that will help you! Please let us know if we can help you any further! Cheers Alex

andimg122 commented 4 years ago

Thanks for the quick response! Glad to have some clarity on this issue. I'll try out your suggestions, thank you very much!

Best regards

AlexanderJuestel commented 4 years ago

Let us know if you need any more help and if the tip worked

Leguark commented 4 years ago

for 800k points is going to take a while until we can interpolate that and it is not a matter of RAM because the growth is exponential. Also, beyond 10k points the bottle neck is at the input so it does not matter how much resolution you use. At the moment the maximum is around 5k geometric elements (surface points and orientations). By making the interpolator sparse we will be able to increase the number quite a bit. Hopefully it will come this year.

Here is the thing though, when you have so much data, it can mean two things 1) Either the data is very dense. In that case I would recommend to go for more lightweight interpolators because anything should give a good approximation;

2) You are trying to interpolate a huge area all at the same time. In this case the solution is to interpolate in chunks. We have in the roadmap hierarchical modelling which is going to help quite a bit for this

At the beginning the scope of GemPy was low dimensionality models to be able to apply learning algorithms with it. Due to the success of the library we are trying to cover all possible cases but it will take a bit of time yet.

Oh by the way, soon (following weeks ) it is going to be released (also open-source) Loop-structural, which uses a more suitable algorithm for that type of dataset

AlexanderJuestel commented 4 years ago

Thanks @Leguark for the more detailed explanation. I think in the original post it said something about 800 points before it was edited. My bad, sorry.

andimg122 commented 4 years ago

Thank you both for your assistance. I've now simply reduced the size of my dataset and was finally successful in computing the model. However, now I've run into another error concerning the orientation calculation of my fault data. I have loaded 4 data frames, of which two are working, whilst the other two aren't. I keep receiving the error message "ValueError: The values of normal are not valid." .

Your help is greatly appreciated.

AlexanderJuestel commented 4 years ago

Hey @andimg122,

Glad to here that your model ran through. Also, feel free to share an image of your model if you would like to. It is always interesting for us to see for what settings users utilize GemPy.

Regarding your issue, I would like to ask you to open a new issue that we can keep this separate :) Maybe a future user will run into the same error and will have it easier to find a solution then ;)

Also feel free to close the issue if your initial problem was solved with our tips :)

Cheers Alex

andimg122 commented 4 years ago

Sure! Will do so, thanks :)