class_docstr: A simple module that computes the projection of an
  embedding vector onto the specified number of dimensions
  
  Arguments
  ---------
  emb_dim: int
      the original embedding dimensionality
  
  proj_dim: int
      the dimensionality of the target projection
      space
  
  Example
  -------
  >>> mod_emb_proj = EmbeddingProjection(emb_dim=16, proj_dim=64)
  >>> emb = torch.randn(4, 16)
  >>> emb_proj = mod_emb_proj(emb)
  >>> emb_proj.shape
  torch.Size([4, 64])
class_docstr_tok: ["A","simple","module","that","computes","the","projection","of","an","embedding","vector","onto","the","specified","number","of","dimensions","Arguments","--","--","--","--","-","emb_dim",":","int","the","original","embedding","dimensionality","proj_dim",":","int","the","dimensionality","of","the","target","projection","space","Example","--","--","--","-",">",">",">","mod_emb_proj","=","EmbeddingProjection","(","emb_dim=16",",","proj_dim=64",")",">",">",">","emb","=","torch.randn","(","4",",","16",")",">",">",">","emb_proj","=","mod_emb_proj","(","emb",")",">",">",">","emb_proj.shape","torch.Size","(","[","4",",","64","]",")"]
code: def __init__(self, emb_dim, proj_dim):
      super().__init__()
      self.emb_dim = emb_dim
      self.proj_dim = proj_dim
      self.input = nn.Linear(emb_dim, proj_dim)
      self.act = nn.SiLU()
      self.output = nn.Linear(proj_dim, proj_dim)
  
imports: from abc import abstractmethod
  from speechbrain.utils.data_utils import pad_divisible
  from .autoencoders import NormalizingAutoencoder
  import math
  import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new EmbeddingProjection object from inherited base classes: nn with example: obj = EmbeddingProjection(emb_dim, proj_dim)