docstr: Get logits for elements by conditioning on input embedding.
  Args:
    num_classes: An int containing the number of classes for which logits are to be generated.
    embedding_dim: hidden size of the BERT
  
  Returns:
    A tensor of shape (batch_size, num_classes) containing the logits.
docstr_tok: ["Get","logits","for","elements","by","conditioning","on","input","embedding",".","Args",":","num_classes",":","An","int","containing","the","number","of","classes","for","which","logits","are","to","be","generated",".","embedding_dim",":","hidden","size","of","the","BERT","Returns",":","A","tensor","of","shape","(","batch_size",",","num_classes",")","containing","the","logits","."]
code: def __init__(self, num_classes: int, embedding_dim: int):
      """Get logits for elements by conditioning on input embedding.
      Args:
        num_classes: An int containing the number of classes for which logits are to be generated.
        embedding_dim: hidden size of the BERT
  
      Returns:
        A tensor of shape (batch_size, num_classes) containing the logits.
      """
      super().__init__()
      self.num_classes = num_classes
      self.utterance_proj = nn.Linear(embedding_dim, embedding_dim)
      self.activation = nn.functional.gelu
  
      self.layer1 = nn.Linear(embedding_dim, num_classes)
  
file_path: NeMo/nemo/collections/nlp/modules/dialogue_state_tracking/sgd_decoder.py
imports: from typing import Dict, Optional
  import torch
  from torch import nn
  from nemo.core.classes import NeuralModule, typecheck
  from nemo.core.neural_types import LogitsType, NeuralType
label_desc: Use image node_id 1 to create a new LogitsQA object from inherited base classes: nn with example: obj = LogitsQA(num_classes, embedding_dim)