code: def load_tacotron(
      model_name, max_decoder_steps, download_if_needed=True
  ):
      tacotron_path = CHECKPOINT_MANAGER.get_by_name(
          model_name, download_if_needed=download_if_needed
      )
      ckpt_dict = torch.load(tacotron_path)
  
      hparams = ckpt_dict["hparams"]
      codes_path = CHECKPOINT_MANAGER.get_by_name(
          f"{model_name}-codes", download_if_needed=download_if_needed
      )
      hparams.code_dict = codes_path
  
      hparams.max_decoder_steps = max_decoder_steps
      model = Tacotron2(hparams)
      model.load_state_dict(ckpt_dict["model_dict"])
      model = model.cuda().eval().half()
  
      tts_dataset = TacotronInputDataset(hparams)
  
      return model, tts_dataset
  
file_path: textlesslib/textless/vocoders/tacotron2/__init__.py
imports: import torch
  import textless.vocoders.tacotron2
  import sys
  from textless.checkpoint_manager import CHECKPOINT_MANAGER
  from .waveglow_denoiser import Denoiser
  from .model import Tacotron2
  from .tts_data import TacotronInputDataset
label_desc: Use image node_id 2 for calling a global function with example usage: load_tacotron(model_name, max_decoder_steps, download_if_needed) and returns: model,  tts_dataset