set_theano_function
是Gempy中ImplicitCoKriging
类的一个方法,用于设置Theano函数并编译计算图。
set_theano_function
方法接收一组边角值(bounding box),并对潜在变量(potentially impacted data points)和路径(grid paths)进行插值和外推操作。该方法运用Theano图计算引擎,通过编译生成高效的计算图,优化模型运算速度。
bb:numpy.ndarray,shape=(3, 2)
Gempy模型网格边界框(bounding box)。第一维为轴(x、y、z),第二维为最小值和最大值。
resolution: tuple
沿着网格轴方向的单元格数量。形式为(x, y, z)。
path, values, dip, strike: np.ndarray
描述地层路径及各处dip、strike方向上附加信息的ndarray数组。
u_grade, range_factor: float
设置可信度随深度的衰减速率和网格精细程度。
import gempy
import numpy as np
# 定义一些边缘点坐标
extent = np.array([[-200., 200],
[-200., 200.],
[0., 200.]])
# 根据给定的数据文件创建gempy模型
geo_model = gempy.create_model('random',extent=extent)
# 定义gempy模型路径
geo_model.set_default_surfaces()
geo_model.add_surface_points(10*np.random.rand(50,3),
['rock'],
color='red')
# 初始化`ImplicitCoKriging`对象并设置Theano函数
implicit_model = geo_model.add_surfaces_densities(method='implicit_coKriging')
implicit_model.set_theano_function(extent, [50, 50, 50],implicit_model.geo_data_res.interfaces['rock'].get_kriging_parameters)