code: def _create_shared_memory(self, new_opt):
      if new_opt.memory == "share":
          if len(self.opt_pros) == 0:
              manager = mp.Manager()
              new_opt.memory = manager.dict()
  
          for opt in self.opt_pros.values():
              same_obj_func = (
                  opt.objective_function.__name__
                  == new_opt.objective_function.__name__
              )
              same_ss_length = len(opt.s_space()) == len(
                  new_opt.s_space()
              )
  
              if same_obj_func and same_ss_length:
                  new_opt.memory = opt.memory  # get same manager.dict
              else:
                  manager = mp.Manager()  # get new manager.dict
                  new_opt.memory = manager.dict()
  
imports: import copy
  import multiprocessing
  import pandas
  from typing import Union, List, Dict, Type
  from .optimizers import RandomSearchOptimizer
  from .run_search import run_search
  from .results import Results
  from .print_results import PrintResults
  from .search_space import SearchSpace
label_desc: Use image node_id 2 for calling the Hyperactive obj's underlying member method code with example usage: obj._create_shared_memory(new_opt) without return types