code: def run_multi_gpu(self, request, cmd, env):
      logger.info(
          "+++++++++++ Running STAGE 0........................."
      )
      cmd1 = copy.deepcopy(cmd)
      cmd1.extend(
          ["--stage", "0", "--network_def#freeze_encoder", "true"]
      )
      pretrained = os.path.join(
          self.bundle_path, "models", "stage0", "model.pt"
      )
      if os.path.exists(pretrained):
          cmd1.extend(
              [
                  "--network_def#pretrained_url",
                  pathlib.Path(pretrained).as_uri(),
              ]
          )
      super().run_multi_gpu(request, cmd1, env)
  
      logger.info(
          "+++++++++++ Running STAGE 1........................."
      )
      cmd2 = copy.deepcopy(cmd)
      cmd2.extend(
          ["--stage", "1", "--network_def#freeze_encoder", "false"]
      )
      cmd2.extend(["--network_def#pretrained_url", "None"])
      super().run_multi_gpu(request, cmd2, env)
  
imports: import copy
  import logging
  import os
  import pathlib
  from typing import Dict, Optional
  import cv2
  import numpy
  from lib.hovernet import PatchExtractor
  from lib.utils import split_dataset
  from PIL import Image
  from tqdm import tqdm
  from monailabel.interfaces.datastore import Datastore
  from monailabel.tasks.train.bundle import BundleConstants, BundleTrainTask
  from monailabel.utils.others.generic import remove_file
label_desc: Use image node_id 5 for calling the HovernetNuclei obj's underlying member method code with example usage: obj.run_multi_gpu(request, cmd, env) without return types