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.
code: def __init__(self):
      # Current name scopes.
      self._name_scopes = []
      # Current `Condition`s, managed by `conditional_scope`.
      self._conditions = []
  
      # Dict of list of hyperparameters with same
      # name but different conditions, e.g. `{name: [hp1, hp2]}`.
      # Hyperparameters are uniquely identified by their name and
      # conditions.
      self._hps = collections.defaultdict(list)
  
      # List of hyperparameters, maintained in insertion order.
      # This guarantees that conditional params are always later in
      # the list than their parents.
      self._space = []
  
      # Active values for this `Trial`.
      self.values = {}
  
      # A list of active `conditional_scope`s in a build,
      # each of which is a list of condtions.
      # Used by BaseTuner to activate all conditions.
      # No need to empty these after builds since when building the model, hp
      # is copied from the Oracle's hp, which always have these 2 fields
      # empty.
      self.active_scopes = []
      # Similar for inactive `conditional_scope`s.
      self.inactive_scopes = []
  
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 1 to create a new HyperParameters object  with example: obj = HyperParameters()