class_docstr: Implements VQ Dictionary. Wraps `VectorQuantization` and `VectorQuantizationStraightThrough`. For more details refer to the specific class.
  
  Arguments
  ---------
  K : int
      Number of elements of VQ dictionary.
  D : int
      Dimensionality of VQ vectors.
  num_classes : int
      Number of possible classes
  activate_class_partitioning : bool
      `True` if latent space should be quantized for different classes.
  shared_keys : int
      Number of shared keys among classes.
code: def __init__(
      self,
      K,
      D,
      numclasses=50,
      activate_class_partitioning=True,
      shared_keys=0,
  ):
      super().__init__()
      self.embedding = nn.Embedding(K, D)
  
      self.embedding.weight.data.uniform_(-1.0 / K, 1.0 / K)
  
      self.numclasses = numclasses
      self.activate_class_partitioning = activate_class_partitioning
      self.shared_keys = shared_keys
  
imports: import torch
  import torch.nn
  from torch.autograd import Function
label_desc: Use image node_id 1 to create a new VQEmbedding object from inherited base classes: nn with example: obj = VQEmbedding(K, D, numclasses, activate_class_partitioning, shared_keys)