code: def init_embeddings(self):
      self.embeddings = nn.ModuleDict()
      for name in self.embedding_sizes.keys():
          embedding_size = self.embedding_sizes[name][1]
          if self.max_embedding_size is not None:
              embedding_size = min(
                  embedding_size, self.max_embedding_size
              )
          # convert to list to become mutable
          self.embedding_sizes[name] = list(self.embedding_sizes[name])
          self.embedding_sizes[name][1] = embedding_size
          if (
              name in self.categorical_groups
          ):  # embedding bag if related embeddings
              self.embeddings[name] = TimeDistributedEmbeddingBag(
                  self.embedding_sizes[name][0],
                  embedding_size,
                  mode="sum",
                  batch_first=True,
              )
          else:
              if name in self.embedding_paddings:
                  padding_idx = 0
              else:
                  padding_idx = None
              self.embeddings[name] = nn.Embedding(
                  self.embedding_sizes[name][0],
                  embedding_size,
                  padding_idx=padding_idx,
              )
  
file_path: pytorch-forecasting/pytorch_forecasting/models/nn/embeddings.py
imports: from typing import Dict, List, Tuple, Union
  import torch
  import torch.nn
  from pytorch_forecasting.utils import get_embedding_size
label_desc: Use image node_id 2 for calling the MultiEmbedding obj's underlying member method code with example usage: obj.init_embeddings() without return types