class_docstr: Container for both a hyperparameter space, and current values.
  
  A `HyperParameters` instance can be pass to `HyperModel.build(hp)` as an
  argument to build a model.
  
  To prevent the users from depending on inactive hyperparameter values, only
  active hyperparameters should have values in `HyperParameters.values`.
  
  Attributes:
      space: A list of `HyperParameter` objects.
      values: A dict mapping hyperparameter names to current values.
docstr: Gets or creates a hyperparameter.
  
  Args:
      hp: A `HyperParameter` instance.
  
  Returns:
      The value of the hyperparameter, or None if the hyperparameter is
      not active.
docstr_tok: ["Gets","or","creates","a","hyperparameter",".","Args",":","hp",":","A","`","HyperParameter","`","instance",".","Returns",":","The","value","of","the","hyperparameter",",","or","None","if","the","hyperparameter","is","not","active","."]
code: def _retrieve(self, hp):
      """Gets or creates a hyperparameter.
  
      Args:
          hp: A `HyperParameter` instance.
  
      Returns:
          The value of the hyperparameter, or None if the hyperparameter is
          not active.
      """
      if self._exists(hp.name, hp.conditions):
          if self.is_active(hp):
              return self.values[hp.name]
          return (
              None  # Ensures inactive values are not relied on by user.
          )
      return self._register(hp)
  
imports: import collections
  import contextlib
  import copy
  import six
  from keras_tuner import protos
  from keras_tuner.api_export import keras_tuner_export
  from keras_tuner.engine import conditions
  from keras_tuner.engine.hyperparameters import hp_types
  from keras_tuner.engine.hyperparameters import hyperparameter
label_desc: Use image node_id 7 for calling the HyperParameters obj's underlying member method code with example usage: obj._retrieve(hp) and returns: self, None, self