class_docstr: ASR model wrapper to perform alignment building.
  Functionality is limited to the components needed to build an alignment.
docstr: A variant of the RNNT Joiner tensor calculation with pruned Encoder and Predictor sum.
  Only the uniform pruning is supported at the moment.
docstr_tok: ["A","variant","of","the","RNNT","Joiner","tensor","calculation","with","pruned","Encoder","and","Predictor","sum",".","Only","the","uniform","pruning","is","supported","at","the","moment","."]
code: def _rnnt_joint_pruned(
      self,
      encoder_outputs: torch.Tensor,
      encoded_len: torch.Tensor,
      decoder_outputs: torch.Tensor,
      transcript_len: torch.Tensor,
  ) -> torch.Tensor:
      """A variant of the RNNT Joiner tensor calculation with pruned Encoder and Predictor sum.
      Only the uniform pruning is supported at the moment.
      """
      encoder_outputs = self._model.joint.enc(
          encoder_outputs.transpose(1, 2)
      )  # (B, T, H)
      decoder_outputs = self._model.joint.pred(
          decoder_outputs.transpose(1, 2)
      )  # (B, U, H)
  
      (
          encoder_outputs_pruned,
          decoder_outputs_pruned,
      ) = self.prepare_pruned_outputs(
          encoder_outputs, encoded_len, decoder_outputs, transcript_len
      )
      res = self._model.joint.joint_net(
          encoder_outputs_pruned + decoder_outputs_pruned
      )
      # copied from model.joint.joint(...)
      if self._model.joint.log_softmax is None:
          if not res.is_cuda:
              res = res.log_softmax(dim=-1)
      else:
          if self._model.joint.log_softmax:
              res = res.log_softmax(dim=-1)
      return res
  
imports: import copy
  import os
  from typing import Dict, List, Optional, Tuple, Union
  import numpy
  import torch
  from omegaconf import DictConfig, OmegaConf, open_dict
  from tqdm.auto import tqdm
  from nemo.collections.asr.data.audio_to_ctm_dataset import FrameCtmUnit
  from nemo.collections.asr.data.audio_to_text_dali import DALIOutputs
  from nemo.collections.asr.models.asr_model import ASRModel
  from nemo.utils import logging
label_desc: Use image node_id 5 for calling the AlignerWrapperModel obj's underlying member method code with example usage: obj._rnnt_joint_pruned(encoder_outputs, encoded_len, decoder_outputs, transcript_len) and returns: res