class_docstr: Function Caller for NN evaluations. 
class_docstr_tok: ["Function","Caller","for","NN","evaluations","."]
docstr: Evaluates the function here - mostly a wrapper to decide between
  the synthetic function vs the real function. 
docstr_tok: ["Evaluates","the","function","here","-","mostly","a","wrapper","to","decide","between","the","synthetic","function","vs","the","real","function","."]
code: def _func_wrapper(self, raw_fidel, raw_point, qinfo):
      """Evaluates the function here - mostly a wrapper to decide between
      the synthetic function vs the real function."""
      # pylint: disable=broad-except
      if self.debug_mode:
          ret = self._eval_synthetic_function(raw_point)
      else:
          try:
              ret = self._eval_validation_score(
                  raw_fidel, raw_point, qinfo
              )
          except Exception as exc:
              self.reporter.writeln(
                  "Exception when evaluating %s at fidel %s: %s."
                  % (str(raw_fidel), str(raw_point), exc)
              )
              ret = EVAL_ERROR_CODE
      return ret
  
file_path: dragonfly/examples/nas/nn_function_caller.py
imports: from copy import deepcopy
  import numpy
  from time import sleep
  from dragonfly.exd.experiment_caller import CPFunctionCaller
  from dragonfly.exd.exd_core import EVAL_ERROR_CODE
  from dragonfly.utils.reporters import get_reporter
label_desc: Use image node_id 6 for calling the NNFunctionCaller obj's underlying member method code with example usage: obj._func_wrapper(raw_fidel, raw_point, qinfo) and returns: ret