class_docstr: Vector quantization using gumbel softmax. Copied from fairseq implementation.
  Arguments
  ---------
      input_dim: int
          Input dimension (channels).
      num_vars: int
          Number of quantized vectors per group.
      temp_tuple: float
          Temperature for training. this should be a tuple of 3 elements: (start, stop, decay factor).
      groups: int
          Number of groups for vector quantization.
      vq_dim: int
          Dimensionality of the resulting quantized vector.
  
  Example
  -------
  >>> quantiser = GumbelVectorQuantizer(128, 100, (2.0, 0.25, 0.999995,), 2, 50 )
  >>> inputs = torch.rand(10, 12, 128)
  >>> output = quantiser(inputs)
  >>> output["x"].shape
  torch.Size([10, 12, 50])
docstr: Update the temperature given the current step 
docstr_tok: ["Update","the","temperature","given","the","current","step"]
code: def update_temp(self, steps):
      """Update the temperature given the current step"""
      self.curr_temp = max(
          self.max_temp * self.temp_decay**steps, self.min_temp
      )
  
imports: import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 2 for calling the GumbelVectorQuantizer obj's underlying member method code with example usage: obj.update_temp(steps) without return types