def average_and_std_type(all_results, index): avg = EmptyObject() for n, run in enumerate(all_results): if n == 0: avg.a_o_e = np.array(run[index].a_o_e) avg.a_o_t = np.array(run[index].a_o_t) avg.policy_diff1 = run[index].policy_diff1 avg.policy_diff2 = run[index].policy_diff2 avg.e_on_e = [run[index].e_on_e] avg.e_o_t = [run[index].e_o_t] else: avg.a_o_e = np.vstack((avg.a_o_e, np.array(run[index].a_o_e))) avg.a_o_t = np.vstack((avg.a_o_t, np.array(run[index].a_o_t))) avg.policy_diff1 = np.vstack( (avg.policy_diff1, np.array(run[index].policy_diff1))) avg.policy_diff2 = np.vstack( (avg.policy_diff2, np.array(run[index].policy_diff2))) avg.e_on_e.append(run[index].e_on_e) avg.e_o_t.append(run[index].e_o_t) avg.mean_a_o_e = np.mean(avg.a_o_e, axis=0) avg.std_a_o_e = np.std(avg.a_o_e, axis=0) avg.mean_a_o_t = np.mean(avg.a_o_t, axis=0) avg.std_a_o_t = np.std(avg.a_o_t, axis=0) avg.mean_policy_diff1 = np.mean(avg.policy_diff1, axis=0) avg.std_policy_diff1 = np.std(avg.policy_diff1, axis=0) avg.mean_policy_diff2 = np.mean(avg.policy_diff2, axis=0) avg.std_policy_diff2 = np.std(avg.policy_diff2, axis=0) avg.e_on_e = np.mean(avg.e_on_e) avg.e_o_t = np.mean(avg.e_o_t) return avg
def average_and_std_type(all_results,index): avg = EmptyObject() for n,run in enumerate(all_results): if n ==0: avg.a_o_e = np.array(run[index].a_o_e); avg.a_o_t = np.array(run[index].a_o_t) avg.policy_diff1 = run[index].policy_diff1; avg.policy_diff2 = run[index].policy_diff2 avg.e_on_e = [run[index].e_on_e]; avg.e_o_t = [run[index].e_o_t] else: avg.a_o_e = np.vstack((avg.a_o_e,np.array(run[index].a_o_e))); avg.a_o_t =np.vstack((avg.a_o_t, np.array(run[index].a_o_t))) avg.policy_diff1 =np.vstack((avg.policy_diff1, np.array(run[index].policy_diff1))); avg.policy_diff2 =np.vstack((avg.policy_diff2,np.array(run[index].policy_diff2))) avg.e_on_e.append(run[index].e_on_e); avg.e_o_t.append(run[index].e_o_t) avg.mean_a_o_e = np.mean(avg.a_o_e,axis = 0); avg.std_a_o_e = np.std(avg.a_o_e,axis = 0) avg.mean_a_o_t = np.mean(avg.a_o_t,axis = 0); avg.std_a_o_t = np.std(avg.a_o_t,axis = 0) avg.mean_policy_diff1 = np.mean(avg.policy_diff1,axis=0); avg.std_policy_diff1 = np.std(avg.policy_diff1,axis = 0) avg.mean_policy_diff2 = np.mean(avg.policy_diff2,axis=0); avg.std_policy_diff2 = np.std(avg.policy_diff2,axis = 0) avg.e_on_e = np.mean(avg.e_on_e); avg.e_o_t = np.mean(avg.e_o_t) return avg