code: def save_result(self):
      from yaml import dump
  
      self.result = read_json(
          f"{self.result_paths['description']}/{self.experiment_id}.json"
      )
  
      make_dirs(self.result_path, exist_ok=True)
      with open(
          f"{self.result_path}/{self.experiment_id}.yml", "w+"
      ) as f:
          dump(self.result, f, default_flow_style=False, width=200)
  
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 2 for calling the YAMLDescriptionRecorder obj's underlying member method code with example usage: obj.save_result() without return types