code: def __run_experiment(self, train_function):
      if self.enable_auto_resubmit:
          print("setting signal")
          signal.signal(signal.SIGUSR1, self.sig_handler)
          signal.signal(signal.SIGTERM, self.term_handler)
  
      try:
          # run training
          train_function(self.hyperparam_optimizer, self)
  
      except Exception as e:
          print("Caught exception in worker thread", e)
  
          # This prints the type, value, and stack trace of the
          # current exception being handled.
          traceback.print_exc()
          raise SystemExit
  
imports: import datetime
  import os
  import signal
  import sys
  import time
  import traceback
  from subprocess import call
  from .argparse_hopt import HyperOptArgumentParser
label_desc: Use image node_id 10 for calling the SlurmCluster obj's underlying member method code with example usage: obj.__run_experiment(train_function) without return types