code: def get_absolute_module_key_from_submodule(
      module: torch.nn.Module, submodule: torch.nn.Module
  ):
      """Get the absolute module key for each param in the target layer.
  
      Assumes that the keys in the submodule are relative to the module.
  
      We find the params from the submodule in the module by comparing the data
      pointers, since the data returned by named_parameters is by reference.
      More information on checking if tensors point to the same place in storage can be found here:
      https://discuss.pytorch.org/t/any-way-to-check-if-two-tensors-have-the-same-base/44310/2
      """
      absolute_keys = []
      for module_key, module_param in module.named_parameters():
          for _, submodule_param in submodule.named_parameters():
              if submodule_param.data_ptr() == module_param.data_ptr():
                  absolute_keys.append(module_key)
                  break
      return absolute_keys
  
file_path: ludwig/ludwig/explain/util.py
imports: from copy import deepcopy
  import pandas
  import torch
  from ludwig.api import LudwigModel
  from ludwig.constants import COLUMN, INPUT_FEATURES, PREPROCESSING, SPLIT
  from ludwig.data.split import get_splitter
  from ludwig.features.base_feature import BaseFeature
label_desc: Use image node_id 5 for calling a global function with example usage: get_absolute_module_key_from_submodule(module, submodule) and returns: absolute_keys