code: def _parameters(space):
      # Analyze the domain instance to find parameters
      parameters = {}
      if isinstance(space, dict):
          space = list(space.values())
      for node in _recursiveFindNodes(space, "switch"):
          # Find the name of this parameter
          paramNode = node.pos_args[0]
          assert paramNode.name == "hyperopt_param"
          paramName = paramNode.pos_args[0].obj
  
          # Find all possible choices for this parameter
          values = [literal.obj for literal in node.pos_args[1:]]
          parameters[paramName] = np.array(range(len(values)))
      return parameters
  
imports: from functools import partial
  import numpy
  from recbole.utils.utils import dict2str
label_desc: Use image node_id 2 for calling a global function with example usage: _parameters(space) and returns: parameters