class_docstr: A bracket in Hyperband, all the information of a bracket is managed by an instance of this class
  
  Parameters
  ----------
  bracket_id: string
      The id of this bracket, usually be set as '{Hyperband index}-{SH iteration index}'
  s: int
      The current SH iteration index.
  s_max: int
      total number of SH iterations
  eta: float
      In each iteration, a complete run of sequential halving is executed. In it,
              after evaluating each configuration on the same subset size, only a fraction of
              1/eta of them 'advances' to the next round.
  R:
      the budget associated with each stage
  optimize_mode: str
      optimize mode, 'maximize' or 'minimize'
docstr: Randomly generate num hyperparameter configurations from search space
  
  Parameters
  ----------
  num: int
      the number of hyperparameter configurations
  
  Returns
  -------
  list
      a list of hyperparameter configurations. Format: [[key1, value1], [key2, value2], ...]
docstr_tok: ["Randomly","generate","num","hyperparameter","configurations","from","search","space","Parameters","--","--","--","--","--","num",":","int","the","number","of","hyperparameter","configurations","Returns","--","--","--","-","list","a","list","of","hyperparameter","configurations",".","Format",":","[","[","key1",",","value1","]",",","[","key2",",","value2","]",",","...","]"]
code: def get_hyperparameter_configurations(
      self, num, r, searchspace_json, random_state
  ):
      """Randomly generate num hyperparameter configurations from search space
  
      Parameters
      ----------
      num: int
          the number of hyperparameter configurations
  
      Returns
      -------
      list
          a list of hyperparameter configurations. Format: [[key1, value1], [key2, value2], ...]
      """
      global _KEY
      assert self.i == 0
      hyperparameter_configs = dict()
      for _ in range(num):
          params_id = create_bracket_parameter_id(
              self.bracket_id, self.i
          )
          params = json2parameter(searchspace_json, random_state)
          params[_KEY] = r
          hyperparameter_configs[params_id] = params
      self._record_hyper_configs(hyperparameter_configs)
      return [
          [key, value] for key, value in hyperparameter_configs.items()
      ]
  
imports: import copy
  import logging
  import math
  import sys
  import numpy
  from schema import Schema, Optional
  import nni
  from nni import ClassArgsValidator
  from nni.common.hpo_utils import validate_search_space
  from nni.runtime.common import multi_phase_enabled
  from nni.runtime.msg_dispatcher_base import MsgDispatcherBase
  from nni.runtime.tuner_command_channel import CommandType
  from nni.utils import NodeType, OptimizeMode, MetricType, extract_scalar_reward
  from nni import parameter_expressions
label_desc: Use image node_id 7 for calling the Bracket obj's underlying member method code with example usage: obj.get_hyperparameter_configurations(num, r, searchspace_json, random_state) and returns: unknown