class_docstr: Wraps ``nnet.quantiser.GumbelVectorQuantizer``, see for documentation on
  arguments.
  
  Example
  -------
  >>> quantiser = W2VTargetQuantiser()
  >>> inputs = torch.rand(10, 12, 512)
  >>> output, meta = quantiser(inputs)
  >>> output.shape
  torch.Size([10, 12, 256])
code: def __init__(
      self,
      in_dim=512,
      out_dim=256,
      quantiser=GumbelVectorQuantizer,
      num_vars=320,
      temperature_decay=(
          2.0,
          0.25,
          0.999995,
      ),
  ):
      super().__init__()
      self.quantiser = quantiser(
          in_dim, num_vars, temperature_decay, 2, out_dim
      )
      self.proj = nn.Linear(out_dim, out_dim)
  
imports: import logging
  import torch
  import torch.nn.functional
  import torch.nn
  import random
  import numpy
  from speechbrain.lobes.models.transformer.Transformer import PositionalEncoding
  from speechbrain.utils.data_utils import batch_pad_right
  from speechbrain.dataio.dataio import length_to_mask
  from speechbrain.lobes.models.convolution import ConvolutionFrontEnd
  from speechbrain.nnet.CNN import Conv1d
  from speechbrain.nnet.normalization import LayerNorm
  from speechbrain.nnet.quantisers import GumbelVectorQuantizer
label_desc: Use image node_id 1 to create a new W2VTargetQuantiser object from inherited base classes: nn with example: obj = W2VTargetQuantiser(in_dim, out_dim, quantiser, num_vars, temperature_decay)