docstr: Projects the input sequences using in-proj layers.
  Args:
      query, key, value (Tensors): sequence to be projected
  Shape:
      - query, key, value: :math:`(S, N, E)`
      - Output: :math:`(S, N, E)`
      where S is the sequence length, N is the batch size, and E is the embedding dimension.
docstr_tok: ["Projects","the","input","sequences","using","in-proj","layers",".","Args",":","query",",","key",",","value","(","Tensors",")",":","sequence","to","be","projected","Shape",":","-","query",",","key",",","value",":",":","math",":","`","(","S",",","N",",","E",")","`","-","Output",":",":","math",":","`","(","S",",","N",",","E",")","`","where","S","is","the","sequence","length",",","N","is","the","batch","size",",","and","E","is","the","embedding","dimension","."]
code: def forward(
      self, query: torch.Tensor, key: torch.Tensor, value: torch.Tensor
  ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]:
      r"""Projects the input sequences using in-proj layers.
      Args:
          query, key, value (Tensors): sequence to be projected
      Shape:
          - query, key, value: :math:`(S, N, E)`
          - Output: :math:`(S, N, E)`
          where S is the sequence length, N is the batch size, and E is the embedding dimension.
      """
      return (
          self.query_proj(query),
          self.key_proj(key),
          self.value_proj(value),
      )
  
imports: import math
  from collections import OrderedDict
  from typing import Optional, Tuple
  import torch
  import torch.nn.functional
  from torch import nn, Tensor
label_desc: Use image node_id 2 for calling the InProjContainer obj's underlying member method code with example usage: obj.forward(query, key, value) and returns: self,  self,  self