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