class_docstr: Represents an encoder-decoder model.
class_docstr_tok: ["Represents","an","encoder-decoder","model","."]
docstr: Produce logits for next-step prediction.
  
  :param decoder_output:
      The decoder output. *Shape:* :math:`(N,S_{tgt},M)`, where :math:`N`
      is the batch size, :math:`S_{tgt}` is the target sequence length,
      and :math:`M` is the dimensionality of the model.
  :param decoder_padding_mask:
      The padding mask of the decoder output. *Shape:* :math:`(N,S_{tgt})`,
      where :math:`N` is the batch size and :math:`S_{tgt}` is the target
      sequence length.
docstr_tok: ["Produce","logits","for","next-step","prediction",".",":","param","decoder_output",":","The","decoder","output",".","*","Shape",":","*",":","math",":","`","(","N",",","S_","{","tgt","}",",","M",")","`",",","where",":","math",":","`","N","`","is","the","batch","size",",",":","math",":","`","S_","{","tgt","}","`","is","the","target","sequence","length",",","and",":","math",":","`","M","`","is","the","dimensionality","of","the","model",".",":","param","decoder_padding_mask",":","The","padding","mask","of","the","decoder","output",".","*","Shape",":","*",":","math",":","`","(","N",",","S_","{","tgt","}",")","`",",","where",":","math",":","`","N","`","is","the","batch","size","and",":","math",":","`","S_","{","tgt","}","`","is","the","target","sequence","length","."]
code: def project(
      self,
      decoder_output: Tensor,
      decoder_padding_mask: Optional[PaddingMask],
  ) -> SequenceModelOutput:
      """Produce logits for next-step prediction.
  
      :param decoder_output:
          The decoder output. *Shape:* :math:`(N,S_{tgt},M)`, where :math:`N`
          is the batch size, :math:`S_{tgt}` is the target sequence length,
          and :math:`M` is the dimensionality of the model.
      :param decoder_padding_mask:
          The padding mask of the decoder output. *Shape:* :math:`(N,S_{tgt})`,
          where :math:`N` is the batch size and :math:`S_{tgt}` is the target
          sequence length.
      """
  
file_path: fairseq2/src/fairseq2/models/encoder_decoder.py
imports: from abc import abstractmethod
  from typing import Optional, Tuple
  from torch import Tensor
  from fairseq2.data import VocabularyInfo
  from fairseq2.models.seq2seq import Seq2SeqBatch, Seq2SeqModel
  from fairseq2.models.sequence import SequenceModelOutput
  from fairseq2.nn.incremental_state import IncrementalStateBag
  from fairseq2.nn.padding import PaddingMask
  from fairseq2.typing import override
label_desc: Use image node_id 5 for calling the EncoderDecoderModel obj's underlying member method code with example usage: obj.project(decoder_output, decoder_padding_mask) without return types