code: def space_eval(space, hp_assignment):
      """Compute a point in a search space from a hyperparameter assignment.
  
      Parameters:
      -----------
      space - a pyll graph involving hp nodes (see `pyll_utils`).
  
      hp_assignment - a dictionary mapping hp node labels to values.
      """
      space = pyll.as_apply(space)
      nodes = pyll.toposort(space)
      memo = {}
      for node in nodes:
          if node.name == "hyperopt_param":
              label = node.arg["label"].eval()
              if label in hp_assignment:
                  memo[node] = hp_assignment[label]
      rval = pyll.rec_eval(space, memo=memo)
      return rval
  
imports: import functools
  import inspect
  import logging
  import os
  import sys
  import time
  from timeit import default_timer
  import numpy
  from hyperopt import tpe, exceptions
  from hyperopt.base import validate_timeout, validate_loss_threshold
  from .None import pyll
  from .utils import coarse_utcnow
  from .None import base
  from .None import progress
label_desc: Use image node_id 7 for calling a global function with example usage: space_eval(space, hp_assignment) and returns: rval