class_docstr: A ready-to-use wrapper for Unit HiFiGAN (discrete units -> waveform).
  Arguments
  ---------
  hparams
      Hyperparameters (from HyperPyYAML)
  Example
  -------
  >>> tmpdir_vocoder = getfixture('tmpdir') / "vocoder"
  >>> hifi_gan = UnitHIFIGAN.from_hparams(source="speechbrain/tts-hifigan-unit-hubert-l6-k100-ljspeech", savedir=tmpdir_vocoder)
  >>> codes = torch.randint(0, 99, (100,))
  >>> waveform = hifi_gan.decode_unit(codes)
class_docstr_tok: ["A","ready-to-use","wrapper","for","Unit","HiFiGAN","(","discrete","units","-",">","waveform",")",".","Arguments","--","--","--","--","-","hparams","Hyperparameters","(","from","HyperPyYAML",")","Example","--","--","--","-",">",">",">","tmpdir_vocoder","=","getfixture","(","'tmpdir","'",")","\/","``","vocoder","''",">",">",">","hifi_gan","=","UnitHIFIGAN.from_hparams","(","source=","''","speechbrain\/tts-hifigan-unit-hubert-l6-k100-ljspeech","''",",","savedir=tmpdir_vocoder",")",">",">",">","codes","=","torch.randint","(","0",",","99",",","(","100",",",")",")",">",">",">","waveform","=","hifi_gan.decode_unit","(","codes",")"]
docstr: Computes waveforms from a batch of discrete units
  Arguments
  ---------
  units: torch.tensor
      Batch of discrete units [batch, codes]
  Returns
  -------
  waveforms: torch.tensor
      Batch of mel-waveforms [batch, 1, time]
docstr_tok: ["Computes","waveforms","from","a","batch","of","discrete","units","Arguments","--","--","--","--","-","units",":","torch.tensor","Batch","of","discrete","units","[","batch",",","codes","]","Returns","--","--","--","-","waveforms",":","torch.tensor","Batch","of","mel-waveforms","[","batch",",","1",",","time","]"]
code: def decode_batch(self, units):
      """Computes waveforms from a batch of discrete units
      Arguments
      ---------
      units: torch.tensor
          Batch of discrete units [batch, codes]
      Returns
      -------
      waveforms: torch.tensor
          Batch of mel-waveforms [batch, 1, time]
      """
      # Remove weight norm for inference if it's the first call
      if self.first_call:
          self.hparams.generator.remove_weight_norm()
          self.first_call = False
  
      # Ensure that the units sequence has a length of at least 3
      if units.size(1) < 3:
          logger.error(
              "The 'units' argument should have a length of at least 3 because of padding size."
          )
          quit()
  
      # Increment units if tokenization is enabled
      if self.tokenize:
          units += 1
      with torch.no_grad():
          waveform = self.infer(units.to(self.device))
      return waveform
  
imports: import logging
  import torch
  from speechbrain.dataio.dataio import length_to_mask
  from speechbrain.inference.interfaces import Pretrained
label_desc: Use image node_id 2 for calling the UnitHIFIGAN obj's underlying member method code with example usage: obj.decode_batch(units) and returns: waveform