code: def set_up_seed(self, rnd=None):
      if self.seed is not None:
          return
  
      self.seed = self.config.get("seed")
      if self.seed is None:
          self.seed = get_seed(rnd)
  
      self.rnd = create_rnd(self.seed)
  
      if self.generate_seed:
          self.config["seed"] = self.seed
  
      if "seed" in self.config and "seed" in self.config_mods.added:
          self.config_mods.modified.add("seed")
          self.config_mods.added -= {"seed"}
  
      # Hierarchically set the seed of proper subrunners
      for subrunner_path, subrunner in reversed(
          list(self.subrunners.items())
      ):
          if is_prefix(self.path, subrunner_path):
              subrunner.set_up_seed(self.rnd)
  
imports: import os
  from collections import OrderedDict, defaultdict
  from copy import copy, deepcopy
  from sacred.config import ConfigDict, chain_evaluate_config_scopes, dogmatize, load_config_file, undogmatize
  from sacred.config.config_summary import ConfigSummary
  from sacred.config.custom_containers import make_read_only
  from sacred.host_info import get_host_info
  from sacred.randomness import create_rnd, get_seed
  from sacred.run import Run
  from sacred.utils import convert_to_nested_dict, create_basic_stream_logger, get_by_dotted_path, is_prefix, rel_path, iterate_flattened, set_by_dotted_path, recursive_update, iter_prefixes, join_paths, NamedConfigNotFoundError, ConfigAddedError
  from sacred.settings import SETTINGS
label_desc: Use image node_id 2 for calling the Scaffold obj's underlying member method code with example usage: obj.set_up_seed(rnd) without return types