def _extract_individual_metrics()

in automl21/scs_neural/experimentation/launcher.py [0:0]


    def _extract_individual_metrics(self, soln_metrics, soln_type='original'):
        result_dict = {}
        if soln_type == 'neural':
            residuals, objectives = soln_metrics[0], soln_metrics[1]
            result_dict['p_res'] = np.array([x[0] for x in residuals])
            result_dict['d_res'] = np.array([x[1] for x in residuals])
            result_dict['p_obj'] = np.array([x[0] for x in objectives])
            result_dict['d_obj'] = np.array([x[1] for x in objectives])
            result_dict['tau'] = np.array(soln_metrics[2])
            result_dict['u_diff'] = np.array(soln_metrics[-1])
        else:
            raise RuntimeError("Unknown solution type")

        pobj = result_dict['p_obj']
        result_dict['p_obj'][pobj > 1e5] = np.nan
        dobj = result_dict['d_obj']
        result_dict['d_obj'][dobj > 1e5] = np.nan

        # normalize diff_u
        orig_iterate_diff = result_dict['u_diff'][0]
        if hasattr(self.cfg.model, 'learn_init_iterate') and self.cfg.model.learn_init_iterate and soln_type == 'neural':
            slice_start = 1
        else:
            slice_start = 0
        data = [x / orig_iterate_diff for x in result_dict['u_diff'][slice_start:]]
        result_dict['u_diff'] = data
        return result_dict