Beispiel #1
0
    def create_trials(losses, statuses, vals, scope_keys):
        trials = Trials()

        tids = trials.new_trial_ids(len(losses))
        specs = [None for x in range(len(tids))]
        results = []
        miscs = []
        for i in range(len(tids)):
            idxs_content = [[i] for key in scope_keys]
            idxs_vals_content = []
            for key in scope_keys:
                idxs_vals_content.append([vals[key][i]])

            results.append(dict(loss=losses[i], status=statuses[i]))
            miscs.append(
                dict(tid=tids[i],
                     cmd=None,
                     idxs=dict(zip(scope_keys, idxs_content)),
                     vals=dict(zip(scope_keys, idxs_vals_content))))

        trials.insert_trial_docs(
            trials.new_trial_docs(
                tids,
                specs,
                results,
                miscs,
            ))
        trials.refresh()
        return trials
    def create_trials(self, complete, losses):
        if len(complete) > 0:
            trials = Trials()
            hist = self.create_history(complete)
            index = 0
            for c in complete:
                if c >= len(losses):
                    error(
                        "Index {} is larger than the size of losses {}".format(
                            c, len(losses)))
                loss = losses[c]
                rval_specs = [None]
                new_id = index
                rval_results = []
                rval_results.append(create_ok_result(loss, c))
                rval_miscs = []
                rval_miscs.append(self.create_misc(index, hist))

                hyperopt_trial = trials.new_trial_docs([new_id], rval_specs,
                                                       rval_results,
                                                       rval_miscs)[0]
                index += 1
                if self.response_shaping is True:
                    # transform log applied loss for enhancing optimization performance
                    #debug("before scaling: {}".format(loss))
                    if self.shaping_func == "log_err":
                        loss = apply_log_err(loss)
                    elif self.shaping_func == "hybrid_log":
                        loss = apply_hybrid_log(loss)
                    else:
                        debug("Invalid shaping function: {}".format(
                            self.shaping_func))
                hyperopt_trial['result'] = {
                    'loss': float(loss),
                    'status': STATUS_OK
                }
                hyperopt_trial['state'] = JOB_STATE_DONE
                #debug("History appended: {}-{}".format(c, loss))
                trials.insert_trial_doc(hyperopt_trial)
            trials.refresh()
            return trials
        else:
            return Trials()
Beispiel #3
0
    def create_trials(self, completed, losses):
        if len(completed) > 0:
            trials = Trials()
            hist = self.create_history(completed)
            #index = 0
            #for c in completed:
            for index in range(len(completed)):
                c = completed[index]
                loss = losses[index]
                rval_specs = [None]
                new_id = index
                rval_results = [ ]
                rval_results.append(create_ok_result(loss, c))
                rval_miscs = [  ]
                rval_miscs.append(self.create_misc(index, hist))
                    
                hopt_trial = trials.new_trial_docs([new_id], rval_specs, rval_results, rval_miscs)[0]

                if self.response_shaping is True:
                        # transform log applied loss for enhancing optimization performance
                        #debug("before scaling: {}".format(loss))
                    if self.shaping_func == "log_err":                        
                        loss = apply_log_err(loss)
                    elif self.shaping_func == "hybrid_log":
                        loss = apply_hybrid_log(loss)
                    else:
                        debug("Invalid shaping function: {}".format(self.shaping_func))
                if loss != None:                    
                    hopt_trial['result'] = {'loss': float(loss), 'status': STATUS_OK}
                    hopt_trial['state'] = JOB_STATE_DONE
                    #debug("History appended: {}-{}".format(c, loss))
                    trials.insert_trial_doc(hopt_trial)
            trials.refresh()
            return trials
        else:        
            return Trials()