docstr: User-defined saving of objects from self.checkpoint_metadata under save_path.
  After objects are saved, Determined handles uploading and downloading objects
  to/from selected storage.
docstr_tok: ["User-defined","saving","of","objects","from","self.checkpoint_metadata","under","save_path",".","After","objects","are","saved",",","Determined","handles","uploading","and","downloading","objects","to\/from","selected","storage","."]
code: def _on_save_user_data(self, save_path: str) -> None:
      """
      User-defined saving of objects from self.checkpoint_metadata under save_path.
      After objects are saved, Determined handles uploading and downloading objects
      to/from selected storage.
      """
      with open(os.path.join(save_path, "my_data.json"), "w") as f:
          json.dump(self.user_data, f)
  
imports: import json
  import logging
  import os
  from typing import Any, Dict, List, Optional, Tuple
  from transformers import TrainerCallback, TrainerControl, TrainerState, TrainingArguments
  from transformers.trainer_utils import get_last_checkpoint
  import determined
label_desc: Use image node_id 5 for calling the DetCallback obj's underlying member method code with example usage: obj._on_save_user_data(save_path) without return types