code: def __call__(
      self, emission: Tensor, tokens: List[List[int]]
  ) -> List[List[TokenSpan]]:
      if emission.ndim != 2:
          raise ValueError(
              f"The input emission must be 2D. Found: {emission.shape}"
          )
  
      aligned_tokens, scores = _align_emission_and_tokens(
          emission, _flatten(tokens), self.blank
      )
      spans = F.merge_tokens(aligned_tokens, scores)
      return _unflatten(spans, [len(ts) for ts in tokens])
  
imports: from abc import ABC, abstractmethod
  from typing import Dict, List
  import torch
  import torchaudio.functional
  from torch import Tensor
  from torchaudio.functional import TokenSpan
label_desc: Use image node_id 2 for calling the Aligner obj's underlying member method code with example usage: obj.__call__(emission, tokens) and returns: _unflatten