code: def on_exception(self, trainer: pl.Trainer, pl_module, exception):
      if not self.debug and trainer.global_rank == 0:
          print("Summoning checkpoint.")
          if self.ckpt_name is None:
              ckpt_path = os.path.join(self.ckptdir, "last.ckpt")
          else:
              ckpt_path = os.path.join(self.ckptdir, self.ckpt_name)
          trainer.save_checkpoint(ckpt_path)
  
imports: import argparse
  import datetime
  import glob
  import inspect
  import os
  import sys
  from inspect import Parameter
  from typing import Union
  import numpy
  import pytorch_lightning
  import torch
  import torchvision
  import wandb
  from matplotlib import pyplot
  from natsort import natsorted
  from omegaconf import OmegaConf
  from packaging import version
  from PIL import Image
  from pytorch_lightning import seed_everything
  from pytorch_lightning.callbacks import Callback
  from pytorch_lightning.loggers import WandbLogger
  from pytorch_lightning.trainer import Trainer
  from pytorch_lightning.utilities import rank_zero_only
  from sgm.util import exists, instantiate_from_config, isheatmap
label_desc: Use image node_id 2 for calling the SetupCallback obj's underlying member method code with example usage: obj.on_exception(trainer, pl_module, exception) without return types