code: def main(cfg):
      logging.info(f"Hydra config: {OmegaConf.to_yaml(cfg)}")
      trainer = pl.Trainer(**cfg.trainer)
      log_dir = exp_manager(trainer, cfg.get("exp_manager", None))
      speaker_model = EncDecSpeakerLabelModel(
          cfg=cfg.model, trainer=trainer
      )
      speaker_model.maybe_init_from_pretrained_checkpoint(cfg)
  
      # save labels to file
      if log_dir is not None:
          with open(os.path.join(log_dir, "labels.txt"), "w") as f:
              if speaker_model.labels is not None:
                  for label in speaker_model.labels:
                      f.write(f"{label}\n")
  
      trainer.fit(speaker_model)
  
      torch.distributed.destroy_process_group()
      if (
          hasattr(cfg.model, "test_ds")
          and cfg.model.test_ds.manifest_filepath is not None
      ):
          if trainer.is_global_zero:
              trainer = pl.Trainer(
                  devices=1,
                  accelerator=cfg.trainer.accelerator,
                  strategy=cfg.trainer.strategy,
              )
              if speaker_model.prepare_test(trainer):
                  trainer.test(speaker_model)
  
file_path: NeMo/examples/speaker_tasks/recognition/speaker_reco_finetune.py
imports: import os
  import pytorch_lightning
  import torch
  from omegaconf import OmegaConf
  from pytorch_lightning import seed_everything
  from nemo.collections.asr.models import EncDecSpeakerLabelModel
  from nemo.core.config import hydra_runner
  from nemo.utils import logging
  from nemo.utils.exp_manager import exp_manager
label_desc: Use image node_id 1 for calling a global function with example usage: main(cfg) without return types