docstr: A KeyMaker class dedicated to creating cross-experiment keys, which determine when
  experiments were executed under sufficiently similar conditions to permit proper comparison.
  Two separate instances of :class:`environment.Environment` should produce identical
  `cross_experiment_key` s if their arguments are the same (or close enough)
  
  Parameters
  ----------
  parameters: Dict
      All the parameters to be included when creating the key hash. Keys should correspond to
      parameter names, and values should be the values of the corresponding keys
  **kwargs: Dict
      Additional arguments supplied to :meth:`keys.makers.KeyMaker.__init__`
docstr_tok: ["A","KeyMaker","class","dedicated","to","creating","cross-experiment","keys",",","which","determine","when","experiments","were","executed","under","sufficiently","similar","conditions","to","permit","proper","comparison",".","Two","separate","instances","of",":","class",":","`","environment.Environment","`","should","produce","identical","`","cross_experiment_key","`","s","if","their","arguments","are","the","same","(","or","close","enough",")","Parameters","--","--","--","--","--","parameters",":","Dict","All","the","parameters","to","be","included","when","creating","the","key","hash",".","Keys","should","correspond","to","parameter","names",",","and","values","should","be","the","values","of","the","corresponding","keys","*","*","kwargs",":","Dict","Additional","arguments","supplied","to",":","meth",":","`","keys.makers.KeyMaker.__init__","`"]
code: def __init__(self, parameters, **kwargs):
      """A KeyMaker class dedicated to creating cross-experiment keys, which determine when
      experiments were executed under sufficiently similar conditions to permit proper comparison.
      Two separate instances of :class:`environment.Environment` should produce identical
      `cross_experiment_key` s if their arguments are the same (or close enough)
  
      Parameters
      ----------
      parameters: Dict
          All the parameters to be included when creating the key hash. Keys should correspond to
          parameter names, and values should be the values of the corresponding keys
      **kwargs: Dict
          Additional arguments supplied to :meth:`keys.makers.KeyMaker.__init__`
      """
      KeyMaker.__init__(self, parameters, **kwargs)
  
imports: from hyperparameter_hunter.feature_engineering import FeatureEngineer, EngineerStep
  from hyperparameter_hunter.i_o.exceptions import EnvironmentInvalidError, EnvironmentInactiveError
  from hyperparameter_hunter.keys.hashing import make_hash_sha256
  from hyperparameter_hunter.compat.keras_helper import keras_callback_to_dict, keras_initializer_to_dict, parameterize_compiled_keras_model
  from hyperparameter_hunter.compat.keras_optimization_helper import initialize_dummy_model
  from hyperparameter_hunter.metrics import Metric
  from hyperparameter_hunter.sentinels import Sentinel
  from hyperparameter_hunter.settings import G
  from hyperparameter_hunter.utils.file_utils import write_json, read_json, add_to_json, make_dirs
  from hyperparameter_hunter.utils.file_utils import RetryMakeDirs
  from hyperparameter_hunter.utils.general_utils import subdict
  from hyperparameter_hunter.utils.boltons_utils import remap, default_enter
  from abc import ABCMeta, abstractmethod
  from copy import deepcopy
  from functools import partial
  from inspect import isclass, getsource
  from os import listdir
  import os.path
  import pandas
  import shelve
label_desc: Use image node_id 1 to create a new CrossExperimentKeyMaker object from inherited base classes: KeyMaker with example: obj = CrossExperimentKeyMaker(parameters)