class_docstr: An abstract RNNT Joint framework, which can possibly integrate with GreedyRNNTInfer and BeamRNNTInfer classes.
  Represents the abstract RNNT Joint network, which accepts the acoustic model and prediction network
  embeddings in order to compute the joint of the two prior to decoding the output sequence.
class_docstr_tok: ["An","abstract","RNNT","Joint","framework",",","which","can","possibly","integrate","with","GreedyRNNTInfer","and","BeamRNNTInfer","classes",".","Represents","the","abstract","RNNT","Joint","network",",","which","accepts","the","acoustic","model","and","prediction","network","embeddings","in","order","to","compute","the","joint","of","the","two","prior","to","decoding","the","output","sequence","."]
docstr: Project the encoder output to the joint hidden dimension.
  
  Args:
      encoder_output: A torch.Tensor of shape [B, T, D]
  
  Returns:
      A torch.Tensor of shape [B, T, H]
docstr_tok: ["Project","the","encoder","output","to","the","joint","hidden","dimension",".","Args",":","encoder_output",":","A","torch.Tensor","of","shape","[","B",",","T",",","D","]","Returns",":","A","torch.Tensor","of","shape","[","B",",","T",",","H","]"]
code: def project_encoder(
      self, encoder_output: torch.Tensor
  ) -> torch.Tensor:
      """
      Project the encoder output to the joint hidden dimension.
  
      Args:
          encoder_output: A torch.Tensor of shape [B, T, D]
  
      Returns:
          A torch.Tensor of shape [B, T, H]
      """
      raise NotImplementedError()
  
imports: from abc import ABC, abstractmethod
  from typing import Any, Dict, List, Optional, Tuple
  import torch
  from nemo.collections.asr.parts.utils.rnnt_utils import Hypothesis
  from nemo.core import NeuralModule
label_desc: Use image node_id 2 for calling the AbstractRNNTJoint obj's underlying member method code with example usage: obj.project_encoder(encoder_output) without return types