code: def _get_save_path(dirpath: str, epoch: int, step: int) -> str:
      # TODO: discuss whether this path should be customized
      return os.path.join(dirpath, f"epoch_{epoch}_step_{step}")
  
imports: import abc
  import logging
  import os
  from typing import Any, cast, Iterable, List, Optional
  import torch.distributed
  from torchtnt.framework.callback import Callback
  from torchtnt.framework.callbacks._checkpoint_utils import _delete_checkpoint, _metadata_exists, get_checkpoint_dirpaths, get_latest_checkpoint_path, rank_zero_read_and_broadcast
  from torchtnt.framework.callbacks.checkpointer_types import RestoreOptions
  from torchtnt.framework.state import EntryPoint, State
  from torchtnt.framework.unit import AppStateMixin, TEvalUnit, TTrainData, TTrainUnit
  from torchtnt.framework.utils import get_timing_context
  from torchtnt.utils.distributed import PGWrapper
  from torchtnt.utils.fsspec import get_filesystem
  from torchtnt.utils.rank_zero_log import rank_zero_warn
label_desc: Use image node_id 1 for calling a global function with example usage: _get_save_path(dirpath, epoch, step) and returns: os