code: def _make_hyperparameter_decode_func(locked_values, meta_parameters):
      
  
      # Locked parameters are also returned by decode function, but are not
      # based on solution
  
      def decode(solution):
          """Convert solution into dict of hyperparameters."""
          # Start with out stationary (locked) paramaters
          hyperparameters = copy.deepcopy(locked_values)
  
          # Obtain moving hyperparameters from binary solution
          index = 0
          for name, parameters in meta_parameters.iteritems():
              # Obtain binary for this hyperparameter
              binary_size = parameters['binary_size']
              binary = solution[index:index + binary_size]
              index += binary_size  # Just index to start of next hyperparameter
  
              # Decode binary
              if parameters['type'] == 'discrete':
                  i = helpers.binary_to_int(
                      binary, upper_bound=len(parameters['values']) - 1)
                  value = parameters['values'][i]
              elif parameters['type'] == 'int':
                  value = helpers.binary_to_int(
                      binary,
                      lower_bound=parameters['min'],
                      upper_bound=parameters['max'])
              elif parameters['type'] == 'float':
                  value = helpers.binary_to_float(
                      binary,
                      lower_bound=parameters['min'],
                      upper_bound=parameters['max'])
              else:
                  raise ValueError(
                      'Parameter type "{}" does not match known values'.format(
                          parameters['type']))
  
              # Store value
              hyperparameters[name] = value
  
          return hyperparameters
  
      return decode
docs: Create a function that converts the binary solution to parameters.