docstr: Parameters
  ----------
  x
      input tensor of shape batch x (optional) time x categoricals in the order of ``variable_names``.
  
  Returns
  -------
  dict
      dictionary of category names to embeddings of shape batch x (optional) time x embedding_size if
      ``embedding_size`` is given as dictionary.
docstr_tok: ["Parameters","--","--","--","--","--","x","input","tensor","of","shape","batch","x","(","optional",")","time","x","categoricals","in","the","order","of","``","variable_names","``",".","Returns","--","--","--","-","dict","dictionary","of","category","names","to","embeddings","of","shape","batch","x","(","optional",")","time","x","embedding_size","if","``","embedding_size","``","is","given","as","dictionary","."]
code: def forward(self, x: torch.Tensor) -> Dict[str, torch.Tensor]:
      """
      Parameters
      ----------
      x
          input tensor of shape batch x (optional) time x categoricals in the order of ``variable_names``.
  
      Returns
      -------
      dict
          dictionary of category names to embeddings of shape batch x (optional) time x embedding_size if
          ``embedding_size`` is given as dictionary.
      """
      return {
          name: self.embeddings[name](x[..., i])
          for i, name in enumerate(self.variable_names)
      }
  
imports: from typing import Dict, List, Optional, Tuple, Union
  import torch
  import torch.nn
  import torch.nn.functional
  from darts.logging import get_logger
  from darts.utils.torch import MonteCarloDropout
label_desc: Use image node_id 4 for calling the _MultiEmbedding obj's underlying member method code with example usage: obj.forward(x) and returns: unknown