code: def copy_and_run_with_config(
      run_fn, run_config, directory, **cluster_config
  ):
      working_directory = (
          pathlib.Path(directory) / cluster_config["job_name"]
      )
      ignore_list = [
          "lightning_logs",
          "logs",
          "checkpoints",
          "experiments",
          ".git",
          "output",
          "val.csv",
          "train.csv",
      ]
      shutil.copytree(
          ".", working_directory, ignore=lambda x, y: ignore_list
      )
      os.chdir(working_directory)
      print(f"Running at {working_directory}")
  
      executor = submitit.SlurmExecutor(folder=working_directory)
      executor.update_parameters(**cluster_config)
      job = executor.submit(init_and_run, run_fn, run_config)
      print(f"job_id: {job}")
  
imports: import os
  import pathlib
  import shutil
  import submitit
label_desc: Use image node_id 2 for calling a global function with example usage: copy_and_run_with_config(run_fn, run_config, directory) without return types