docstr: Restructure of hyperopt.fmin `serial_evaluation`.
  
  :param score: score returned from the training script
  :param job: job object contains tid for hyperopt internal update
docstr_tok: ["Restructure","of","hyperopt.fmin","`","serial_evaluation","`",".",":","param","score",":","score","returned","from","the","training","script",":","param","job",":","job","object","contains","tid","for","hyperopt","internal","update"]
code: def update(self, score, job):
      """
      Restructure of hyperopt.fmin `serial_evaluation`.
  
      :param score: score returned from the training script
      :param job: job object contains tid for hyperopt internal update
      """
      super(HyperoptProposer, self).update(score, job)
      tid = job.config["tid"]
      if score is not None:
          result = {"loss": score * self.target, "status": "ok"}
          state = base.JOB_STATE_DONE
      else:
          result = {"loss": None, "status": "fail"}
          state = base.JOB_STATE_ERROR
      for trial in self.trials._dynamic_trials:
          if tid == trial["tid"]:
              trial["state"] = state
              trial["result"] = result
              trial["refresh_time"] = coarse_utcnow()
              self.trials.refresh()
              return
      msg = "Failed to locate job tid=%d" % tid
      logger.fatal(msg)
      raise KeyError(msg)
  
file_path: auptimizer/src/aup/Proposer/HyperoptProposer.py
imports: import importlib
  import logging
  import numpy
  from six.moves import input
  from .AbstractProposer import AbstractProposer
  from .hyperopt import hp, base
  from .hyperopt.utils import coarse_utcnow
  from ..utils import set_default_keyvalue, check_missing_key, get_from_options
label_desc: Use image node_id 6 for calling the HyperoptProposer obj's underlying member method code with example usage: obj.update(score, job) without return types