code: def split_input_data(
      embeddings_in_scales: torch.Tensor,
      timestamps_in_scales: torch.Tensor,
      multiscale_segment_counts: torch.LongTensor,
  ) -> Tuple[List[torch.Tensor], List[torch.Tensor]]:
      """
      Split multiscale embeddings and multiscale timestamps and put split scale-wise data into python lists.
      This formatting function is needed to make the input type as `torch.Tensor`.
  
      Args:
          embeddings_in_scales (Tensor):
              Concatenated Torch tensor containing embeddings in multiple scales
          timestamps_in_scales (Tensor):
              Concatenated Torch tensor containing timestamps in multiple scales
          multiscale_segment_counts (LongTensor):
              Concatenated Torch LongTensor containing number of segments per each scale
  
      Returns:
          embeddings_in_scales (list):
              List containing split embedding tensors by each scale
          timestamps_in_scales (list):
              List containing split timestamps tensors by each scale
      """
      if len(embeddings_in_scales.shape) != 2:
          raise ValueError(
              f"embeddings_in_scales Tensor should have 2 dimensions, but got {len(embeddings_in_scales.shape)}."
          )
      elif len(timestamps_in_scales.shape) != 2:
          raise ValueError(
              f"timestamps_in_scales Tensor should have 2 dimensions, but got {len(timestamps_in_scales.shape)}."
          )
      elif not (
          torch.sum(multiscale_segment_counts)
          == embeddings_in_scales.shape[0]
          == timestamps_in_scales.shape[0]
      ):
          raise ValueError(
              f"multiscale_segment_counts, embeddings_in_scales, and timestamps_in_scales should have the same length, \
                             but got {multiscale_segment_counts.shape[0]}, {embeddings_in_scales.shape[0]}, and {timestamps_in_scales.shape[0]} respectively."
          )
      split_index: List[int] = multiscale_segment_counts.tolist()
      embeddings_in_scales = torch.split(
          embeddings_in_scales, split_index, dim=0
      )
      timestamps_in_scales = torch.split(
          timestamps_in_scales, split_index, dim=0
      )
      embeddings_in_scales, timestamps_in_scales = list(
          embeddings_in_scales
      ), list(timestamps_in_scales)
      return embeddings_in_scales, timestamps_in_scales
  
imports: from typing import Dict, List, Tuple
  import torch
  from torch.linalg import eigh, eigvalsh
label_desc: Use image node_id 22 for calling a global function with example usage: split_input_data(embeddings_in_scales, timestamps_in_scales, multiscale_segment_counts) and returns: embeddings_in_scales,  timestamps_in_scales