docstr: Save :attr:`BaseRecorder.result` to :attr:`BaseRecorder.result_path`, or elsewhere if
  special case
docstr_tok: ["Save",":","attr",":","`","BaseRecorder.result","`","to",":","attr",":","`","BaseRecorder.result_path","`",",","or","elsewhere","if","special","case"]
code: def save_result(self):
      """Save :attr:`BaseRecorder.result` to :attr:`BaseRecorder.result_path`, or elsewhere if
      special case"""
  
imports: from hyperparameter_hunter.data import OOFDataset, HoldoutDataset, TestDataset
  from hyperparameter_hunter.i_o.exceptions import EnvironmentInactiveError, EnvironmentInvalidError
  from hyperparameter_hunter.i_o.leaderboards import GlobalLeaderboard
  from hyperparameter_hunter.settings import G
  from hyperparameter_hunter.utils.file_utils import write_json, add_to_json, make_dirs, read_json
  from hyperparameter_hunter.utils.file_utils import RetryMakeDirs
  from hyperparameter_hunter.utils.general_utils import subdict
  from abc import ABCMeta, abstractmethod
  from collections import OrderedDict
  from platform import node
  import shutil
  from sys import exc_info
label_desc: Use image node_id 5 for calling the BaseRecorder obj's underlying member method code with example usage: obj.save_result() without return types