gempy
gempy.core.model.Project
gempy.core.model.Project.add_featuresgempy.core.model.Project.add_orientationsgempy.core.model.Project.add_seriesgempy.core.model.Project.add_surface_pointsgempy.core.model.Project.add_surface_valuesgempy.core.model.Project.add_surfacesgempy.core.model.Project.delete_featuresgempy.core.model.Project.delete_orientationsgempy.core.model.Project.delete_seriesgempy.core.model.Project.delete_surface_pointsgempy.core.model.Project.delete_surface_points_basementgempy.core.model.Project.delete_surface_valuesgempy.core.model.Project.delete_surfacesgempy.core.model.Project.get_active_gridsgempy.core.model.Project.get_additional_datagempy.core.model.Project.get_datagempy.core.model.Project.load_model_picklegempy.core.model.Project.map_geometric_data_dfgempy.core.model.Project.map_series_to_surfacesgempy.core.model.Project.map_stack_to_surfacesgempy.core.model.Project.modify_kriging_parametersgempy.core.model.Project.modify_optionsgempy.core.model.Project.modify_order_featuresgempy.core.model.Project.modify_order_seriesgempy.core.model.Project.modify_order_surfacesgempy.core.model.Project.modify_orientationsgempy.core.model.Project.modify_rescaling_parametersgempy.core.model.Project.modify_surface_pointsgempy.core.model.Project.modify_surface_valuesgempy.core.model.Project.new_modelgempy.core.model.Project.read_datagempy.core.model.Project.rename_featuresgempy.core.model.Project.rename_seriesgempy.core.model.Project.rename_surfacesgempy.core.model.Project.rename_featuresgempy.core.model.Project.reorder_seriesgempy.core.model.Project.save_modelgempy.core.model.Project.savel_model_picklegempy.core.model.Project.save_solutiongempy.core.model.Project.set_active_gridgempy.core.model.Project.set_bottom_relationgempy.core.model.Project.set_centered_gridgempy.core.model.Project.set_custom_gridgempy.core.model.Project.set_default_orientationgempy.core.model.Project.set_default_surface_pointgempy.core.model.Project.set_default_surfacesgempy.core.model.Project.set_extentgempy.core.model.Project.set_fault_objectgempy.core.model.Project.set_fault_relationgempy.core.model.Project.set_grid_objectgempy.core.model.Project.set_is_faultgempy.core.model.Project.set_is_finite_faultgempy.core.model.Project.set_orientationsgempy.core.model.Project.set_orientations_objectgempy.core.model.Project.set_regular_gridgempy.core.model.Project.set_section_gridgempy.core.model.Project.set_series_objectgempy.core.model.Project.set_surface_order_from_solutiongempy.core.model.Project.set_surface_pointsgempy.core.model.Project.set_surface_points_objectgempy.core.model.Project.set_surface_valuesgempy.core.model.Project.set_surfaces_objectgempy.core.model.Project.set_theano_functiongempy.core.model.Project.set_theano_graphgempy.core.model.Project.set_topographygempy.core.model.Project.update_additional_datagempy.core.model.Project.update_from_gridgempy.core.model.Project.update_from_seriesgempy.core.model.Project.update_from_surfacesgempy.core.model.Project.update_structuregempy.core.model.Project.update_to_interpolatorgempy.core.model.Project.additional_datagempy.core.model.Project.faultsgempy.core.model.Project.gridgempy.core.model.Project.interpolatorgempy.core.model.Project.orientationsgempy.core.model.Project.rescalinggempy.core.model.Project.seriesgempy.core.model.Project.stackgempy.core.model.Project.surface_pointsgempy.core.model.Project.surfaces
gempy.core.model.ImplicitCoKriging
gempy.core.model.ImplicitCoKriging.add_featuresgempy.core.model.ImplicitCoKriging.add_orientationsgempy.core.model.ImplicitCoKriging.add_seriesgempy.core.model.ImplicitCoKriging.add_surface_pointsgempy.core.model.ImplicitCoKriging.add_surface_valuesgempy.core.model.ImplicitCoKriging.add_surfacesgempy.core.model.ImplicitCoKriging.delete_featuresgempy.core.model.ImplicitCoKriging.delete_orientationsgempy.core.model.ImplicitCoKriging.delete_seriesgempy.core.model.ImplicitCoKriging.delete_surface_pointsgempy.core.model.ImplicitCoKriging.delete_surface_points_basementgempy.core.model.ImplicitCoKriging.delete_surface_valuesgempy.core.model.ImplicitCoKriging.delete_surfacesgempy.core.model.ImplicitCoKriging.get_active_gridsgempy.core.model.ImplicitCoKriging.map_geometric_data_dfgempy.core.model.ImplicitCoKriging.map_series_to_surfacesgempy.core.model.ImplicitCoKriging.map_stack_to_surfacesgempy.core.model.ImplicitCoKriging.modify_kriging_parametersgempy.core.model.ImplicitCoKriging.modify_optionsgempy.core.model.ImplicitCoKriging.modify_order_featuresgempy.core.model.ImplicitCoKriging.modify_order_seriesgempy.core.model.ImplicitCoKriging.modify_order_surfacesgempy.core.model.ImplicitCoKriging.modify_orientationsgempy.core.model.ImplicitCoKriging.modify_rescaling_parametersgempy.core.model.ImplicitCoKriging.modify_surface_pointsgempy.core.model.ImplicitCoKriging.modify_surface_valuesgempy.core.model.ImplicitCoKriging.rename_featuresgempy.core.model.ImplicitCoKriging.rename_seriesgempy.core.model.ImplicitCoKriging.rename_surfacesgempy.core.model.ImplicitCoKriging.reorder_featuresgempy.core.model.ImplicitCoKriging.reorder_seriesgempy.core.model.ImplicitCoKriging.set_active_gridgempy.core.model.ImplicitCoKriging.set_bottom_relationgempy.core.model.ImplicitCoKriging.set_centered_gridgempy.core.model.ImplicitCoKriging.set_custom_gridgempy.core.model.ImplicitCoKriging.set_default_orientationgempy.core.model.ImplicitCoKriging.set_default_surface_pointgempy.core.model.ImplicitCoKriging.set_default_surfacesgempy.core.model.ImplicitCoKriging.set_extentgempy.core.model.ImplicitCoKriging.set_fault_objectgempy.core.model.ImplicitCoKriging.set_fault_relationgempy.core.model.ImplicitCoKriging.set_grid_objectgempy.core.model.ImplicitCoKriging.set_is_faultgempy.core.model.ImplicitCoKriging.set_is_finite_faultgempy.core.model.ImplicitCoKriging.set_orientationsgempy.core.model.ImplicitCoKriging.set_orientations_objectgempy.core.model.ImplicitCoKriging.set_regular_gridgempy.core.model.ImplicitCoKriging.set_section_gridgempy.core.model.ImplicitCoKriging.set_series_objectgempy.core.model.ImplicitCoKriging.set_surface_order_from_solutiongempy.core.model.ImplicitCoKriging.set_surface_pointsgempy.core.model.ImplicitCoKriging.set_surface_points_objectgempy.core.model.ImplicitCoKriging.set_surface_valuesgempy.core.model.ImplicitCoKriging.set_surfaces_objectgempy.core.model.ImplicitCoKriging.set_theano_functiongempy.core.model.ImplicitCoKriging.set_theano_graphgempy.core.model.ImplicitCoKriging.set_topographygempy.core.model.ImplicitCoKriging.update_additional_datagempy.core.model.ImplicitCoKriging.update_from_gridgempy.core.model.ImplicitCoKriging.update_from_seriesgempy.core.model.ImplicitCoKriging.update_from_surfacesgempy.core.model.ImplicitCoKriging.update_structuregempy.core.model.ImplicitCoKriging.update_to_interpolatorgempy.core.model.ImplicitCoKriging.additional_datagempy.core.model.ImplicitCoKriging.faultsgempy.core.model.ImplicitCoKriging.gridgempy.core.model.ImplicitCoKriging.interpolatorgempy.core.model.ImplicitCoKriging.orientationsgempy.core.model.ImplicitCoKriging.rescalinggempy.core.model.ImplicitCoKriging.seriesgempy.core.model.ImplicitCoKriging.stackgempy.core.model.ImplicitCoKriging.surface_pointsgempy.core.model.ImplicitCoKriging.surfaces
gempy.core.data_modules.stack.Stack
gempy.core.data_modules.stack.Series
gempy.core.data_modules.stack.Faults
gempy.core.data.Surfaces
gempy.core.data.Structure
gempy.core.data.KrigingParameters
gempy.core.data.Options
gempy.core.data.AdditionalData
gempy.core.data.Grid
gempy.core.grid_modules.grid_types.RegularGrid
gempy.core.grid_modules.grid_types.CustomGrid
gempy.core.grid_modules.topography.Topography
gempy.core.grid_modules.grid_types.Sections
gempy.core.grid_modules.grid_types.CenteredGrid
gempy.core.data_modules.geometric_data.SurfacePoints
gempy.core.data_modules.geometric_data.Orientations
gempy.core.interpolator.InterpolatorModel
gempy.core.interpolator.InterpolatorModel.calculate_Vgempy.core.interpolator.InterpolatorModel.calculate_tzgempy.core.interpolator.InterpolatorModel.compile_th_fn_geogempy.core.interpolator.InterpolatorModel.crate_theano_graphgempy.core.interpolator.InterpolatorModel.get_python_input_blockgempy.core.interpolator.InterpolatorModel.modify_results_matrices_progempy.core.interpolator.InterpolatorModel.modify_results_weightsgempy.core.interpolator.InterpolatorModel.print_theano_sharedgempy.core.interpolator.InterpolatorModel.remove_series_without_datagempy.core.interpolator.InterpolatorModel.reset_flow_control_initial_resultsgempy.core.interpolator.InterpolatorModel.set_all_shared_parametersgempy.core.interpolator.InterpolatorModel.set_flow_controlgempy.core.interpolator.InterpolatorModel.set_initial_resultsgempy.core.interpolator.InterpolatorModel.set_initial_results_matricesgempy.core.interpolator.InterpolatorModel.set_theano_graphgempy.core.interpolator.InterpolatorModel.set_theano_shared_Vs_kernelgempy.core.interpolator.InterpolatorModel.set_theano_shared_fault_relationgempy.core.interpolator.InterpolatorModel.set_theano_shared_faultsgempy.core.interpolator.InterpolatorModel.set_theano_shared_gravitygempy.core.interpolator.InterpolatorModel.set_theano_shared_gridgempy.core.interpolator.InterpolatorModel.set_theano_shared_is_faultgempy.core.interpolator.InterpolatorModel.set_theano_shared_is_finitegempy.core.interpolator.InterpolatorModel.set_theano_shared_kriginggempy.core.interpolator.InterpolatorModel.set_theano_shared_l0_l1gempy.core.interpolator.InterpolatorModel.set_theano_shared_loopgempy.core.interpolator.InterpolatorModel.set_theano_shared_magnetic_ctsgempy.core.interpolator.InterpolatorModel.set_theano_shared_magneticsgempy.core.interpolator.InterpolatorModel.set_theano_shared_nuggetsgempy.core.interpolator.InterpolatorModel.set_theano_shared_onlap_erodegempy.core.interpolator.InterpolatorModel.set_theano_shared_pos_densitygempy.core.interpolator.InterpolatorModel.set_theano_shared_pos_magneticsgempy.core.interpolator.InterpolatorModel.set_theano_shared_relationsgempy.core.interpolator.InterpolatorModel.set_theano_shared_structuregempy.core.interpolator.InterpolatorModel.set_theano_shared_structure_surfacesgempy.core.interpolator.InterpolatorModel.set_theano_shared_topologygempy.core.interpolator.InterpolatorModel.set_theano_shared_tz_kernelgempy.core.interpolator.InterpolatorModel.set_theano_shared_weights
gempy.core.interpolator.InterpolatorGravity
gempy.core.solution.Solution

compile_th_fn_geo

compile_th_fn_geo()函数是Gempy中InterpolatorModel类中的一个方法,用于编译Geological_Function的theano函数。这个函数计算经典地质学中用到的一些函数以生成地层属性。

结构

compile_th_fn_geo()函数的结构如下:

def compile_th_fn_geo(self, data_str: str,
                      fn: tp.List[dict] = None,
                      output_vars: tp.List[str] = None,
                      original_shape: Tuple[int, int, int] = None) -> theano.function:

函数需要输入以下参数:

  • data_str: 一个字符串,定义了输入数据的结构。
  • fn: 一个包含了相关函数和它们的参数的列表。
  • output_vars: 一个包含了每个函数的输出变量名称的列表。
  • original_shape: 一个元组,包含了原始数据的形状信息。

函数返回一个theano函数,将之前定义的函数应用于相关数据以获得输出结果。

使用

首先,需要构造输入数据的字符串表示形式。这告诉compile_th_fn_geo()为每个输入变量生成哪些theano变量。data_str格式示例:

'geo_data : 6, 3'

这个字符串包含四部分:

  • geo_data: 输入数据变量的名称。
  • :: 分隔符,用于分割变量的名称和它们的形状。
  • 6: 输入数据变量的第一个维度的大小。
  • 3: 输入变量的第二个维度的大小。

在这个示例中,geo_data是由6个数据样本和3个输入特征构成的。在实践中,data_str的格式将根据输入数据的具体形状进行修改。

接下来,需要定义函数列表。每个函数都表示为一个包含参数的字典。该字典包含以下键:

  • function: 一个字符串,表示要应用的函数的名称。例如:“sin”或“exp”。
  • input_vars: 一个列表,包含了函数应用的输入变量的名称字符串。
  • output_var: 一个字符串,表示函数的输出变量的名称。

因为compile_th_fn_geo()函数可用于执行地质函数,因此定义函数列表时可以使用预定义函数。这些函数的定义包含在Gempy软件包中。在这个示例中,可以选择用“sum”函数启动。

fn = [{'function': 'sum',
        'input_vars': ['geo_data', '1'],
        'output_var': 'test'}]

函数链配置完成后,只需运行编译器就可以编译Geological_Function了:

fn_theano = self.compile_th_fn_geo(data_str='geo_data : 6, 3',
                                   fn=fn,
                                   output_vars=['test'],
                                   original_shape=(5, 5, 5))

此时,可以将输入数据传入compile_th_fn_geo()函数并获得函数结果:

data = {'geo_data' : np.random.rand(6, 3)}
fn_theano(data['geo_data']) # Returns function output

结论

compile_th_fn_geo()函数是Gempy软件包中InterpolatorModel类中的一个非常重要的函数。它将地质物理学模型编译成theano函数,该函数可用于合成和提取地质属性。对于对地质属性感兴趣的数据科学家和工程师,此功能非常有用。