code: def get_current_trial_meta(self):
      meta_results = []
  
      # when we have trials, means we've already done 1 run
      # we can just get the params that are about to be run
      # otherwise we need to infer params from the current param list
      # this assumes the user feeds the opt into the experiment after
      # they're done setting up the params
      is_first_trial = self.trials is not None and len(self.trials) > 0
      if is_first_trial:
          trial_params = self.trials[self.current_iteration]
          for trial_param in trial_params:
              root_param = self.params[trial_param["idx"]]
              meta_results.append(
                  {"hypo_" + root_param["name"]: trial_param["val"]}
              )
  
      # if we haven't done a pass through the data yet,
      # we need to infer from the params in the list
      else:
          for param in self.params:
              meta_results.append(
                  {"hypo_" + param["name"]: param["vals"][0]}
              )
  
      # add shared meta
      meta_results.append({"hypo_iter_nb": self.current_iteration})
      return meta_results
  
file_path: test-tube/test_tube/hyperopt.py
imports: import itertools
  import json
  import random
label_desc: Use image node_id 8 for calling the HyperParamOptimizer obj's underlying member method code with example usage: obj.get_current_trial_meta() and returns: meta_results