code: def get_params(self, u):
      if u.shape[0] != self.cardinality:
          raise Exception("Hypercube dimensionality is incorrect.")
  
      params = {}
      index = 0
      for variable in self.variables:
          param = []
          if variable["type"] == "int":
              for dd in range(variable["size"]):
                  param.append(
                      variable["min"]
                      + self._index_map(
                          u[index],
                          variable["max"] - variable["min"] + 1,
                      )
                  )
                  index += 1
  
          elif variable["type"] == "float":
              for dd in range(variable["size"]):
                  param.append(
                      variable["min"]
                      + u[index] * (variable["max"] - variable["min"])
                  )
                  index += 1
  
          elif variable["type"] == "enum":
              for dd in range(variable["size"]):
                  ii = self._index_map(
                      u[index], len(variable["options"])
                  )
                  index += 1
                  param.append(variable["options"][ii])
          else:
              raise Exception("Unknown parameter type.")
  
          params[variable["name"]] = param
  
      return params
  
imports: import os
  import sys
  import tempfile
  import pickle
  import numpy
  import numpy.random
  from .spearmint_pb2 import *
  from .Locker import *
  from .sobol_lib import *
  from .helpers import *
  import logging
label_desc: Use image node_id 2 for calling the GridMap obj's underlying member method code with example usage: obj.get_params(u) and returns: params