From 5c5aa37f99a1810c57de29f62600d980adb58041 Mon Sep 17 00:00:00 2001 From: eric Date: Sun, 3 Dec 2023 14:30:25 -0500 Subject: [PATCH 01/16] x8 changes, ppo changes/fixes --- assets/x8.xml | 20 +++++------ data/ppo/policies/learner#0.pth | Bin 0 -> 5090 bytes data/ppo/policies/learner#1.pth | Bin 0 -> 5090 bytes data/ppo/stats.txt | 0 data/ppo/trajectories/best_rollout#0.pkl | Bin 0 -> 10309 bytes data/ppo/trajectories/best_rollout#1.pkl | Bin 0 -> 19013 bytes data/ppo/trajectories/worst_rollout#0.pkl | Bin 0 -> 10316 bytes data/ppo/trajectories/worst_rollout#1.pkl | Bin 0 -> 19020 bytes learning/autopilot.py | 11 +++--- learning/ppo.py | 42 +++++++++++++++++----- simulation/mdp.py | 23 ++++++------ simulation/simulate.py | 12 ++++++- waypoints.csv | 11 +++--- 13 files changed, 75 insertions(+), 44 deletions(-) create mode 100644 data/ppo/policies/learner#0.pth create mode 100644 data/ppo/policies/learner#1.pth create mode 100644 data/ppo/stats.txt create mode 100644 data/ppo/trajectories/best_rollout#0.pkl create mode 100644 data/ppo/trajectories/best_rollout#1.pkl create mode 100644 data/ppo/trajectories/worst_rollout#0.pkl create mode 100644 data/ppo/trajectories/worst_rollout#1.pkl diff --git a/assets/x8.xml b/assets/x8.xml index 3368f7b..bcc8bde 100644 --- a/assets/x8.xml +++ b/assets/x8.xml @@ -70,10 +70,10 @@ 0.8 0.5 - 0.1 + .02 8.0 - 0.85 - 0 + 2.85 + 360 NONE 0 @@ -85,10 +85,10 @@ 0.8 0.5 - 0.1 + 0.03 4.0 - 0.95 - 0.0 + 1.95 + 360 LEFT 0 @@ -100,10 +100,10 @@ 0.8 0.5 - 0.1 + 0.03 4.0 - 0.95 - 0.0 + 1.95 + 360 RIGHT 0 @@ -145,7 +145,7 @@ attitude/heading-true-rad - 0.003 + 0.0 diff --git a/data/ppo/policies/learner#0.pth b/data/ppo/policies/learner#0.pth new file mode 100644 index 0000000000000000000000000000000000000000..23acc1c55e3a16da23536149d24bebd23e61d816 GIT binary patch literal 5090 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 literal 0 HcmV?d00001 diff --git a/data/ppo/stats.txt b/data/ppo/stats.txt new file mode 100644 index 0000000..e69de29 diff --git a/data/ppo/trajectories/best_rollout#0.pkl b/data/ppo/trajectories/best_rollout#0.pkl new file mode 100644 index 0000000000000000000000000000000000000000..254a622150111c085606d6d5f4926941249a801a GIT binary patch literal 10309 zcmeI2e^3)=8pjt1351`Pf&r!eL_iRefI!H;@9w6Us)2%_SCAG8ArNRZZW638J&jhV zNEP+KV&$s#6gpL}UM<=}erZMU2h{4FUaNFeigSVtg|jM$)Y~;;Lp09xzs_{unRnjJ z?)!Y7=l$eK-ko`$RGAA4LEPMsr`kls1IbfpbvYWfN~JE*&EU_?&(-Bdt$a%*m2i+{ z)~0uUgG9pQI<-cwjLIp|6{)n`9E~Ecq)3&Yqf@NVsx>*Qgj~`oEG&aV`Os1`a|;!u zv(DHTE(j~)*n!_hq87|Z)Us*!BCiB=jlD$}l$b4m96(mRIC3C7E-74jB zDlCOuSEOE{<)&!z6&gi;Vv$_OCEdf*NUo0bNFzO!lv|~<(kd$;y_BxW*PL{uw^fc+ zLHfv8w4CooC2ci9N4}6o`i-*^k}oP2Gx|Un+_IEq=#>nwotKqa2Pkz4byLGIrzF@gUK0F3A+z!!@^bJ%j_J%ki_> zg<{Ez&F1~(vs!LHxF-%+^09bu%}(sQtajjgVvl)9u%GDiOg3enZ-XQ2&%k}k1NhCg z+r>lO_eI^!3C+HDC7|h-c09b}GsxSS4Z-M>y9smwvn+^bWM)J!k`rKcz>j<(EynYD$UhmtHkZz(?Vmo42 z2s*VJn$t~dfS;xvZ-?uk@V?s6hIE`ZnzN@;dzSwkz>=z$DYTv$3dP zdSL=@Ujg_>(?!%+QVE*}uC^?@SZQkBUWF%3$BnQ2+yjL-Z@>kKu0%hl-#9$;x(Giy zEy3F*3+xf@O<3!@8CnX%TB3HHG!@_LByNld%qBjDg$nv%w>gq15ArgN)NTX?xe;G! z*CvBQN7`|YcNY9)$pXXIF9=Mlt3M$KZHW10j|7aXM6lH*>BOXeYk(H)1}>Vd;&Z*B zK!O|r-~2TaMr}~k^HZfdUhgBujh_h$cp_5d7Xn0O3 zyfPF6^VTWQkac$rCD%oggvb3)gHbqbD2%U=WeUJ;va*v>&eRUIEudRb- z)_HJg^?cMa+G?n1nvFa#I^3;~7!Lx3T` z5MT%}1Q-H;ECTe&MlXxq^Ck~L=>EKujo@dVYzU;1K*uK=Th0kE%k5#bPW}OCiL5m? zH2eTXst6;$cn83@j2J7W7r+NIZW$V1%LJZDevln=3T{?~qBWLn#>QF?cxwI$I9fah z)XlB~9ex3D>9!2ef1uo8ng18?-cK2zyw?K+wN@Ek)z^XsRh#kQaXxm~_b7U7>1&{E z&G%?II~r@v1fV8+3t(OGf&V+Y3U(BHjw&wfMn7z?H?~Fi!r;#duzooLdVleUqps1| z)LQ`{_;i3_bV)L(8;QdBoHK@Zqj!Qlj>#}>(FiIVOaxo-O~AX)8*=~bgLSwbLvt!? zz@Xbb5Y#Wgk`Kv1P}M>7x@8Fbv9gI-Ekl4Izz|>v{9Xvq`+MetT{1mY976Z!?eE~3 z`@2vo5jo!9$LbUujRSexVCA}QC=@zj9QSEhYRD_tt?ERq%d0GrFVSQ0Z+oz^lzrHR zxU$6F_~Y2J;!7BRN+;$S{H1N(!|w$r6NeoEI=_hbq;FrN3UcV~IKKjr$@clRN}FXepI;Bnet3`#~wnE2zw7vkBV=!3QbY2s;DfNu4c+9%9lz)9Xhm2 zWWGqqj~B#?_|c*`z93E*J5MO&#|T8xqIrTiK6Q^jFD6zvPe@1k{=YWt3!@^Wd#cQd z4)#gqmu=zFMEb$F=AaJDUc|NpiF#MJX;~C{JCP?9PxdOdulxQs8VGXfX%%bnlD&lO zKgxKC!$D64@<>8pFJYTB<0ZCEf3^h0csx_vtOyvlke_BgCGj}d>@{q^v++e$Y1BtM zq|eT#R2iEc`PltSE_0p)LYL#wZEWnL=+f=}V?UJLqetDL*8BA1RGBMXUq;z*5PH6K G?*9RD%WG8t literal 0 HcmV?d00001 diff --git a/data/ppo/trajectories/best_rollout#1.pkl b/data/ppo/trajectories/best_rollout#1.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2520b3f38e85d47ea5613f3528c550c356997882 GIT binary patch literal 19013 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 KeI7S{VC-*~NwZM^ literal 0 HcmV?d00001 diff --git a/data/ppo/trajectories/worst_rollout#0.pkl b/data/ppo/trajectories/worst_rollout#0.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d64f3b048c61606b9f2d1d1c1bdb15299f4de79d GIT binary patch literal 10316 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 Vp1vF^HK)tWj5d}mdVcHNKLE<>Se*a> literal 0 HcmV?d00001 diff --git a/data/ppo/trajectories/worst_rollout#1.pkl b/data/ppo/trajectories/worst_rollout#1.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2d831905bd9482732ba45318f355d017f6dcfa02 GIT binary patch literal 19020 zcmeI4c~lg~_Q!`^5ClQ?O%xE2eaGpl>PA6!5Ta3xL4-jtAkHvo(5GOYf`};K0!qLI z;vP{EP?+jj6cipJ;)05Zkq}XF-*Ab(8AT zZbYzxB8xR_80!-=V5zYdrSj7FF}&2|3|0XB#`NMN0Rc*8QU-OOQ7<$7h`RtYhYW%jg&4wcG3y$bE$gTm#)0@0LG^Fz*+0{ zsR2Dldf)VQV6?k^LubVTV2hi`%3B%m+Y8nL-OE+9PxC}7>#-eO4g2Bq(p!)ajH6QQ zifDEJonX|2um+D!G2l{P6FK^N6r5pQFIYYx!VR^?)Gtaeu$lHXs33d{uYTi0>F0~- zHw(6b$-~VXu28{1xb`Hu^nf26Xs;F+A9AG+wp=5mAT)UllYrVLsLGV=V02lLHi! zc*kbz>w_ZoW>OMu`%QEeR{w$4Ye+;ksINZ&-I=vUDlhb>W8-3ZisEtA?Q$ON(deZ&^cL?X5F zB2m{K3S;|gfz_6U6H2_khpL^))Rv9q^y@noNc)-=>X2JWU2m~P+vX~P%CHh5lok=^ zTZ3UOO@lkXjuF&yZ_)-|ji-85PSA~w=4elmHaZ0Isey_NWVkn%*pePiDndEo0^dW6*vg~W=WD7YfM5TuMV z!k5o!p@-vKz4cyd4u~U-LdC>V;{l>cHIs`%{g5}aD`uisE4jl&{aCYe{mL^YF`H~6TRX^ zk|2?izA|$0Nk?IRhbWbjC8WxoYsjp12Vvvb4mJuLVRz|BJU`qQt|%AI|!WSL|1JAb9g;t>nhNTCv6yjyUYAEUIgvGHJPNFQqY-jW#at zMAx3oBwnw=XfYWIm96^W7Y7_r>&^nn$lOkG%z+efLCsQXw5m1Ums>^gJV%M<=-)s# z1`}vqhf}EYt|DrA_zbSw4ABPLLdnRJFT_#%=85yPQYi0NHlpl9)l^4DqX=(%jI>mn zY0DMo(H%iBN{z5Ya*@tRKBqvExNL+ZOgUP-%_NvwySi5NUEz;Z*JdZNoPjdg6ksNt z;CUT2Q)|$jvlCEHl_Oe^x>iCCA1#T~_7)q&>QKcAI%0#80;)MHSKKp0hupk6NjTH- z5h^=z7?q1wAvFa#I^3;~7! zLx3T`5MT%}1Q-Gg0fqoWfFZyTUq1nfzNS~Gm9l_|8C|4@#ixqT>O2#|H90Pp&1k!k6h891{>TSs|?c5=)p<5T+!pf zL4n+*h5&2{Ukc-?5eoQ)r4;Q&2uh$cC_nmCw?gdR^6qG}p>0N@19VIwm zR52ddt2AOiKCFvP@{G{fh7fS~WhTx}R;Tl8?2#MG1SCaY z6ljI-#&4HdAlCVb;HUK^U}S<8d|7G>onu14YU5Dgk!lEceK82rYmD#?n@yl*Tp1|U zw@2YWO~y+{=K=7n4-Brk2SwdMpyx?GPS)1avoO!{uuY(Y(%D;_S%!fJbu?JaaGv#7ycH*u*}?T2E7mas8Xw?wS=oAX=ZkzkUp= zoMwVU-IKt&3|+e0+zkaB3jrlFz5|B}-T?9L2XLYV0+;9wz%8Pjsy$7GC`a&Yh=- zs^xRotaV4(^DPzV|ISs!s4xT=0t^9$07HNwzz|>vFa#I^41xblK=%GUJKzMx(vdba`p zXL?KzhQR-C0qKqoJ~wpyuYvY|1cqEA6I8@7jGYDHy best_cum_reward: + integrated_sim.mdp_data_collector.save(os.path.join('ppo', 'trajectories'), 'best_rollout#' + str(policy_num)) + best_cum_reward = cum_reward + if cum_reward < worst_cum_reward: + integrated_sim.mdp_data_collector.save(os.path.join('ppo', 'trajectories'), 'worst_rollout#' + str(policy_num)) + worst_cum_reward = cum_reward # Add to the data observations = torch.cat((observations, observation)) @@ -55,6 +68,14 @@ def gather_rollout_data(autopilot_learner, policy_num, num_trajectories=100, sim ("next", "observation"): next_observations, }, [data_size,]) + # Write to stats file + stats_file = open(os.path.join('data', 'ppo', 'stats.txt'), 'a') + stats_file.write('Policy Number #' + str(policy_num) + ':\n') + stats_file.write('Average Reward: ' + str(total_cum_reward/num_trajectories) + '\n') + stats_file.write('Best Reward: ' + str(best_cum_reward) + '\n') + stats_file.write('Worst Reward: ' + str(worst_cum_reward) + '\n') + stats_file.write('\n\n') + return data, data_size """ @@ -64,12 +85,12 @@ def gather_rollout_data(autopilot_learner, policy_num, num_trajectories=100, sim action taken during PPO learning. """ def make_value_estimator_module(n_obs): + global device + value_net = nn.Sequential( - nn.Linear(n_obs, n_obs), + nn.Linear(n_obs, 2*n_obs, device=device), nn.Tanh(), - nn.Linear(n_obs, n_obs), - nn.Tanh(), - nn.Linear(n_obs, 1), # one value is computed for the state + nn.Linear(2*n_obs, 1, device=device), # one value is computed for the state ) return ValueOperator( @@ -115,7 +136,7 @@ def train_ppo_once(policy_num, autopilot_learner, loss_module, advantage_module, for b in range(0, data_size // batch_size): # Gather batch and calculate PPO loss on it batch = replay_buffer.sample(batch_size) - loss_vals = loss_module(batch.to("cpu")) + loss_vals = loss_module(batch.to(device)) loss_value = ( loss_vals["loss_objective"] + loss_vals["loss_critic"] @@ -131,17 +152,20 @@ def train_ppo_once(policy_num, autopilot_learner, loss_module, advantage_module, if __name__ == "__main__": # Parameters (see https://pytorch.org/rl/tutorials/coding_ppo.html#ppo-parameters) batch_size = 100 - num_epochs = 10 + num_epochs = 200 + device = "cpu" if not torch.has_cuda else "cuda:0" + clip_epsilon = 0.2 # for PPO loss gamma = 1.0 lmbda = 0.95 entropy_eps = 1e-4 lr = 3e-4 - num_trajectories = 100 + num_trajectories = 500 num_policy_iterations = 100 # Build the modules autopilot_learner = StochasticAutopilotLearner() + autopilot_learner.init_from_params(np.zeros(238)) value_module = make_value_estimator_module(autopilot_learner.inputs) advantage_module = GAE( gamma=gamma, lmbda=lmbda, value_network=value_module, average_gae=True diff --git a/simulation/mdp.py b/simulation/mdp.py index 58a292f..05e16d4 100644 --- a/simulation/mdp.py +++ b/simulation/mdp.py @@ -117,7 +117,6 @@ def enact_predetermined_controls(sim, autopilot): def enact_autopilot(sim, autopilot): state = state_from_sim(sim, debug=False) action, log_prob = autopilot.get_action(state) - update_sim_from_control(sim, autopilot.get_control(action)) return state, action, log_prob @@ -152,29 +151,27 @@ def new_init_wp_reward(action, next_state, collided, wp_coeff=1, action_coeff=1, waypoint_rel_unit = next_state[10:13] / torch.norm(next_state[10:13]) vel = next_state[1:4] - toward_waypoint_reward = wp_coeff * float(torch.dot((vel ** 2 * torch.sign(vel)), waypoint_rel_unit).detach()) + toward_waypoint_reward = wp_coeff * float(torch.dot(vel, waypoint_rel_unit).detach()) return toward_waypoint_reward + alt_reward - action_cost if not collided else 0 """ A reward function. """ def get_wp_reward(sim): - def wp_reward(action, next_state, collided, wp_coeff=0.01, action_coeff=0.01, alt_reward_threshold=10): + def wp_reward(action, next_state, collided, wp_coeff=0.1, action_coeff=0.1): if not sim.waypoint_rewarded: sim.waypoint_rewarded = True - wp_reward = 1_000_000 + wp_reward = 1_000 else: wp_reward = 0 - # print("altitude", next_state[2] ) - alt_reward = 0.1 if next_state[2] > alt_reward_threshold else 0 action_cost = action_coeff * quadratic_action_cost(action) - - waypoint_rel_unit = next_state[10:13] / torch.norm(next_state[10:13]) + waypoint_rel_unit = torch.nn.functional.normalize(next_state[10:13], dim=0) vel = next_state[1:4] - toward_waypoint_reward = wp_coeff * float(torch.dot((vel ** 2 * torch.sign(vel)), waypoint_rel_unit).detach()) - # print("wp_reward: ", wp_reward, " toward_waypoint_reward: ", toward_waypoint_reward) - # print("alt_reward: ", alt_reward, " action_cost: ", -action_cost) - # print("\t reward", wp_reward + toward_waypoint_reward + alt_reward - action_cost if not collided else 0) - return wp_reward + toward_waypoint_reward + alt_reward - action_cost if not collided else 0 + toward_waypoint_reward = wp_coeff * float(torch.dot(vel, waypoint_rel_unit).detach()) + + #print("wp_reward: ", wp_reward, " toward_waypoint_reward: ", toward_waypoint_reward) + #print("alt_reward: ", alt_reward, " action_cost: ", -action_cost) + #print("\t reward", wp_reward + toward_waypoint_reward + alt_reward - action_cost if not collided else 0) + return wp_reward + toward_waypoint_reward - action_cost if not collided else 0 return wp_reward """ diff --git a/simulation/simulate.py b/simulation/simulate.py index b0ab2a3..b4e2c8d 100644 --- a/simulation/simulate.py +++ b/simulation/simulate.py @@ -2,6 +2,7 @@ from simulation.jsbsim_aircraft import Aircraft, x8 import simulation.jsbsim_properties as prp from learning.autopilot import AutopilotLearner +import torch import simulation.mdp as mdp import os import numpy as np @@ -16,7 +17,7 @@ def __init__(self, autopilot: AutopilotLearner, sim_time: float, display_graphics: bool = True, - agent_interaction_frequency: int = 1, + agent_interaction_frequency: int = 120, airsim_frequency_hz: float = 392.0, sim_frequency_hz: float = 240.0, init_conditions: bool = None, @@ -77,6 +78,9 @@ def simulation_loop(self): # Do autopilot controls try: state, action, log_prob = mdp.enact_autopilot(self.sim, self.autopilot) + # state, action, log_prob = mdp.enact_predetermined_controls(self.sim, self.autopilot) + if torch.isnan(state).any(): + break except Exception as e: print(e) # If enacting the autopilot fails, end the simulation immediately @@ -114,6 +118,9 @@ def simulation_loop(self): # Get new state try: next_state = mdp.state_from_sim(self.sim) + if torch.isnan(next_state).any(): + next_state = state + self.done = True except: # If we couldn't acquire the state, something crashed with jsbsim # We treat that as the end of the simulation and don't update the state @@ -130,6 +137,8 @@ def simulation_loop(self): self.done = True self.mdp_data_collector.terminate(int(i/self.agent_interaction_frequency)) print('Simulation complete.') + print('Cum reward:', self.mdp_data_collector.cum_reward) + """ Replays a simulation @@ -151,6 +160,7 @@ def simulation_replay(self, actions): # NOTE: for replays, the agent interaction frequency must match what # it was when the trajectory was created if i % self.agent_interaction_frequency == 0: + print("Step") break if __name__ == "__main__": diff --git a/waypoints.csv b/waypoints.csv index 7b87c80..07cef09 100644 --- a/waypoints.csv +++ b/waypoints.csv @@ -1,7 +1,8 @@ waypoint_id,x,y,z,relative_x,relative_y,relative_z 1,-4461,-417.960938,90,21.5,-0.2,0.89 -2,-701,-417.960938,120,59.1,-0.2,1.19 -3,2869,-57.960938,450,94.8,3.4,4.49 -4,6509,-967.960938,1230,131.2,-5.7,12.29 -5,9469,-477.960938,1480,160.8,-0.8,14.79 -6,15619,-397.960938,2920,222.3,0,29.19 \ No newline at end of file +2,-1891,-487.960938,120,47.2,-0.9,1.19 +3,2626,-461,326,92.37,-0.63039062,3.25 +4,6639,-237.960938,730,132.5,1.6,7.29 +5,15619,-407.960938,2920,222.3,-0.1,29.19 +6,9469,-477.960938,1480,160.8,-0.8,14.79 +7,11919,-287.960938,1980,185.3,1.1,19.79 \ No newline at end of file From a1628f2dac51a83b87ceeb128ef03be2683eaed1 Mon Sep 17 00:00:00 2001 From: eric Date: Sun, 3 Dec 2023 17:52:58 -0500 Subject: [PATCH 02/16] debugging --- data/ppo/policies/learner#0.pth | Bin 5090 -> 5090 bytes data/ppo/policies/learner#1.pth | Bin 5090 -> 5090 bytes data/ppo/policies/learner#2.pth | Bin 0 -> 5090 bytes data/ppo/policies/learner#3.pth | Bin 0 -> 5090 bytes data/ppo/policies/learner#4.pth | Bin 0 -> 5090 bytes data/ppo/policies/learner#5.pth | Bin 0 -> 5090 bytes data/ppo/policies/learner#6.pth | Bin 0 -> 5090 bytes data/ppo/policies/learner#7.pth | Bin 0 -> 5090 bytes data/ppo/stats.txt | 42 ++++++++++++++++++++++ data/ppo/trajectories/best_rollout#0.pkl | Bin 10309 -> 10309 bytes data/ppo/trajectories/best_rollout#1.pkl | Bin 19013 -> 10309 bytes data/ppo/trajectories/best_rollout#2.pkl | Bin 0 -> 10309 bytes data/ppo/trajectories/best_rollout#3.pkl | Bin 0 -> 10309 bytes data/ppo/trajectories/best_rollout#4.pkl | Bin 0 -> 10309 bytes data/ppo/trajectories/best_rollout#5.pkl | Bin 0 -> 10309 bytes data/ppo/trajectories/best_rollout#6.pkl | Bin 0 -> 10309 bytes data/ppo/trajectories/best_rollout#7.pkl | Bin 0 -> 10309 bytes data/ppo/trajectories/worst_rollout#0.pkl | Bin 10316 -> 10316 bytes data/ppo/trajectories/worst_rollout#1.pkl | Bin 19020 -> 10316 bytes data/ppo/trajectories/worst_rollout#2.pkl | Bin 0 -> 10316 bytes data/ppo/trajectories/worst_rollout#3.pkl | Bin 0 -> 10316 bytes data/ppo/trajectories/worst_rollout#4.pkl | Bin 0 -> 10316 bytes data/ppo/trajectories/worst_rollout#5.pkl | Bin 0 -> 10316 bytes data/ppo/trajectories/worst_rollout#6.pkl | Bin 0 -> 10316 bytes data/ppo/trajectories/worst_rollout#7.pkl | Bin 0 -> 10316 bytes learning/autopilot.py | 20 ++++------- learning/ppo.py | 8 +++-- simulation/jsbsim_simulator.py | 12 ++++--- simulation/mdp.py | 25 +++++++++---- simulation/simulate.py | 13 +++++-- waypoints.csv | 2 +- 31 files changed, 91 insertions(+), 31 deletions(-) create mode 100644 data/ppo/policies/learner#2.pth create mode 100644 data/ppo/policies/learner#3.pth create mode 100644 data/ppo/policies/learner#4.pth create mode 100644 data/ppo/policies/learner#5.pth create mode 100644 data/ppo/policies/learner#6.pth create mode 100644 data/ppo/policies/learner#7.pth create mode 100644 data/ppo/trajectories/best_rollout#2.pkl create mode 100644 data/ppo/trajectories/best_rollout#3.pkl create mode 100644 data/ppo/trajectories/best_rollout#4.pkl create mode 100644 data/ppo/trajectories/best_rollout#5.pkl create mode 100644 data/ppo/trajectories/best_rollout#6.pkl create mode 100644 data/ppo/trajectories/best_rollout#7.pkl create mode 100644 data/ppo/trajectories/worst_rollout#2.pkl create mode 100644 data/ppo/trajectories/worst_rollout#3.pkl create mode 100644 data/ppo/trajectories/worst_rollout#4.pkl create mode 100644 data/ppo/trajectories/worst_rollout#5.pkl create mode 100644 data/ppo/trajectories/worst_rollout#6.pkl create mode 100644 data/ppo/trajectories/worst_rollout#7.pkl diff --git a/data/ppo/policies/learner#0.pth b/data/ppo/policies/learner#0.pth index 23acc1c55e3a16da23536149d24bebd23e61d816..3fda8db9f661fc0bce4028907c337fbe6b749fab 100644 GIT binary patch delta 133 zcmaE){z!d86+25vVqV7PMs_(Su1tmUpa@O|h6v8d0)jG9!VKyRIjM<7d8tLp2Kq^r zC8_yEDXB$nPRf%L1>`4x;AGvzHI-f3#LUpp(%js@$impr#N5=x*up5lo1Np{mgKdQ cHwa2_!cCogQ818k#b#w8c}5nntefy0055ST&;S4c delta 133 zcmaE){z!d86+3%yW_oUZX3FL|b~z?4tNE|qL~}AQL~~9S5R{P;W>8_sNlh%uOD$41 z&`+u?NzE@xNiA}7Qka}5Aiwz^=X7>yb3-F@10y3t17kxILqijDV{_vGZ+4E9zF%yU cHwa2_!i}7KQ818k^=4%uc}5nntefy001G!M$p8QV diff --git a/data/ppo/policies/learner#1.pth b/data/ppo/policies/learner#1.pth index 954b03ffcff25d3c09f31ebbfe36132c57025e0e..adfa13da066277914a7e05abb7ba995b45db06e3 100644 GIT binary patch delta 195 zcmaE){z!d86+25vVqV7PMs_(Su1tmUpa@O|h6v8d0)jG9!VKyRIjM<7d8tLphWbgB zC8_yEDXB$nPRf%L1>`4x;AGvz)xf5kQ7CK2y31})aP6%<=TGqLQIX8rmwGU1Utw|N zKECxy`vSb#IVN*zFe)%GFepss7nGfRO5n7#iJ76HrMa1nrGc@zrHL6x;q6zs llP7Nwl;DKBW%5PAK*kl5m4z0ufJ~WuQmB#ztjbMz4glM3KSTfk delta 195 zcmaE){z!d86+3%yW_oUZX3FL|b~z?4tNE|qL~}AQL~~9S5R{P;W>8_sNlh%uOD$41 z)K97`NzE@xNiA}7Qka}5Aiwz^XA_(5bbd>F>FqD}8EoX(FDUU~pML0?{hISP+ZWwC zVW01~)IPwQouk6zXq*BA1B1e3enHvErvy$*n;ROL8yFcGn3$QFm>C#b7+Y9?6zYAp liJrVcP=XWgkjWPX0~uFORu)>s0y1UtNuf#>uqrpW+vjF1R8J`s6vjczp56yLFOIY4w#O_ne$b?){hhefPV|-0Em< zcR|R{7dn(ep}$~gs%>ianDC^8>Z&Ell}4nhkFd;F)_04$mK{eWrdd*NB~pgwl*BF5 zRdwtqF47>SnXaxHA_(I*Ku#lc3&W+)^w%I6-=0dNy zg1>dc)lEeaag7M#a_F6gJ`xnj1BrJ`jjwD_?SzuFH3eDLN(cJV=>6n=?b=yef7&)c z9!%PFN2yI2h8Kg_K;eA3FKMl{Y#Nw34y2Cf$VDBRlm^{J3h6|h1B0m9V0m~)Gu3EN z*EmXC#XKe8TxvK(F7z9E7>3g3B6;L#o7<%vMoovy1Bj{Ps;;IaF!7v>5wvxrJSeNx zOLZQ#C}zkEOHKHLcxI!h*=ROq9n37JE#VkycRm|%E-x5MD=!GhIk+1^7}rsN1{R-c zi}TnI1hDePH^PMhl-q*3Q}2rcavt_>(DXXw!UP^dNx8b=h>EQdprX1G{_OJqD_g_y27FcnQiI4zolf+&P&plJ)EyQ2kZ zm>$hZ!weSWQWq|hpo#^V*$lHJn4Lmw;zUp{gy+GWG|ZLYa>Vq01!CHcqQd!zsdXM= za=a2TwarINRtpf*Of_QaScsSgB*X@J5n_Y57_o6%LZ>^PgSDFKrfkiDtD*&RAB@OK zxnAW`TuJ9#ZOWtzfokY$vDD=jR-Mq|m}OT>;8|xna5cfOjMC4i8q}z1xJH8IsHWY- zuhX!qU0Z||XgsQE0!4yrVF44hz_6YOw;T~2U{6TFJD zpqoiUjcd@b5y>rx(z6;7O4dlQ7S*5?C_&I)FTo8cgEb6|h)kAsjc}t6$@&1A;0cYh zvH{BtPo0~HZu5z5Z)Uo^g-I^$LX!l|OmZ#Fuu+0rkx#BPN*Hd#QSx2bM5CnPb|Tu% zEW#Zw+$q6bEW(y%*eb!@ZKA!0ae8kW?vvnt&gnMJ=>s08+c~EXa!w!OobKS9KFm4Y z$vJ(5bNVRf^fAuq;|PlsEsf@9$b5p5`J@C-Q8L#NGIvR^+at3Sp6*gOi&Ybe@C>GV zPb2L0(fuqJ&T|apzBKHY;CT-61rG8>59CW6Yb;)29IMt%8YxE!l?35? zx*0KRBL+XrnNc+5A!ffy z@EbKNsgCx{*NYn@xtAc2r@GT~+CX8P@0=D}<7yT;F-5Azv^%Kz&TRfyLw8+6BiYi^ zP7Nh{B6&K`)?b+F%SKLxlY)_|ivN!OP;P) z3^9Af2t}&$_=<6c!T#TMmyGk4A%8XP#DBKP)73bS&K~D*q-x~9>L={!TR5cFjzp_`wh+4y!tUrYZCD0(7NHKFT-nVpZl1S`YAicm#m zu(Yx~7%C4>nH&xW%cg`vmF4B7lPfAip^CDyvS2ys<)34VW(RN&$x|K8A)U?K-1yH5 z3ENm?eE|H$z6z7cHz^9=bt%WWC!ps2K_y6{5Dwh2Vh5rY;V8B+I!E%_a|O@ z>K)4V_6wxFcMyMOd55#T{ew^LJ-o87oi~?Mw!42+ialTaR*0i{$xpAB>S$ix1nxC5 rcVfn$TqKav_IsFIcHnY=_YnKhruBTVNON_x2RXc9pPmA-XSV+UrNt>T literal 0 HcmV?d00001 diff --git a/data/ppo/policies/learner#3.pth b/data/ppo/policies/learner#3.pth new file mode 100644 index 0000000000000000000000000000000000000000..e464109d3fc98cc210fed33503d4fb3c43b5c846 GIT binary patch literal 5090 zcmeHLS#;D?7@krnB~X?kJJbRqQ-yYB3SE>%3k>KWlmHT`5HmArZzN6TPcki_MNp?L zDlRDC2BLz3qT-Gybw^ZO5O>9;=#%I8=JD0Lb&^hL^_3&{oO>q8{g?ZF_q)s7>PU8P zpD#Dp*QMn92K#hXu?*FkSXvTS9Hlt1Mh{mF@U8TejlE)yX~j^nVHDS!@uaTW#WB-x z6b<_cOI1j!hNCIE0KTG4kktge{1Qp#SlB`{>L9yS>W|;$gkmZ6s-s#q^p3?$T~}j{ zW*WAz*ov!`8lS7h90B?iiI77B$kAkNEwS#4$j4l142fcxhMd4(HQT{?J8WcIb)a8N z#_yW$Xof5c_=^C-D(Ihr0V3o{Ly31(iLGf=thk)8R2iA(8XE@E=!2v|o!VL3VA?iB z8cy0YTdqy&x*LPoK>i|WAZe{NEgG0P4yBIgNu#?o$&H$WWYUQ`8-`J{;nLWyW{TdZ zth42qf_aL=2x>S|%J&+&7)H_N(Ne(~n>(c(Lrup@Lx`#ED2^(}G4Y&?akRBS8kW)O zraGTm6f$JGsl>fOT(j}iYyumzE@r0Pk#HilyMPTimlsT;A20MvS-2YknA}x>Iu@T| z2@BZ|__6Yen&2Wo%5FuysrSWxDF=Hus#+a#Uql&{@hp3J~Dk4ocbBHkL?2DDtNRrAs2dNM0nb z8K&W%tY(W2sB6>~ma=VU`^=j%S@=!!-oMN=iSUYEYx3;93z@p_)z; zzfQ%fb}Ru_qasw(46+EJ`13ET!|-;%%RhBEb6?_t7T!z=Qi3$NeG0{ZR@&7U4L@{RzkYsf+tFj{9?t`vk}R z1;>4oRukQ`7AINZC6j!cUaFqlCSmMfioXmrR@eO3m6uI8Dv6h}mx< z{7%h^t0R4LwZcYG>gV&3THWnAZK!Xu=bRQ@=cpz*F@>upb~>ne&TQUCU2_~=CD~Fl zPmdydBB|YH8|<6m$wp3vC4q2N#eYfVO`Cqk$W`6CF8tx)UC$$~l zl4{GE(0*j)e5)<8ZAV+qwmof2V0#k0Pwqn8vJam=T>td>A~S$@F&ON6O;nBF)v2KIHI*efs){J+u7>wr?oj literal 0 HcmV?d00001 diff --git a/data/ppo/policies/learner#4.pth b/data/ppo/policies/learner#4.pth new file mode 100644 index 0000000000000000000000000000000000000000..f44bc6b64391eb9b937deb61f47767b4aa52c9ab GIT binary patch literal 5090 zcmeHLS#;D?7)~ja5-3X%WVe9GpipK8x+#bbFd&1aq#zN5kj|vNv1u}YlA(YWL7ld^ ziyOEg?x3g$F1Quk5O+~=1sBjK&+*L%k1yV>lXOa}uN=AO4=N$gl21rIeOd`q1Pk{@@N31CRJNYta~F;nJyld2WeWPk8l%%aG$g=7k=ue{$kOy>VXKe#%+aP%; zY1190Hf0!I3}OR?m2!X5T5H)fFmoJC9nX?SbZSx>br&h56Lk&@p=LwnQJu|HqfuSw zC~+0@lz_9T;V`+-Z|GqdPMb%_V@}!JA>~MFI!YcyOdVHsH6?+G=VXkgtz+aNS*>2G zbEriTLuOcN!XLyl8%xc`u`%mpW;yK%$5Xp=*?@C-!30`)UO>*l-3Y?O&H^;B_*7e5 z$bKMzl{cvg&JUp6R@9SvUl5S=T*C7`s^AJkP)eT2fY>fy7%b;D8B24MR1k22^ zY-LSYgyKLz?u~;wctWUk8cby_ViW^(t68N8LEi0Q}w4xal30BJmI6axcRPlHTb3omks-Ytlf|||(Q*oEpsAPQ-C2iqS5#m^4 zi6+o|6079|*D-=o8gvP+<^wHKy2GC?rXq=Tz zSZ;XgTu*eHPjq_&)9sB+a%mTuC1_!iYi)te65ND*a-~tia5IjQ@4_uKN*Zn@qP>kp zxZQ<2B)F4B*wO-bNpN?&XzyX1-kXN|B-qM1-Nre+-{bTF&gp}k(}y^x+c~EXb53_~ zP9Nc%KFT?LjC1-p!Xib>V)+>|pP*zuDZx{e%ngLhof7Qw$eadGcPpGFs)tb8VC702l)mE`6dV1 zmH~Hwf;%X|TNK=G0`6@I-toXqhj-&_=_A_%+58iD%eD0yyn^CQn;rplGi9Y5vC^^| zRHKS4rE}NfZJ&@L!h0C^p(c3Whx;(c{Q<-MVH!S?;A4*a6OQ{+5BFyr_vak<5sv!{ zj{8fF`zwz7D98OZ$Nde*{VkpT4&F;Or9n+5$*JT!dLSTcEM8$8tJX~#DMtwv2jP3V z88K_427Z_~YeeaZ-$%`!l40){W$(BIKT`G%5%zwP;AhHSDr5EwH9H}}Notlu%zl;N zH)>W~73-a^7d1+9A3-2bRhQ?q!NNq}Ijv@$t6Aj46pf7Ua8UD|+5E4D?z)CXvZZI9 z98UH`@^qbTpfJOijhqUn2BVSk|B}j|HuH{?ohfG+IK#kc#sFC{j_=BY{rD71p6*r* zF?+=bMI(89#W>Ai|L?j>#(B%IKbv>pKU?JKZk)$uk8?O08S^hYLs|XES?cPoZSy04 zwH^CgY0EoO-Ig2Q+qP|A-T`sX&Nh<&pfF)?5oVq|UFRPpjP>PTLoNX<&e&1Zf^W%1#%70 zv2?!2$@cf}{^TyiD?9P&!}HIaFR}yp7lVPGH+~x``U9{dL$|3EKgTgQ~z_eAMT3|p2p#+c!LQH4U-bk9vpJXVYRY0dL zE~vOKEQ%s1DkutW#SKIh6*t^)0etct-+cFOoupG*edWkKCufp-|K)z){q8ciI+okr z=PM}ibtuKYBA>1*mZ4guQzj-9M+qcX>d~s+zNMbBu3OwOtvCu8MxfqIq;%B|#7)Cd zH0&oVR3W7rj;81W_{Ob=oJQ#8mq;?l!WNoQ2e~a$FZ?Yh6-%jC9o4d-dpvIHx*B&h z)3Am4RzkJZ#7r&j2+(7k2zfMsT$8G;CD!?fR2E3XNEE{~E44`HMrQsdT6um)N zW6N;`^OS%=)Nrs=>@{>T457_KrIF`sZkKWxH61SXBc`^aII5h$#B(x6(AJUCfUH(G z)hKFF!jS2vlJEv`%|=tRF>K5_n3;B4!cuB?F&l6$FSvwOUh0=}a5sW5wxa-bEI!2& z=CU8~W95x&gv@NoR5StMv}hs(>8D@$wD}~s^iK3ne&x6@%m?Oe9i0S=W#Izkl#q$tT>s-X- zcpYMDn}?XJ<|C$=YQ)sB05J`Shz;^W#0GH@V&k@$PIo*9YgNTbS*i`!#|ow17?GKB z+{z`mlFqr>ltC8)Mc3A1sY@-aI-$lf%Z{4Bv(B*L27+NJrJqkVSf-@mMiG{yW$h+@ zor+cMSOTm-d7Yh)_ z5=%6K>XBG2C%BFgjMAWqa5E=(B_~*S39jb^8=PR16P)A(11H$x1lycohZCIQ1h1kj zXhu?3;wm(3L{bZ)^sGjNk~Jc%Ma$3%lpyGD5#d&p!5W4}L?+8^jc~gM$vQt8?+T5x zvL4F~Pn``!w*^GEcQD=F$t0I{ph<*gCb^bo*eJqX$Rk%8B@B1tC26vj~e6Er}Im$b62Hxl@GaDVetsGIxov+a+@nywIg^7AXc2;6+UL zoMEKAJHyJ*Pv!#!04`lOC;4RnEYVZn*H*IKs zD~|hXj{6&q`&*9tJC6G#$NfE>{x;rARk>bCCdsMf2YMhNYb;)2Y_rx$>M2_e1%mJ+ z-He#EUIRbPt{fUU{pau*6Ef`mOxZgn!Y`D)BZR$QMfi=fm&%y^PR&k>aE6-Y5VNx) z{6WnE)v^2nt)xMedis3isqXZg*55bQb55&Se8o7=VE^yBOU8Ng;J=%;<3C&E>1v$EWRG(=S~c=tc7}jFyR!7;k=A1y zN)H|0w54^{^vc$w+YYpj+CTNs{GB^mN&e&0_nj@l%#)|{{QZ2RJ^5FWO90b|R*mSo z1Cs=j;l$Ru#ocgp@^qe|#255r2++;XRxNzHp{=EV24pP}ts38T!pzRcUV;_jV0oy# zA~>m{EEp;aN2Y|s!O4+OsG=+qiA*UAMnV;l@?eDYa`B*soqpUy@>IuiNM|!QH{P=X zxdv!oI^N@C`+IkPau?#3UHJ6j`e)7;*#W$ZL6Pf?-v$ca0PM(+?d_FVd+#~;{=`jB zy+hgFUV*gt4&u)&?{K!acks!*hgin39N*H?BeWbvklO+(TZOW_g_bIa7Ff{5(gu(SLQHqlzDSzvKgm)+i=b=| zZ}C1rypSp)Dk7*9Ps9TiZ&6f0XPj}yZ+_JAUEQQxTK&q%o5^hQ-v4;N-}}8|Uv(ri z%je6@^>r(SzJWenRV+ib#+OZwDUMPSU#W*H^L&f_aL;+0<~DROmHyF$|~8Bcw5>Z0?eBBsCo+4I-wtqd2M@!^CqkM$^_Y(vY-P zH`O`RqKF~WO(o_H;+l=6X5-kHbu%;V&V=Ks-MMVQxxC;!T6w--%D~+Sz=ZAs)Uo&! zOPJ4oz>k$z+yoc+QD!U3qTUz!rEKiosA~1dfr&hXoNzSV7Gz5$LcucV)T98DdN9E< zvrS806%wGt@0W6LP#aGOrCx=}%tZ)efX+fzDL{aCJ1Avh+h{xip~xQ&l-5Lik%CA; zGfcrh8O<=YjdrxmfpQV1wbGA@7Pv@+izPf`eYKim!*nzW;k0Nn3ZNjOfo9Z1+9L%? zxFnL1gqbYJr4C#sLM00_s|99@Feic7#0jH3gy+HBB+L`xa>Vq01!CHcpu#G|)H)wA zIbMmF+Nuzf)dIvcQ;nE9Y7o2$|)uufH+gr(YWRir@5$B4{? z<5n)gm2}S4B@DU{D7v;5OI>PZ)iE`SS$5PIo^^%|R}&0NDgAt^!7?QY*NCtjE$cGz z>s733#}Z%#Dn`qiK^Ea!sQ{-ZGngtKFJU$)ZHZbsQbDNgE-(dmX_Z3OCqY!_FBTw* zB^GM})g!SwPH;UV7$rdy;W|$6N=~ru65PNEHaNj1CpgXt22QZW3AQ=G4ktLl30_56 z(2TgQL{(^PLsBcE^sGjNk~Jc%Ma$3%6eH-b7vTn!!Wx1mL?+9+Cb-dqWW66vbcM!Q z*?{GSr_N18x4A^OH#6OCWRgod&@4g=lU!>Hw25#F^2n7&3Bj#6O0EO9(I`o{orv}h z7U50@?h@f{7GYBh+#|xhoua*uae99e9uVO{&gny((}!J7AK{!n$~oQ4Io-lJeT;Lu zm2>(y=ky8A>64t(rw|q?S`x`kk@++wbDIdyP%_sMGPjG+?vhyw&-N;uMT&t0cn;IO zqY0k((7lrj=LH6GR}x+n;Uy08We#$;3-T2Xat{ajDhIijgWShKzQ#em&OyGxLGI@u zJ5t~dP;hUG@D>HPgMfQmgm+wUQ{dewTl&cMKsNsv-f}Ii7O$Xq)22rN%}AIDTc|Rv z21TzXOX-}|c-tqW2=E@peXt4M_uxLnaeu&Yf0%@iMEIEFKFo1{;^O|4^}} zHzQ`P*TVO6XO1X4@%yM*lTz&cK-oJc!jF`_gM_`GMEIGqmq?i%r)DQaI7!Vih}kb9 z{7TJAsv|kMT2Z4Y<@tQ%sqXQdHrO}8b55&WcU4SVq^mOQt;?|p|l`qtDR*mitp2g$#G_vZW}%shE|&OgXE){}n~xdbqcaOLRU zJ5VZ+3`e%qFYbe*lc(nlMZSP1LkZpdY}LZI8`@g>XF%3s;mV1?KeU3QP-5 zs|b`GPg34+1KaG z&h~XHxxS%3T~#bYwI&r$k138)5UHP}Cv>idY6^N;|95Fdw ziJ00d5R=ss#57Zhm^zjsrU4PLL0*Q~ATCF2+^Xnw$8)e&Rh)#S+Hh4QM;e3?nF+`J zxB`EqbFMaF(1k$JwRKqPQXBgmQ=^z=M~&fGXV`Ex!LX9j&!-wxD@nLUgjJ}z%fzo! zv8o+QfYoRUs%`;UglnZ7oSw{Js(8GF*`Ty1YUoG>p{BdQ6x^jog{)74sFqg=5XBOU zHG}GrSS=^GjuDKKpowrDC%B#yth)p^aDoj^u*nIIbAo{rY;l5ZPO!rXPH=)7DGQnr z*OjOWP3=f(LzJF1h)}XtgmtJItwu3|{(2E^Kq;&tXhvkR+}I2^d62C4qp7aYI4c{l z-0;-7ndml~==K(-+gq9Bk`A7$&}Eu7P>oYTiRr`tHE zk8@6+;G90mIeiLYk)jom>=c<#Q!<|s;aN)NjfBkYBJ6OE784 zFL>yFkqhS~269&tUKU|D2l)yI`Kk+Y4+puIgM5vH+{Zz_&OyGxLB7dBzQsYl%|Ujg z!0o5t4v6p$1-Fxcdsl>mF1Q)+UX(3;WP2c+e++NAmR5sTP`qi=BYe!$mV*TWI7&Ao zX06x2kBjDvDLV1{xcSpk?EOU9J0`-sCmw8-bYZlCw{a zCVL{OJ!c#0o8`$yPKDD0;j)tdlFFMl^^B99EoT`x%fK1N09i4P?Z|?C_!LWOZ!3n7 zzG4K!Wm$a1IKyE7@48FIdE=uU^T?|G zt$!Wp*m7!5$HarjJIa^0?Vq>lPzT9BIoUQhA2UyC&-sV>CV28Ul1l*72$zlTy#s{; z$#7(AT~!|(oz$K)fcp!BE#5KaCW;0oait-P{(M?(Q9xeAgF0<>F{=^3&_3GLn@wm3!r7PD}Zd miv&_Se-GoiN6J3lL+nSJ*7Lz4&6SaU&}M0RVG#a2RTA-VUm%3{@y0;K|iNJF&+9U&G`rUm-v%=vNVne(3a%-bH(9&x@3 zv${~dX}-Mk$E?&s%-KBJW9x_o#$s7u>IgRnbt?9+V$OC7R)B}7s@bIRFXPWlqHeq7 z>Jv9yhIJ9#i%)3x>jaz%9*4=Qo8s(5bW1a*%0+#l&K!6@A$A1C8@{HDVun~6P9PDFfb z6TkFG0S~dc35*79M+^ zfeZSCDCf{E>cba2TB)(sCzOXEnU13DYK!2_{>q@^CxmE8mJu&(YNpG=+d)c~0EKh7 zphT{P*-SN{%DE`CHV4j6kbnH{4bIzwk#t!I^;0wBsc%YbV z9n{RO8!*01tRLRYgSWS7sQ${ez|GJ_&0nCDv#7q^vI1ptS*%R%qWVhL&;7$c4x#UE zG17Bn4Q*Et3_V-;Y5{n`>a+e0bic~)qu_mCX zh-@Y(2(4fd9KmWuP{Ykluwo(zT5P2*I0C|yZ4inJjYxt1IdguTdFIS}<~%JCEfIya zOioeVrrBZ=GdU^&)5WSLO}@dJ$zWJBRS_P`RB6l^MN{_-9Ggxd+Ts#1>1P_<#ca=} zk&o{&$EXX~_~BCYG}Z_>cPexf!i!|LO&A^X$N)`Qt*|PomKac+#wPkcNcuEE8qPZ@ zX!v9#yxOlqZs|8by1s)>9X?IIW`xsAeWoGnyH?o7X(0a24W%|aEXRBns5R*qvJ_xw z%s}+x)o{%{C0?+*i!M{AlX0JKq8Ag>aA)2_C>wu8aKn1F%_-KvbGT3QN9aj#)WtyX z?x>RuV>NIj~Fqz?o8{YJtFGok3i zUaDbHr*?P01?ePJjB1nij==U?J@EC28F|3bnSRg~fD7FdgSb@*;Ma!7xHc^ZYQ|nP zZGW6YYfk49q3(os-P?XB8t8@VWoG0kdsI8MqDMkBx&_%Tj0F{<${+$~T11|`Ggq8XYRp0GT%{YJrZeT_9suJ%07}0G^dv0(GoM;K{*YTtD4H9Wyvf1K4+UKEu95*OWbC zh8B|dy`mKat8N9jA1}uF=d1A(6c;9Z>jt6=hN;Fw9Gy7uACmI>LVuF!Lv-6Yplkd* z@|WT;Vq&k7YUy&vo(dIsOYlB8d2BJHxl(MS*C32LQA?Kpq|{qd-h|d~849#3CvVKmViw{Y%D{Vp$Eb z%=>q88H}CW`FCk`3Q*)f5F-7^6kf9XENJpA)>c=)gpy<*tw4ST5cwu;&e~3JcKIMx zvn>YLgxW)M@jaNA%*WOGB5h5vHM|#m2TsdZffDZ$&~EPtw-iN#(b{ZEAFKk$-$aA# zA#32&l1pt;7K7?!gLbA_fUa>G@ta$=0mI>E3Ow7~AGO2)ppMH2tmk&{-^TA@d%|^m zPv?33oUvSM@Zmt-brNKyFu>3!2RLo!k6Z^G0q?#eH60ZON=$x8z;30E_?LosHch#0 zG~prRGLTQ41h&Jr(CP;})NXbY-;tvR;}-9M)2I-IT?qkBxpjDte!&EojYnxdA5YB3 zvJfSk!BDd2Nc)w9`Vj;7-AkFe&4tN4}w0pM9U Axc~qF diff --git a/data/ppo/trajectories/best_rollout#1.pkl b/data/ppo/trajectories/best_rollout#1.pkl index 2520b3f38e85d47ea5613f3528c550c356997882..7bbe71bc1c6c1b51ee818fc158eb97cabcaef96d 100644 GIT binary patch delta 1369 zcmZ8hX;70#82%y?U#G*YZ!L$DTwdSKPzumqgpaIjn- zOu!-(gb^i092FeMw?Qt8Ok1H=QKyzF76;4W$>CI*U}to?JNx6^edc-J_u1X2w~W;r zRa|GnWgkglZxs__ixO3+$q4I6ipBfrt-EpRkrd8iKzp(5Om?o7j+n9t!jwfvh1=3c zSqqB(fj4ma)hDFoxqU(Q<5x9#ZA*i?c3Fv3_kR-p)>5FE8!`Z{gGy8%(nvk`+=RuC zZo#7;fsC0K08OyHW#K;VgGua8h;+&y0tx-6xK@TPQ z^}ujJ6M1ZRB4D{$gSHHraQH%@0+_WBfVWVK%Z(R;Ea!*eKx+Y|G~b1z)hr|p8ibnD z^JJHSKTK>b1g?#hLfhOz@SUF{*nTJ%-y987SLBG{-eU>W*#|lJ`r$WlEbkFK|H^`@ z`Rp!GWyS)@OLm99Su%KC-AB6poP-Z-uT@*R3^OmdcGQ9MigS3K(-Zjm*)-%gc~bQ# z6;Ex=0?(EC9hp`Upw#RJnVAubIsAIHuhj}952z+X2bGxLbq7}DzJvNc(bWFQ2Hc!_ z3J5P{x0lUOfTO-azJB73dr!7@++RJwRBh{_zVJ-Y6vPWqK&&b1`8EIHGQE3zYCn4mCVlqA4oY0}J0c zbo{R70cVgMw6kb{@#?o#ht3D0*%m9R`P(GCEM*Ont>PkgRT-81hX>LKB>-4>0#Rmu z`^;QFv^Fz<-b@T*bT}9(r0S61^q0F~o@XO@aSIQL0#8$6$%*82dKe>}I|0&;k9Rnk z-hs2J)yziz7Eo4y6Q{PX4z6l;(g5Q|GS@m1&DK^@%ax5JZFdhPkJbXoD<1sP!8L4YiudTU= z_rDo|)|DQNudkGH&NjY2>fNuoEH}*Ol=|qK7_^nh;<*G7&(%F*Jr1#oZi(O+2*QGS z1YOJGDZG`Lu&=cYT(_}@yM`J-?`$FL$3Bcu8p8}tJ`LKMZjPqH>%j5E0?4nnXO=a( zBb!^{j8Shoquk>rs>@KpN{{o*4}OQ>ub1|LAJ^NUhBy_7Qd|V%k{zIHOn|`NY-V9X zimir>n7BeAnjve{ckLNaGrd6$_NG06<;^6BzE+D*NsO4YYW|Nh2T$pHQfjCJsua&$)91eC<7lJy^3#H=i{%( z(n74dbFn;c7IP-jLT)FWz}aJC*zeD|4O%`GOUHNaq0N;Mtv`$``h(tb!j_&0<1OLp zbmh`yc=^ipKI;Q~yaaxMzJWdhe_!u_0KX`)q0x>aNen$5&ehjB3~d&X_wg;Ai3qg) zP$@xhh>u6h3i@Kia@r`;%JxJ0|AUIxEP}+5ZhF%WgtjOfx;WBul`idCEtzgPeoRVi tb0p}4;ZF49NP*zLlPED;D-}UJc7Bi4_DMvE4cNNKP&=P#H)a>H{{lJgC)xl2 delta 2183 zcmZ8j3pABk8$KtwCp8=$6612tp)lttiSzBfzfa}TN&mq}naOA)(6rwccm%XT8t+uJ>Jg?-qH>F>dNf z4e^YKFcl9ON2Z@vxm=@3DI#p%X0hXcpN1F8*8(izIK#D1Bh03IF&&5B!v`rH&>(&g zPtnQ&CnDW|eg5gXxr&Y8+01@yMR+ER{;eFdJ9Ls+ml#L*nkoDksqrX0vEe@48m>XO zth^0Ey3+v(zNvpY7z&(L`C(5A4#8obZbR4dW+ts|BOyxI&g^s@f@@dwz@s+|3H#<- zpf~swxX5>HNZGv!Jmg--rP^CylyE&IA)}Z?h9Ks4?q?bU`rw*hU%}FFG2wKkA6Pn^ z0fCCvd-YyXYk_!cHa3#$4h?=vrS{k?r2}8hAwp%z40Z1TjF>+LS6MD44vW^n8P?Un z?b=Jn=xqczl#~cokJ>@W?*-KTvVX9|wA*;wxjd#Y?k3zghl{#0yor}DUO*4eY@j4+ zl16W}0XZ2RPU&x`{F%B(dtChIp7P54y$7|J2gOf zS2Z~Dk^@8hBB?iP_^juVvxLd6YPO?8h;GWYkkz$VA}esW0__>L2QEq>4N1fO*xs6} zI9Wo1w9dN}^bxXy1u4WdaT}}VWrplLW+8=1BEdVRg)&_IfV}fdsyW~;R!Ftr^_2+t zc<-a0a_cEOt}mhg^JDg;=a(q|st(#;mrnRcT?Pipk>HMzKjmj}6Wjl)1`kEIqUey5M8(8BP0AcF;JDl#1uyXoz;HSdUOt3m(q%dW({G}-kzmC zteFX~4JYHy?tSdcU3}CZHy43FiU`#^+AM#wJ%}WiQ7=_U>|k0e?!b%2DqC$Rok1}p z&#-m+U|z?n7+c~#>x@u?qNj}DRs^u~PFevsJ9o7+vWuBT`>%W&ct8s?oW6ps_X;$0EkA;YL?RvBPBv)Ek}vm4vA| zC2><&M?DL?B+M8sR#Xvt&5YSl{amcPYp(QRoV_rV{4zST;Y;y(=TmI1#*u}*IyQD(e^j;>ktga*87JSRL z`-$+LDl?=KLlf@&T6l6xk#vQBANHtwhP0Av0%bMTplWRn<)Qf}{Bc$yu_f;tR#jKD z8Q;P+M=zQ$6B|yopvQh?*!pe0K=pic<88?iI28O2tciV2?SA(w)Gk^`6kj>OmW~T? zKOYkm+I5Y15|N1WAHSe(f6N72dj3U)PnE`-A*~Xs6vO`LKO4nYbm}#A~hg* za724P>iOw8^|mex;Po1?+r%0n69<}mJ_~f7=fdU#=ID4=Klafp6R?l;;Orm?nlrKj zSe3Ha_C>J@+S<_?#m^hViX_><#NZid|K1v1yzK^j>-4dT8+=%#XN@X6`Y5HZb3mLz zA97e*l;h<<7i~(XMMr`gB`#0k>LFV?OJ0Fx$LqsNPfN5{UW?V^9oUY8ByE!~MzfRD z=|9~)sY|6tv7ejFQIL;jgWk$`a7#^*Mc0*BB5{*0?NXBjYy!LKV`a9e{j8v|T_p{K zwd%oILq~Z0pbRvdW`n}D+EAgRiHb$DY4cGvaJ{sJuFW<=<8dp1bzBZew)!1&o4*jf zE?ETpqbTZ3p9ht`%@oP^JA(?NZ|ROiU3joa7m310FstY+5UBITADHzorYJyY2AXdi zqP2H+fr&D1*P5!{h{szYN1MapX#b~rtNpD9SbE@U5godUq%S5Mqn(UWX}ymbbbClF zy(6cZ?u$#HO|z2dr1yK4Ev;;$gLkFSJ6vmN^Tl!bAPgVnU-XePZ=l15L6`zuX}XY;Y@CZ&niQJNH2(&J#HmOy{nlK=LOI*AK1<}R|A z*gGt=mDt+bE)v_>*@?yWa+#{y#ohOF$zcJ1`s8~|&Jf1`Zztvp9SlFG#^LZLGWUH~sCw>haxlCDQ5~)tifr*W=Dek`kzP*l= diff --git a/data/ppo/trajectories/best_rollout#2.pkl b/data/ppo/trajectories/best_rollout#2.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d165841cfd31ede2a6042b733171ca8a8615c0e3 GIT binary patch literal 10309 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 EUoHh03IG5A literal 0 HcmV?d00001 diff --git a/data/ppo/trajectories/best_rollout#5.pkl b/data/ppo/trajectories/best_rollout#5.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6d245e67d5d302461de1db9652ba054d72d8c595 GIT binary patch literal 10309 zcmeI2c~BEq9LJY45Qw58hX*Q%q9BGu0wLKeDpn(v(}IeaYe-52Hd(x|EojACJg~MM z?+eRlh1vm>>@K1d?5LGGMQ!U;JP@TFkb>1|t=%P{ArNQ!r{lhvH*fRyz3=b$KJPbq zJM(_AatB8MaB%_p6>q=|P-={LnjuTC&&t6A!l$YgxFR$=Lmw^U01M0|&ps6cf>d~x zL8T2%%fWSeBR9>UQRe9M>NH%FY0NUDEfa7tyP%+C4sF9ok5r^>-Hpiuo^ngnhkuRY$ahXVdQ;@`{tfI;`G@NS` zIZLUFagxFpOW>A8d?@fy2DLo+7`pZOTr#h%4)Py=8FB?`5W~wKrE9y2q(9ek&ZSn$ zz+Wfrk?ucQ45i(S0e^bAgQS-2KsOAIBmdm^H+0xDXVs>f!%xXX-URg8K^56j*9`eDc?!K>Aw#2P1yiF!D#07`9ZWUT6Tt^T z7ZJA(A>=Xnv1!WH6!Oa>dy$figG5J619Ww!6YQf+N1M2ZsiL~Q;LI9VlRY&JEUmwY zB=7TtRHjoVrSudrR7Rm??)9YW;$T?q!-Gu~Yti(tuTzE@+rbpaimLf91>o+4S|pp> z1yUn#R24?JkP5$iw7qsZWZWD8r?h&(w`5zCR z<0g3TTDbGkFxj;OnaC>62_$8D60%-#0?nP-R-M}Jiu$&2s9hap(CSN-h-i_TI^;PD zZW9)fxw;S0eMwCSFJK(lFgF{AkoP*5_y7P?-*mGvdcd2FuxOdD?VF8al@QK-c1)Txq=0PO5)U>F z@`GQLxPq73ogfKzTM9TfLpx*Bi4~U)6QQ$8iOTgJaFu@)@$8RLv(`w7k<>aU&TtxhTJ8mVugC&xKlg^l6xK^zy(DnWW1I-!jUjifT}YJF zKLi&{cw`dZ-$MGFk0RdYy=8r839tlM0xW@dmjH9VZ`+^pQ68Nf!qhjN@8E#vyC7O7 zwtc?$<|)`}i^tz16RGv&YUczpeD^joxjCN{|GsjD-#8vMrhE=L=kgfe!&KYxflJ1X;6pO-yk&zU9fm#if$|55r%l#b};Tiu-vo0NmcRmPb;JYM^mia**T=gyr09ASB^00cueVSTWPvX fdDdfxp4a{A-b8ah^Ey`U#N?OJb2tDq-aPg{rr`L; literal 0 HcmV?d00001 diff --git a/data/ppo/trajectories/best_rollout#6.pkl b/data/ppo/trajectories/best_rollout#6.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8a239359c11e8fc67ccf6fefce2671001969b0a3 GIT binary patch literal 10309 zcmeI2e^3)=8pk(40>&t!AcTUpRfJXxBuD_W@4mYMW9!0zR9Y*i0ZE1*W`qq3iqaFM zQtXdw6;COGh`+!JVy!(Dvb#{nQ!2SCo_JSl1!=8b?~2OxuFm=6c8%B&jWeB2``5lR z&%B%6_xV2W``Ksm?#%n7knSD`;^l=r()^Lp$P!Z_ZLs8<&G|+26itLNlgd`nhNxS@#7H5bYa7SocVT(i+Yo0b*kTMWf&IVA}TTj0sZDC9?G zW}7HCyNg_J&d;P@w%?Rf?h7RRm`KWFfji%46%xy=IhGt#L3xs6NJ$0d zwLUA0pOz_$&dpy|C{MN+O%{_eAvcSbQ=^_srQ|dLodRe|nMwtk z!c$03uZ3YR_l@S)AXth^v;jzjGukC3v?*U$gUB{+C+_g1o?d(y@&Siinf;G*4d@6WpS?>5f!()hMcUvG5M+Ui-VqB?A9Sp=3mw2S@t*luF5FOjW2(}g8n`3zH@ z{tIrrQj7jI!3)f;^=><}FA0Rd_Zr%}Zx{ASZ#=k=R>gMpZXmFXWcI{~+t`7ff5&VZ zU*i0lIe^G(0$~beTaRodsJd|y_YNw@7R5BQCB53kE-p3_!Fvp>QT{zvWx9^xXK`YQ zAp_Km>jH~g*2SH^YX*tuq+sJH9P8|yXI-{=Ex3DfEK%~KnO*bZd92|NQW#yCM=YPx zg#9Cy1AAN2wcFjb;M#vf!Ko%0_D#Cgde7F(=FPuENbi+#8o%is(90`Tv z|CkMWv}d(9+)kpSy6=GE-Ic)7vEM3r_c%t>)f0W=ws7r|$d%39i6c8IG%bwo9V%KTF<$yZ?c0K2Ow}IZ&D9N@;e3X* z|CyC&$r+8dTCp7K%TC2M^fxlfzwLvUmBG4ilRdcK)i>g;hbBYiCm#_D&IaN`->$a4 zF|8g{bQ{|9_I-%$zN=!oS3L`?3WT#98X&Og@mw9+h*@H&k5)MOJ&8+fx%@weYL%3hqeyIox-997nw>#SZr75v4;{;c~97GoZ%{|DRRTVGErK z2DuOLdv1H#4Y4GgdlPb_-d1oQH{nD87}NPv-ilWu0g-@6KqMd%5DAC`L;@lKk$^}* zBp?zH35Wzl0wMvCfJi_j@M{ndPB!Kgc%I4#KoG&6bg~ir*pm&FUZ-?@vhl@JlVHpx z89HIrVRk@q+4?*|!nFs6P}`dl+S{3ML$_VCEG4iJh$d0*%`GJp4@Y3fP?Ki)|Zc=Mhcv+>&N*v-xm z=GS;9qNYedBp?zH35W!KDFI=B?^|@yyNoXm5$s9(J9zB=uGZ_~T<`D0bqcQf2JjS@ zv7?;58dlAoJ~YVU|13#py1a|swtqXD`dvvv<-)n_%%dG_f9Oe8)^aQU>t!FXzjV!_ z|8GY?$S>9B^S|!n3vvW=onI4?Am{ulHdzY!`Xaq9z-59($%P1Kwq>We@rx47b%YRP zx^sl^`^7hfCQELnId^5IP|ak>HR^StE(1Cxa%7x3GFBBE7a0{76RC<(YogWa$QU*M zL!;6}MaITPt72!WW=0FMoVncRau`2D!BR+xFxiKdUyg-K{=$P1%|#uUvxs8}69294 z(9(JIP9hI0o}5)2Kll9{G!UfsQ5AdflCy;4Kgvjn1A&iB%B~u1|eL;z6!CYdF5MkwsOh{7)yOkI$wQQYM@6Ap9iv7amSTD901paQ_`o hS7<*zh{OBce>4zkzb`yaA*Din8SmqX2;=Qz{|}BVMm7Kd literal 0 HcmV?d00001 diff --git a/data/ppo/trajectories/best_rollout#7.pkl b/data/ppo/trajectories/best_rollout#7.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0bd3040f87cee46e9dd7f9208d3ca446edd6c4eb GIT binary patch literal 10309 zcmeI2c~BEq9LF~Z2?X%~IkYMWD#QblfQCT!icA1kC1Mr4iV-4-M#ClxHP&g-3Kq51 z;>AQqtw*J(L&vk4>nkiugN47 zlS>&*xw_b#LP~Ei3v*1`sfBt&UJj+5Wj2~}iljo47ZZ~$V0@UFnVNhp>E$#LstiUA zHO6^UNOs8PF>}PEcXkJ6%q=J+eMW}yDUv^$fQSGhpp+Ca1Fw|yEz8Yi!qVnadgCm! zFvFCmHEHuw^tqIf^b=*0LW=ayBs=ODw>mGKQ&vI-=zKSAr&=hjkzIvKIk1)OYsBpi20cX?w5;nA_-c1PLyhg8T?a!lch~G&jT5Vs z@&CtfYfurN>_Zuct*zL3QQWWf#@lf_{>$+ZVCZ$Bqtn>uNRWOU_JG=M%UJ!BBcVPa z8NSn1vEo8Kwy@6X@Xk+y|Gu;V-E(gXeuW$X1mhc!7JdUV+j0wgE{g z&xgYe=jyR}=eB{!{b-#PhvUciCFR|j z51(zU#~x1l7OYC}QS2`&LlO_q#4S6M!Pdo(kY&f3kc}xpI6B}O9o&jKcvmzLoD=t74f%LvQko+cA5L9ib-6V~w8 z(|zN*+J8gNAdP>0gcn~rffQVcL@}Q*bjG9#{4?SbU6;}YIbSeYu~H<0Gdmh#WNrj~ zlA>Y!i5L_;QYq6*rl5?un1v{Jn!-bQ!r^Qi*jY7CM@`d!Yks zGaLs51$Z*}8LKW0t9_e;+!aTFBft^h2yg^A0vrL307rl$z!BgGa0EC490861M}Q;1 z5#R`XCNW26{ad4Y-(1OIm8cz;o;9f3L|< zVa7d0za}A&s`k@0^LgmLZu9J^<2As7ZJl1gDH#HZ4Wq}86D^^w_i*J3Z*nB$xY?|(%7lupGAcX)9o|X=*aY}ec zQ#!gn_H5GfLt0>Mu2QIXrQ}?*jL3jX01uDG3e)L*lMO6eV$4g?a`rIB8%lxaiSzq zE{>PW#1ffw=n$z?JX8{&n2;co43!NL%OykP5}AaJ@>cbYB{58dY*!OJHrO|nU#^8q zq3nY;%|jiSyNGKE67#L@(k3$K-9+A0Jh`j5e(ndmXh6`}cU7FlOYRb`|0r!Ge(dp1 zAg?4CKy87zCQVz3Ws&cfkh)8_W<^Mwh1~D^j>PL+bJuWvXKjnBGMS%lNZ+4LYJ$%n x^xA#z4ujtW!j|K)t#!Q3&}G}>*M1ngSC6hnJMXiP)r1dQU&h!7Aa=fU?tkh@8HxY^ literal 0 HcmV?d00001 diff --git a/data/ppo/trajectories/worst_rollout#0.pkl b/data/ppo/trajectories/worst_rollout#0.pkl index d64f3b048c61606b9f2d1d1c1bdb15299f4de79d..31863d2ae68e2ee49561a76c793e6a2c028f6fa1 100644 GIT binary patch delta 1165 zcmXApc~DbV6vh(>TM%3jN?EEb32J2#13cl~d*5SGYy~285U3y-tkO|v2W3fVC$fkr zWetn0;!@BM_gJ=r6qAV2}>_2DDA7{Qf-*?XZ`hB?<^^n1sT+F@H)>s&#+c1w8MCEAo{cn_y(oEg;2nHhWI^$4joLfUHmklg9-|2u#@iqyneLk= zHPlT7@BJA*A<{r*To>LqUqu@>ZpWJzbkIxhUtpP9MJc@54C{MiKz=;f`o_Ib0_uCk zBx9x_={7eol&-25jtt@17eF$!CFrh;Wt)acyEl|oi?S1}k7LZAD!Jtbb zY}|UDc~bHT&Zyo=ulqI<&(6Jq4?Um42KUvp{a;P+l>HRRiNQmQQ~^4_M#X4#mEquy(D2RE&&)zw2!~ z;-B7DJsVfU=W+UIrY?dm7wJvAa<`m%WxpHP>RIf5<`hCZtm@4%jj*YM& z!yKiVmeEDu#8Riq48XHu9#c^qK!!ZB2kS>4GMVWO?f$jXIL^zybLL==dRA5gU0rRE z;AIn?5TRL5Mem2;(IpwEyvkRu`Pvh;ZjOWtm9%o#6$><(cet}M%Ce(5q!3=8)W2+Y z&0vTvt+&!M5*_i6wPdkkEk8VRua&3dk)ja#{^X}@&q#oyphxL2Gzk}pX753b3R844 z_-u@YZpw23*3-iyDf47B8HgTFrI6Vbu5i^nOZhs;4o0LN059I=fRjarAkV`W1v%C+ zD(eYQP|yQHj2^?bsW@`+pGs)3D+m<3)j(0554adqhsze6MdWvcJ5cqVqLF;Z;CN+RhY6Ga(*P7>W<}Try3RCQuREo!Mj$(&_5qu%g5Bu6BWATCrH@EcRCmb z4cM#EazXPy7r4CJ)?S;vya*408?ni43*qJ=@Fd)YpBosCyC1(Vo#0t=mQW&H#y_E} dy@a%qPjQx(k`8N|B{8X;(^1ZcS(($B{{Sjs2G#%o delta 1827 zcmYk7dpOkj7sqGDohU1edpAR3U1Gv~F7s8pa!qMTNov)w$|j1e=Qmh|S(h|ek_b^s zZP+m8`<;tQi%t3|mwtYzP@B+&XiKYp|NPD$=Q)3z=bZCAulIA_oqnBur!Ld=bFcU= zroSEO`a(OpnR?FN@NF7&8cl;P^fNaW9;JWccW1moPka7@lXjnWxvttQu~eBCfnqB# zbh?C7FN(m1d7h}CDpK;(u1f?t>rHK3(}T)J#7JBWxE^c=k5DA?=n-7jY6Kd zBjy@qHRDVub@9`w>3y#efBgt5RMH}%+VwzM%~CkNo!zqW@mmVZ$XnBlt04Gb)yRD<+exNZ)ox zY2mO3bvCUFRq|=rC6FL2)S5t7r5hMO5X#|gGk}stOBmy~6$$Rp#2Vs4s%TnMHi4a~ z&a1akNVy^o-WNtFQ`P9};P2osW$hfDw@cuW==;#cGLZ~^kcy*OE2$q_0j zfg8MN%tRe3 z?OlRLp2rhzB^R-#s}?v?yb0v$Pl7zgGGvwi6>{lJS#TBt280d#D-gRb7S-G&RAqQQx%Ke|Lcl&@`6c6|_kSAKAvp)AuT`2TCwiGZQ%Yn@?BNPG>VS!lFPts&ulZ0T8tN>-T_k_`OQV5 zzH=+LKdl9<+jBu=^6}EfwJ5k>Fg6pyTk*H^x z4|Gt|7QeTqVSYs%3G>Dp#IO1m5K;A5J|54NRX$2V7Zujv7w*l(djm^it#>$xG`|3^ zBpQer-3FLFlnG)?Pk_;67EErMmoJ@*mkE6MsQcRm>}+(2uyYC_>JOK4^;zc-`)`c= zS!`^!A{g7BYeTKslW51RPV3mO9Ww7-nRH40N~H!JVVR+l+RBKHp-dVrl=6pSK8z#e{#nVOH#vZVrR|E&_8L)K5 z0%!GRa8mc@z=4J3d@9yk2D6H1TMBRFz|bj5d^gM-)2?{Kx7unzA>sr19p4 zuf$FdRpIfQLbyUr7i~M0hoL&KXbnR)395ii zW<#@SRW$cf6TQFI2XcHpVSB~|S#!+}yUuyRSiS)EBs0+LkON-*m=5*+n?znwVW2o? z7T%zh0u-y`K|uFQDCgVaT`XIe$Y8>oK`JEe|D*nEB?aY0G>YohLtFkxQlZh3RKBpO zSrxG3-OeF6Lx!T^+Ih4#ihX?Cf2fHn=$2JF?kMY)2PIKQ9&4hexg(3#ZMQik}TmxP&E8Sk#iRh{aX> Xe7JCMvG_bpxYFW;;+NhUi}HT}XGkH3 diff --git a/data/ppo/trajectories/worst_rollout#1.pkl b/data/ppo/trajectories/worst_rollout#1.pkl index 2d831905bd9482732ba45318f355d017f6dcfa02..fd9424b37b2b682a8f13f31b5e19300e85e73cc9 100644 GIT binary patch delta 1426 zcmZ8hdo+}382`p?YKFBU2IHhutV_pGalB zlNUf1`h8;-R_4GGe{-Rk;a^%VD)MX+(K$Y%DvLs9MCe4FP*E;nFm z@GW@Ww+|a~FafO>T*X(h5U-{6o*=A|FE-blr!9Bv0=`9N8=X1Cee4Dp28^E7|gY| z#)~;hxWK^%)H)C%%S@ls9)_9qR+>lC-^E0|$KRfzBwbmy{!n%zXg4c@HZz}On0bEtdZX> zBZuOY;_`6@8%q^ae-DI;*A+F;VI8MCa{6MK-E1XPG@GC!PYdvOrPmm0+=dEtN6CJB zf6>=x48-f$C1k{C5arW(65WzI(orHGqP6hT@Xoj~8r@Wh>oq{eI{Z;vTF?p6k%a8F zpvX?_xX&`WKz@Z()E;EyPUhyS+Vv(>Vt*x^Ko+Bw`%dF|D&zKuceNlvrcW6No_UGQ zD6Dy71(l(iBH4*{Nc{qLi~2;FKua+UD)$i z&S2YMQk(7w!U$rHsB-N^m=#$JbyiuU312AjJ<9R+-XImIkZ@?Oe<7uPvjIz(5z{y5 zd!%&wDIM?8q8c7lVFnv>VN)z;^Ws7`9nP5T#KRaKg2eFV7GK*G;S)}7=2|?2IK$$} zflB~7i4}wBq@ysivW2=hV}s^HYwD40Db=P7qpGh%)UziaXn39Q?p6g5ijTlyA6Igw z_X;RqW<|02K4??YHp-@}jPATv4V+J`L38iqfULcBw2gvGjcDG$Rnys&o!}lAK9x>Y z4(7wD!x-g!AOk$sPM3r37g}iflWcIlEf02QDuBUGJ2XDLf{GNVp>bU}&`d`|E@&ff z(TI7&6%z|iD8Hi&C=gXt{oM)WC(|7|fH}6% zk`6zk&%{5oVgg!aw4u)ux;o=NJ=yaqgQ-L4Kh>A$3AGt>)zOrhRsK8H9H#Vk&TpDo z%hAkRjFiDApi-)U=P$=+padmeSx~+Ee5Cluv3naVG{zbfy z@O0)}i_rH|{CA3#eqQ|d?IMWj2R~}GATIlv5&Hf{{P+C-FUnswUli=`p!H%ok>US| u)f}VUEYRFp`2pa@6$p_iu_Z?RU5!@!`w}eGo0SSdMr{el088EZ+kXIS(MwtY delta 3246 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 N>czD%(USUF{Ric9n)Cnw diff --git a/data/ppo/trajectories/worst_rollout#2.pkl b/data/ppo/trajectories/worst_rollout#2.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b1ece6741d620b2e2c107427e6946e808c579755 GIT binary patch literal 10316 zcmeI2e^e7!7RQG`07F5<3K3aURskyl3BS$En;E2lMk=!6qM#U(EQw@+A%lwYBUPlJ zsI0VVyDD3DTZI;d1%CjU8NhZDg~+V%}mophFe3+ z2b)2#f`Gi0WJZ=!>M|7M?}l!Q2+ITuc8)(`m0-z^%FJv+7$deO3G2mjNbV@NFCuK@_Hv6N!nQ=I zWTR3mNo_{DUbHAnrOr~TBD6|UM2wpiM~FzmE{=FZ!@AW7G()ly!d@ecxn@BU4nuNQ zMZ|cy6({Fdtl_LCkc3klF>#cYlz3Akl&>R+Nkc~LY-hOzXXH{cXe1_y$#I0M+Ba5i zV|yTb^?W;a4P1{ki*_>PI|gk^4yn%ImJu2L)(f^ngkS%u(~_i4&AHx;^h~y9sd3%B zYiB5UjBD;&_4AJmm;MaD!%EK%;rY`yssF0mN zo4QnU3z*|fZgg=|%LFN0D{zoG9Uh0yj*9@-l@83?UsmDbn+s{B`k%njivrf)4`78pUCWW zC_z%I^P6kSVvys1XvdZxdIv1aeP~3Rj~m_c#^GgODL~V?Zg4E+M=-x%ir4t8X0|=K z4;LsdH(nv9B8}cBvFSbWpj%)tioF)l{XZ_iY6>T!E97UuzAgyO`6>}tXJ<3H-s=&Y zcA*Ua>ue;x_arvHQwEm)Cszh?2B}j_M*`9O?yM50c?3m|i%OP`r~|UQ@o^JreBr~ zzq$MrRx$SgGQCYeP4OwGsjBm>KRDb$RXg_qzblR?{zWPNWbsZWtofR3cXy_--05#{ zkW~wo_NX1cmQw~tZwqE-*u2p;>yj0Abl?+^aorgehwsJJ9n)LWOY1^%$drR9FqZP4OTV2odriv$$6Vy%VG zDCnFRSP7Rf@qM4Rt)5nmJ)N-${Pg?auXqAH0iFO)fG5Bc;0f>qcmg~Do&ZmPC%_Zn z3Gf7X0z3hpz^{t{cd~IeV%fkdF$8h_btfBcuRht3M23sao@@jxSP!@955jI6s%h_r z6UJvxJkWchSybBjcKXP!6y#>z9Q2Q0(o|YIOmFC1iZnNSpsU>7jrDsIL0R1@s{b5> zQY-Jm15XJc$RVhU&ZVF^EWx8vWk8eR5p1V;izKZURHrTmQ;d(OPi?BZSj;k@sROS zKa9rSPD181sKB3fdDOoaRD$NuPQuK4#dPL_C(r3%>JkobiMKj{lA{0^gmjv=|00>=*9*MdX4jA zI`G{(`t&4Ux@X6ET9nvCPZQcP1KZEjzZ8ai9Oemd`4xRL{oysXAcyPb^UDRAGA6&) zsI&BJfl*|*i@5{~5OE&P?N5ytut9L$ya!L{tuY>a2a9j?>MX57r(Lh$%9)b2s>pCp za}G@s**{F`A1VnA^A89M@t1^1gM*|}|3FDtKwz*`8Y&HD9|Q*ahX!&{UOiZ<@n$3B zdaT@n3-)E@*T}*p_BGq2nX3acRT)`>Gl}sm#b1e&y( zW8|O8XpLIev7roVNK7?GCeCP$G7mEvQd5nQso^qeEe~dl)p(I`rXnN1InPldacrfP zDc4u$RIJ?E+UJF>yXBmhDqK|_*M`SOEMl(x_eBjCYd84lp4ZTQ?s2SK$d#F~HZ~A9 Ie`xOi0hULI0RR91 literal 0 HcmV?d00001 diff --git a/data/ppo/trajectories/worst_rollout#3.pkl b/data/ppo/trajectories/worst_rollout#3.pkl new file mode 100644 index 0000000000000000000000000000000000000000..91ab5aacf724ee6f3c0827e16ae902a6b33103ef GIT binary patch literal 10316 zcmeI2dsGuw9>)^`0V6Mw<>>eWC~p<+7H& zEE#6Yah7kgMyX0p4M~1 zSJSSYSi&)`>9;zI9~LV3Kl~2O%45YzlyW#!G6rulrVVxc(jLRUKevb!-s0(hxcvgQ z{7oqlt4@i}uuthd{_3HveZ)Z)6kHTv@+v{YiVkR(9x2r?nN)>Yi6Y4PXTF2}vUWK0 z4|+)ld=K=U!Nv3TcQpNYY9Y93-+~YqPr$Bp6$nWyC#Pi=W2GBn$$u_*4imaBzy-TF z*d5gx*!469R5;w4)18$KW^V2U|Lw?wGWAmA<~>WKy-$u6`DBny=N>{2|2}vpD*zkF z+=6P{n?XEyES@R)6#O9D3SBqGz{@Qm+Rota)0gi}!g{g?$OjqSP%JfubKPVWZRrR&`^#l+`!MZJ*CD=$~5{gsYq2wXf~a{k%)^oElzp12&wqiM*m6E?&cLo4;fmORghTWj!r2#h~0hCfL3pGgSU4% z5#jyTAlk(XY=4MzeDDZA;1t|2rvW~0t^9$07HNwzz|>vFa#I^3;~7! zLx3T`5MT)WItb7w8`sUZw0`WuV$t<&CmWOAe6kT37V2X1WW&B=Hkx@i3M{_ePG0cO zAQB5*(66&{kcPq&q#}n4`hPnW?fK>};KQe_T}xE0B?~e)5%bczU_`-oEz8apj{Cj>`3yRuwbmJgqf;eO z5)%uwwsX*1(T+rY;U4nE!&OAX!Q*iE^Ae(YqL!Gly&1$*bI{t)3W(FPHRSWoGGsm? zMBTEBh%XD`NCoE@nCtlz-pset6>@`N#dlr0kmyISR1^Tv(wfsh>AZF6-qp}Lw-&fZ z?IQKrK%D&5Zg^(g`@rwo5x96to{lxG3o4NeP}IGHs9K+|TW!?^B&f7^@XKd!AL*Y%~7MN8QF$58h&2zZ%%qn4@UNecPqBs!fbQJxYO>SM~`s6gh61pJV|5D`B}6wD6{ z76@kx1pL{;z@XW}AOY1KA_}H1LLoiN_DZW#UuuSQjg+$K$-d6~8lJdBeP)j;rt-i> zs|?RUavhdw9N1iey0&KSKc5qn7%YxWB8xSNR2wTu~T`e5ja|7c;JlG zD0!8qM|1F%>E0a%aA>ox<^dtwLwz o(PgOp4~3X6PhRD4QFbpM-I+evPd|>7TF_}`l#L~e9zQttfAwF{e*gdg literal 0 HcmV?d00001 diff --git a/data/ppo/trajectories/worst_rollout#4.pkl b/data/ppo/trajectories/worst_rollout#4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..64780ede4f3d642cbcaadb80698c1beb200bc0f2 GIT binary patch literal 10316 zcmeI2e^3)=8pk*CLkNN`2oj}MsmL#dBxoRH-`#AavF!>(I5Y*?fFY8c(YVQCt-YzC ztq4c)x3#uZZ4s|$)p~eX3)wfoA;WRS4z^c3r>$7*oK+MDQK@&;+a+Ql7-u@2-e3F9 zym@za-{`1v8@S~wy^Ub0wiw9aZVn=K{uQ}Yvx3hBaxH7m_( zl`oPz-0TxxppY0nZL#W&3Az&6WVQ))R>SfVletJo8&=yaR^3{ukP^hiXeY8cZ0yX! zVgoh76(UrdEroQp>!gtK(hAr)V#-_V#g6(lC6rHkxGzolE+G*zhzu;FCX#`qpp5dX z(CgV%8T7Qtvf3uhv=$kxhN3i+o)%L6v00RmrUJ64Nk%rUae~n$E1?37KIuIInhJ8s zd6!X>NpDW>v2r69^*BuhXHg+zqNLOmqYt@`rb1mo?Cda7zy(dM7!C@jDNzdcb~0`@S}gtCYm-IxYQd#ugI6B#&yrB z!w}iH)ZAT76suLzUyyfXRWo1w1ZNYDG`s7-9yM~}=kYMn`PpJ9`(Eh0m5bo}x=NJw zl~)>7JL;W5H)km>p6gPGK5th>-`nDp9=PfFw0;L3)OUb*Ds3^08EV6>Ydf)s^JkQE zkLer(ci%uePA*Puwc{ZD#65-orH|k@=nC-TxBb}jSGN$gnQ9o7a|g@(TQ^po5lmFo ztO0RV72xHn>eQ~|8$jECx1t*qWiT-YL2o^)z=%Bs#N$i`JaxGr!&)z6{|JpI_E_x9 zOHJjVBX(Y6Pn8M8=d>w{(_Vm~x$_*^*R)Jz?_)%1K`!k6;cG0weg}(HJVTsZ@C|Ih z*MrwC)HK=-E&++B+mwsmTLdE(t%!qo!I#SZ~UF;JR*NbJd7ga zK|{n1MeVC1@Ze5ry_}V z#ZdYn`py^6p-=o}A$+ZNmLsyF5@Vt_H7mNkU|(zl7WFS5d}Yxp;^^8#Sow{s=%tWZ zso%xU0vEK~73Dtx*q4xx&XGF6V02S6Q?m(n{HGC%tPR8~H&hVS9T70$T?TYqig1Jl z%E74{tx987HM72M8Tzq&Gkkv`(sELA2zKcYV}jSG<9X|L6H=v5)255NL28zav3Kl5 z_sAVe>|7Ibx=zK+JtlHC*3ND@)TIC+A8y6oRm{MXj#Lw$wZGkT5Gionx%&sE8k3=& z#~YN3R?Y=^-vxky`gE+}cVvrAQjedPRbriAN8)dKognn5;+poUE@9h`wkz_V!$4kW zlk&sYdtq5*kaPXe6{m>U+EVh*x0J68mSR8GEq}xl;0f>qcmg~Do&ZmPC%_Zn3Gf7X z0z3hp08fA?z!TsJ@C0}QzXbvA%f^b6ts4u%5rpfH`mz!6@Glz@wJO}>myJJZP+Xj~ znK`Jfgu5#AOu*meIQhj#V8u)kWP}bzD_el46(lm*8*5&9nPcM;OBjBgExJj!Rx+^VV0k3hUb4@2?kck@xb~c zj6k>@hBWR&Wq%FEcU(B@&^`G)+2AN71kAO3uos#Pf-pYJ0+1y7@K z@GiX7RtNn{Cp)$6Gz_se!n&LBaK_Uo;MtjzAsTQNrl1R)Q^Ne5Yi}Qc*Yum=uiY~r z|NkSv)z{&O&|N*OA&2Xp>uV}9eO!I5HCSz|!APx|>Z!nzgj|NMy~Q~b*iCWWbA~xc z+_(%0!{!^C!D=cro7NX{b|#&vNUfUVDWO{-i{(;riX=rYPLd~!CCO6R0;yD-oRlmV zOC<9pNfL3&e3?`%k#Vbh?~gZ%W7rjPT|)}E#XfL;jW#Z^ui0+RlMl>YWwZxLG)5zj zW$&)?!1ClSGx~);Y>doT50P=%m)tc*|EY}CI5utkQie4o?i!;DXROB7NDmrPca71d zF?GyduFoE?alhc)MMmGbIb%e!Sf`ac*N4}XhV=EFdp~xD*SrTRoGXuOBjW&zm}^7# dJzQ+u@TJSquJhbw4e7(#%-EQT2shs~_kTX4O;i8? literal 0 HcmV?d00001 diff --git a/data/ppo/trajectories/worst_rollout#5.pkl b/data/ppo/trajectories/worst_rollout#5.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7c763a59fdbceac0d7730083945ba68b2711dac1 GIT binary patch literal 10316 zcmeI2c~BEq9LE>J)rg9yTv8|qh)jhf+>(8}o6?8|5U?nN2SP|mN+4{qN~uoavvA`(|EVvipAD-`mgr zCc885nT)3b?pcU|^a(okK&<%*>JD*2WO7SgFb+ zW*850aZZ{QJ%@+eq;cp`TCf1OO>na#aJys)Byp4sufXjk!zES~xWjU(lwOrgN+?wM z8t!y;woEO{j#WqrF8kk8A8QPvXS+zOm>}2XeL-#n?w*2s$byq3_73*`S^mT5 zYhZekMYQfv@F28VMTAVnT!vT_^op&K@S8uC3W89|nAFSQ4tG168q+POc7Y-WrDpDG z2u~~${Exi-tNLKxafD9T-%5;MO8ol|{5RHP7h2+}h)%A4di7IK=o5l|9HP`tXgj7C zPj}W{**sRbh;tsTnzjmYO1>;CyuV&Qb8;QFM-xw-_Phwf&KtlVjh~=-#kj7gXuqxj zN^P1_nhvAbIrQocEoezBh1VSIrYdbVVcdV>sDekUXyuY3~CEILGNR4?1j%-{kE~Wu(YsKyE>-~ zzGg6>?>8wx=Txok&@w(1wU~>|%-;)&BHBU2&0cUcM}pbjzNq(pco3eGc&2gG>J->5 z{wyl<;DHZcuZ048nO>g}IdNYu>Dz23!BqsUstv2zQh>q2+}! zWInl4$M>3ytnArlxZwUJ+7-72v>kFs%8F~SmS?(Vr`o4NW!x%l?8qkJygLT;_V%eU z&r%L(z1zHieMh%p{?oIlCUG5jF7ih{ySpCCF7q?AjUNF-yKj?ce!id!3fYf}le4Mg z$`$0cOC$8|@v$c_twFKSq+;-2J+a?d0xSWR084-+z!G2yumo5FECH4POMoT75?~3i z1Xuzr0hRzu;B6+r>})&`c7HnG4T6~drkxGXp?5a;Vv(E0osF_#tzeO$l2j4vDevQT z@Z|Xcz&lq<`nL0__TRUX*Up6^lNQ&I)vfhZY5ZEaK5h!KW!7qPR^4vuW!K-j8}XOG zL4S^LSIjobbDk?XBUXZFILl$54j*d6j_=8RS0j*33ERo0t$vhqUL$FXKLG>`k`uQ#p zi=r$(-}`+Emc|C(dsMFHQtE}jmp=LaIQ^Z&Jya-mg7Qmjpg1-gDW~B(s7u9ZRO8I! z)Vq6^-rg%`>g%sg!-HG2A&2Rf>&q1yH>kcA%G4U#U?di~S}L$mE|Z~cOHQga4Tq~ zS}2Ogc#Jxz(7~cYb~jLOr55X0rh}HM6h`S-Yqg>y?JfZ&fjHAY9rw+=?9T4{eShzL z_BYv`dEW%og$n@g?!bU10Qf+r!Dzx$j0U~lV8$m&rl+cKl`wscUa8;#OL|()kYo%9 zQR4=qS}RO3<2t>GpJLRkFzfWGDYz!hWH6>=i1`>NBxI2rox?z z=i4swF_%RgdW;C;E^?ud>U1;aI#$TxUo# z@#h&+HAYS9ES(zXV;)lzF+PrYCSpUibXx5YtxYx@8>V%g+seVQ;WjyL9yS8yGIApe zv`o|}9P>)VM%zV+u`ya#bS;jJwFS|m$Dtf1$h)v7NPuHLiP(6JFadRQcMDn(q3zG)&|JNC+Dol3ImlneZK#wDm*^8+%s>*3dy3q0GugphE6{8l&hroN!5!ZVDR0XI!spx zngcE%{97BLz*{FR>I^RR97~X|4=N`1nV&#i!4IHXf12SauFJ8aED`xmdit*`dSZn;+~^~kd6 zzEF}Em+&|-i&~I6q5dE_1$lF`2GU&hggfij$;+nZTLsE2(AZUB@t-gPyzuNhWbL$H z>YjCPlO-*IDDCaS`eU0j5!AN|DyZ~=o8oij5gfvLfhUMntlwqfzIFveuaSsptShu* z_Z;H!+C6YZ_SO0j35js$9fDo}0kF>JsQeGk7VD$O$+BHX`QVRefUGqAGUBsZ0{S%G zv)o_b0r`6g8wwT&$U{!%L+|Q|J!1*51Xuzr0hRzufF-~ZU~wQa89JY(E&`vyVJ=PfUDWJsu_$$(D}R3NrOjE#cAb z4L290%WB$l$<8ny@gYB3cJ3?zmHTB6Q%Ia3yki&H6_2mut4ydmTjnPCKjFbv*X9X6)XEHSHUzIe3hQxH|8G?b( z0U3ln<{Oj7s8i{6U#b{8Q;IHCsR(wK(4mk;(PEJ_TpBHkh>jA4M~NkoVzDS9GBQde ziWW)2!)Hh(GbECzaAuZ%XNG?fLeG%t2`Gn|>|5tof8!GUneEV=`M?}i`g@Rk>@=3r z>>X9!TAmzb`hW0`vy-_qh>Xp?d^k~qK?4k589D9wTKqnevM~(ia z;cd5;KPL~==q)%$k^WCE*iIyoc3L@d9lWLzP#$kuZ>+z|r*BmlS02;)j(^dJnf9{R d!$rsS+3hcK0d&J#sj!Op2=*%)Mk^>Xv)RjjE>CIU>bhTa-&kg0p@qNBK9H_ z2-RXHvsTYn=VAt+P)>>pPz_c2mZ07$Ulpqa^(obAsa5H;n8B27 z;U<|gb!J^=yg`d`(IL}PQ7(oKO+|<4skC~w-YF|Yef3_6Z7d8O?v(Q^K}V=OX}OUf z>FFpx41FUN9n~*NgpSsGsq!&&j5COu?XP0dK>?-RK|Bl%Ohtoq{A884Po!`$G?dx{ z-ILv-4FvcD&@Nep=}h!Cl!~w(wobw?|1}yg%&4PN7lR#v9Euv<-KX{kBm+{@cQsO= zREYjZ-riMB%s2s4342?S^Pp&I?}`7$L-Oy>CyJET0KVB$fLxh7U&^xC?DMoE zq?%`Ux9xQq4MSRfaS7H(AeuE^9qlqyK~JO~yeo8@UXyF<{-0aI~1KBC}~EMg0eBy=tW zHv^@3r8oe}U$Ltm9$t#5zTO0VoFRe@6+7g4OP@I`2M+x3$atq9OQ3u*`ofY-Ma%Y)z1)h|#s5hsyg;>Yv};D)QUh(~b}+&p>@ zWK=f6b;rQdsp_@zPxH4!|J4R_#1LQzFa#I^3;~7!Lx3T`5MT%}1Q-Gg0fqoWfFZyT zUw0s70vnv2zY7V`jr?l1eY5j^;p4WUxObNgkZCTSMDw#!2{>fH*Nx3vPi zp2CK2@!M_J5;Dl;KQ|K9_X6Q+hn-klDFC%Cn`O7l#cM#Di6b$iF;xgRk5D zXZFhwU*0s8q~d2hd|h%$%J{bkR0+2GH2kx~)k_W9oHQ*bx3#}<&RP%Fv$ zs+gP;A7a0IH-{`l#@m6j{&wjP8_3YMD`acNIQy$f|JC0WU0*e~w=8U<3^{anUta;h z*a7vmQfIbM1|y{+z+Hhwap??~KF^xVreMn(flu`M_LN`g)K8`)Mqo*t@E{uspfS^nKy??3iow`iZ1c zPAgZggV$8Dio*%-i5>3|@j``m<CRiu^YrCpl^1O@qhh=P IdcJe+znebTRsaA1 literal 0 HcmV?d00001 diff --git a/learning/autopilot.py b/learning/autopilot.py index cd4258b..2f4808e 100644 --- a/learning/autopilot.py +++ b/learning/autopilot.py @@ -36,7 +36,7 @@ def __init__(self): nn.Linear(self.inputs, self.inputs), nn.ReLU(), nn.Linear(self.inputs, self.outputs), - nn.Sigmoid(), + nn.Tanh(), ) # Returns the action selected and 0, representing the log-prob of the @@ -50,10 +50,10 @@ def get_control(self, action): Clamps various control outputs and sets the mean for control surfaces to 0. Assumes [action] is a 4-item tensor of throttle, aileron cmd, elevator cmd, rudder cmd. """ - action[0] = 0.7 * action[0] - action[1] = 0.1 * (action[1] - 0.5) - action[2] = 0.15 * (action[2] - 0.5) - action[3] = 0.3 * (action[3] - 0.5) + action[0] = 0.8 * (0.5*(action[0] + 1)) + action[1] = 0.1 * action[1] + action[2] = 0.4 * action[2] + action[3] = 0.1 * action[3] return action # flattened_params = flattened dx1 numpy array of all params to init from @@ -82,7 +82,7 @@ def init_from_params(self, flattened_params): layer1, nn.ReLU(), layer2, - nn.Sigmoid(), + nn.Tanh() ) # Loads the network from dir/name.pth @@ -141,10 +141,6 @@ def transform_from_deterministic_learner(self): module=policy_module, in_keys=["loc", "scale"], distribution_class=TanhNormal, - distribution_kwargs={ - "min": 0, # minimum control - "max": 1, # maximum control - }, default_interaction_type=InteractionType.RANDOM, return_log_prob=True, ) @@ -172,10 +168,6 @@ def init_from_saved(self, path): module=policy_module, in_keys=["loc", "scale"], distribution_class=TanhNormal, - distribution_kwargs={ - "min": 0, # minimum control - "max": 1, # maximum control - }, default_interaction_type=InteractionType.RANDOM, return_log_prob=True, ) diff --git a/learning/ppo.py b/learning/ppo.py index 52fb9da..43d3209 100644 --- a/learning/ppo.py +++ b/learning/ppo.py @@ -145,6 +145,8 @@ def train_ppo_once(policy_num, autopilot_learner, loss_module, advantage_module, # Optimize via gradient descent with the optimizer loss_value.backward() + + torch.nn.utils.clip_grad_norm_(loss_module.parameters(), 1.0) optimizer.step() optimizer.zero_grad() @@ -152,15 +154,15 @@ def train_ppo_once(policy_num, autopilot_learner, loss_module, advantage_module, if __name__ == "__main__": # Parameters (see https://pytorch.org/rl/tutorials/coding_ppo.html#ppo-parameters) batch_size = 100 - num_epochs = 200 + num_epochs = 100 device = "cpu" if not torch.has_cuda else "cuda:0" clip_epsilon = 0.2 # for PPO loss gamma = 1.0 lmbda = 0.95 entropy_eps = 1e-4 - lr = 3e-4 - num_trajectories = 500 + lr = 1e-4 + num_trajectories = 200 num_policy_iterations = 100 # Build the modules diff --git a/simulation/jsbsim_simulator.py b/simulation/jsbsim_simulator.py index 9cc5a11..308f428 100644 --- a/simulation/jsbsim_simulator.py +++ b/simulation/jsbsim_simulator.py @@ -84,7 +84,8 @@ def __init__(self, aircraft: Aircraft = x8, init_conditions: Dict[prp.Property, float] = None, debug_level: int = 0): - self.fdm = jsbsim.FGFDMExec(root_dir=self.ROOT_DIR) + with HidePrints(): + self.fdm = jsbsim.FGFDMExec(root_dir=self.ROOT_DIR) self.fdm.set_debug_level(debug_level) self.sim_dt = 1.0 / sim_frequency_hz self.aircraft = aircraft @@ -94,7 +95,9 @@ def __init__(self, self.wall_clock_dt = None self.update_airsim(ignore_collisions=True) self.waypoint_id = 0 - self.waypoint_threshold = 2 + self.waypoint_threshold = 3 + self.takeoff_rewarded = False + self.completed_takeoff = False self.waypoint_rewarded = True self.waypoints = [] with open("waypoints.csv", 'r') as file: @@ -241,8 +244,9 @@ def airsim_connect() -> airsim.VehicleClient: :return: the airsim client object """ - client = airsim.VehicleClient() - client.confirmConnection() + with HidePrints(): + client = airsim.VehicleClient() + client.confirmConnection() return client def update_airsim(self, ignore_collisions = False) -> None: diff --git a/simulation/mdp.py b/simulation/mdp.py index 05e16d4..0239095 100644 --- a/simulation/mdp.py +++ b/simulation/mdp.py @@ -41,8 +41,13 @@ def state_from_sim(sim, debug=False): displacement = waypoint - position + if state[0] >= 2: + if not sim.completed_takeoff: + print("\t\t\t\t\t\t\t\t\t\tTake off!") + sim.completed_takeoff = True + if np.linalg.norm(displacement) <= sim.waypoint_threshold: - print("Waypoint Hit!") + print(f"\t\t\t\t\t\t\t\t\t\tWaypoint {sim.waypoint_id} Hit!") sim.waypoint_id += 1 sim.waypoint_rewarded = False @@ -124,8 +129,9 @@ def enact_autopilot(sim, autopilot): # Takes in the action outputted directly from the network and outputs the # normalized quadratic action cost from 0-1 def quadratic_action_cost(action): - action[1:4] = 2*action[1:4] - 1 # convert control surfaces to [-1, 1] - return float(torch.dot(action, action).detach()) / 4 # divide by 4 to be 0-1 + action_cost_weights = torch.tensor([1.0, 20.0, 10.0, 1.0]) + action[0] = 0.5 * (action[0] + 1) # converts throttle to be 0-1 + return float(torch.dot(action ** 2, action_cost_weights).detach()) / sum(action_cost_weights) # divide by 4 to be 0-1 """ The reward function for the bb autopilots. Since they won't know how to fly, @@ -158,7 +164,7 @@ def new_init_wp_reward(action, next_state, collided, wp_coeff=1, action_coeff=1, A reward function. """ def get_wp_reward(sim): - def wp_reward(action, next_state, collided, wp_coeff=0.1, action_coeff=0.1): + def wp_reward(action, next_state, collided, wp_coeff=0.1, action_coeff=10): if not sim.waypoint_rewarded: sim.waypoint_rewarded = True wp_reward = 1_000 @@ -167,11 +173,18 @@ def wp_reward(action, next_state, collided, wp_coeff=0.1, action_coeff=0.1): waypoint_rel_unit = torch.nn.functional.normalize(next_state[10:13], dim=0) vel = next_state[1:4] toward_waypoint_reward = wp_coeff * float(torch.dot(vel, waypoint_rel_unit).detach()) - + toward_waypoint_reward = 0 + if not sim.takeoff_rewarded and sim.completed_takeoff: + takeoff_reward = 500 + sim.takeoff_rewarded = True + else: + takeoff_reward = 0 + # toward_waypoint_reward = 0 + # toward_waypoint_reward = torch.min(torch.tensor(10), 0.01 * 1 / torch.max(torch.tensor(0.1), torch.sum(next_state[10:13]**2))) #print("wp_reward: ", wp_reward, " toward_waypoint_reward: ", toward_waypoint_reward) #print("alt_reward: ", alt_reward, " action_cost: ", -action_cost) #print("\t reward", wp_reward + toward_waypoint_reward + alt_reward - action_cost if not collided else 0) - return wp_reward + toward_waypoint_reward - action_cost if not collided else 0 + return wp_reward + toward_waypoint_reward + takeoff_reward - action_cost if not collided else 0 return wp_reward """ diff --git a/simulation/simulate.py b/simulation/simulate.py index b4e2c8d..26b8eab 100644 --- a/simulation/simulate.py +++ b/simulation/simulate.py @@ -1,3 +1,4 @@ +from shared import HidePrints from simulation.jsbsim_simulator import Simulation from simulation.jsbsim_aircraft import Aircraft, x8 import simulation.jsbsim_properties as prp @@ -78,6 +79,12 @@ def simulation_loop(self): # Do autopilot controls try: state, action, log_prob = mdp.enact_autopilot(self.sim, self.autopilot) + if i % (self.agent_interaction_frequency * 2) == 0: + # print("\t\t\t\t\t\t\t\t\t\tAlt: ", state[0]) + # print("\n\t\t\t\t\t\t\t\t\t\tControl: ", action) + pass + # print("Control\t", action) + # print("Altitude\t", state[0]) # state, action, log_prob = mdp.enact_predetermined_controls(self.sim, self.autopilot) if torch.isnan(state).any(): break @@ -104,11 +111,11 @@ def simulation_loop(self): # Check for collisions via airsim and terminate if there is one if self.sim.get_collision_info().has_collided: if self.initial_collision: - print('Aircraft has collided.') + # print('Aircraft has collided.') self.done = True self.sim.reinitialize() else: - print("Aircraft completed initial landing") + # print("Aircraft completed initial landing") self.initial_collision = True # Exit if sim is over or it's time for another agent interaction @@ -137,7 +144,7 @@ def simulation_loop(self): self.done = True self.mdp_data_collector.terminate(int(i/self.agent_interaction_frequency)) print('Simulation complete.') - print('Cum reward:', self.mdp_data_collector.cum_reward) + print('\t\t\t\t\t\t\t\t\t\tCum reward:', self.mdp_data_collector.cum_reward) """ diff --git a/waypoints.csv b/waypoints.csv index 07cef09..321c2de 100644 --- a/waypoints.csv +++ b/waypoints.csv @@ -1,7 +1,7 @@ waypoint_id,x,y,z,relative_x,relative_y,relative_z 1,-4461,-417.960938,90,21.5,-0.2,0.89 2,-1891,-487.960938,120,47.2,-0.9,1.19 -3,2626,-461,326,92.37,-0.63039062,3.25 +3,3006,-461,586,96.17,-0.63039062,5.85 4,6639,-237.960938,730,132.5,1.6,7.29 5,15619,-407.960938,2920,222.3,-0.1,29.19 6,9469,-477.960938,1480,160.8,-0.8,14.79 From 08c73a91fa0ab49a4e0ecdfd129552e856e5f01c Mon Sep 17 00:00:00 2001 From: eric Date: Sun, 3 Dec 2023 17:55:58 -0500 Subject: [PATCH 03/16] waypoints fix --- data/ppo/policies/learner#8.pth | Bin 0 -> 5090 bytes data/ppo/stats.txt | 6 ++++++ data/ppo/trajectories/best_rollout#7.pkl | Bin 10309 -> 10309 bytes data/ppo/trajectories/best_rollout#8.pkl | Bin 0 -> 10309 bytes data/ppo/trajectories/worst_rollout#7.pkl | Bin 10316 -> 10316 bytes data/ppo/trajectories/worst_rollout#8.pkl | Bin 0 -> 10316 bytes waypoints.csv | 6 +++--- 7 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 data/ppo/policies/learner#8.pth create mode 100644 data/ppo/trajectories/best_rollout#8.pkl create mode 100644 data/ppo/trajectories/worst_rollout#8.pkl diff --git a/data/ppo/policies/learner#8.pth b/data/ppo/policies/learner#8.pth new file mode 100644 index 0000000000000000000000000000000000000000..fec2c035ae5daae005bb69e13eba6bfd95735384 GIT binary patch literal 5090 zcmeHLS#;D?7@krnB~U3vklnH+4VoeEB|IRV+ibMwd;DD~?i>sM90meSC{OWlgu3V_Gp(WEe&DW<05@c2UeU z97V%^LZu2x)o?UL7r-}eEo3!9H@`%ZITp6ij9SQUk$U5AIiXlez3Qlz4c%igQ`gm) zqnU;+%(LRErN(DyF-L$N<3z}z0p#jrO%1W`iAZIxG?YX!OhZoKTFrKF-ZmTARvqXS zlkvBvJDMTO0a#kW4yJYr_C)Hc%SY(M-`B zl$Ev|Q!r0)IFA|*k_xZUrMS`;#5x~asyL0q$u)NB+Rvkqpa-Ij1PwHw0*oXZO?pp_T;r7YZy0F3P@Kpl%u zv4lD72mDxh;~L>2Kgw=F-KqD*ekligH>g@Ia$r0UAtxP8w*}c!iBPZ%+B7M^gicJb z%xu$=mxlx>^82NpIH-*$gi@=*MCKwyFhHl0RSFQ`-406G*fy3(LMZyX1I6>BzGz-F zuL&mMpR6XBypDFX#DP)~%3A10xEU@H;Zh0DSYNfK*f0f6KsYU$hyo~xXrQU{quZl- zDYz_}m4az3$mI@PAwoF|GQAmQh%hsW*u;sTUI@>FSt*z;!j*{W{VK$?9YqCm5mW0N z#N>E2VrrXFg+S4@Raoj$3#*Q+G0d`~#__B(Y*<7vET;7HsRm1w6kIF9QnaMq z#IIGcsvS#!WoR5)(gd;y*GYLeJ(W%_aaF>=VWPK7ubxxH4 zF)XooBd8vU)o_Aq8Nnz8nh4i(g6lZJx=V09C)nTwo1EYTCm1-v7AM%|1UsDIBqw+| zWkE9%x)M{NVI7iM5T$1YB9yEYVHH|}mZ3O7e}f1&qBPbJG$JxtRyV>;9wcl0XuK;l z&dORWH#~K2Cc4cfy1j+z_Esjjlmks7G&9MyG{ZU(ZbKfq(kLOg9Y@J^;0_uk1$PqB z-o+x^?Z7=E+{+@YZ-xyb+}9@B`x&PXq~Jjj9^#yCPM<_rq-bF@H%;bKl+33^c!rX>nvl6ogzYYw#qeyG!dajgNPy=s z-8&lLc@Nz$aN)ejK<-SzOCr3?LB7I4zUqQ}je~rhgM5R7+{Hn@$wBVsAm8F3-{v6S z;UHVn;Py~(?~3pq1-FBM+bhERF1SgsFUFQWvOSQ^KaRItORL5!DBiT`5kNDNX3`es znpVA{SCFN2<_f&+6H)~D0OQ`@2p@WIAK{c;A0U!;kXZR+@HF*KjXMR=eQ4Z z+($U>FF5X_9QT(T_g5VEF^>CdI{j_Dm#T8Tl1PwK$v5;sK-O5i!q{ewlhBj494rdJ zw{$aN)_OG@pEYer$;n@bO`niv?>oxg2@$@h?CmG){UE}Rl)Yry>?dk=QiM~~EQ^@^ zEW$6;tf(T|Ggm8Y5T#x|A9*S|J*V~ejrE+tFrg*ZEQ{luwq`d6Er1GXszvE~WmO~q-Ez19+ z_2BNhJ(Wj}wU##RZQWoVZyh>jBIF;pD!{4co&0w*BieL6ubf0ks;IDE3x+8v+@0j zo1S_HGrhe6Y407tpBdhvOmFYtlY0-h>}==FC6(#!9hE}Y7rzzYXm0Y;>!l)^lQW)s tjmVym_9qt!q_q7WAeSAu?BYGdeza)~A1u;b5$!<^Z`h}&kJvNYe*iRVFE9WA literal 0 HcmV?d00001 diff --git a/data/ppo/stats.txt b/data/ppo/stats.txt index f98250b..9c8a96e 100644 --- a/data/ppo/stats.txt +++ b/data/ppo/stats.txt @@ -40,3 +40,9 @@ Best Reward: tensor(2495.0063) Worst Reward: tensor(-5.5442) +Policy Number #7: +Average Reward: tensor(1055.6771) +Best Reward: tensor(3493.8289) +Worst Reward: tensor(-5.2033) + + diff --git a/data/ppo/trajectories/best_rollout#7.pkl b/data/ppo/trajectories/best_rollout#7.pkl index 0bd3040f87cee46e9dd7f9208d3ca446edd6c4eb..d759c0771001a2ce966ea5a3880d4955c2a06356 100644 GIT binary patch delta 1249 zcmY+EYfw{X5QYMiH=6SN<{%w1RuDI>tpKGnm zvGw*X7Q+n8ZGL8W(83}-QL+>tUUme{VVlYRhtcSx@)|yt)q#g!Eg?*ooUtmSmfHHj zvt|51EQnf?iwO#vaR0d7AhfIsc}kCv55m_X=VL4wWa+{EgI*Hg(oGpu@Z-Bj6vugwA< zws#T({BQB`x|3AXI~J3z2%a2Ngfi=&;;RbZ;+=XqInQQ9wi6am=W9=CMm7SS;wrJu zU5rc3eUzJP530J;MEn|{)}rfPH}Sz?dsu@dk@9)bj4(YJJduo9*`oj?JnbN^IQio* zKmJH9kZACbkL{##bvW}^!&2yG;z9jB4cUL;Ci45@IQU&LDpLeVK$gY|8V6s2+~IdJ zMWX^FJL|~EgU=De_JM_a=fY?AO2`$B^8r(y3GS)i-jez4@B{{JC(&xy2>eoNsYJ~v z>h0x{D^0gibbvdIR|+99T1_g;FH1Ni73p1KiaNF`Bd@$aGW?V~!>eH2TB65dl zyqH%*ocsGTsBf{7=7x4yk#h=jrR%U?%vH^{v?H>a*{|qvut~p&!HhS`hIjOi1`G6A_)o<)m=J zWAqv!>m6Lk=6x$$Ekm5RxrQnM z$8o>PE;7lD#Y%FU{`@Y1MD36+g#(Lzk}>ubC`wvL=~u78t6f(BRq|FeI4=iW-7JU1 z@m1D|OcUKB*#d%b5j2P7(sW8WJ^sN$pR5(by9HeOo81c$q0OhroLMmOhBtWZk%=U{ zvp{(tz!4V>c4==d`fXY_SOuZ3 z0Tg@ZpxClAbisQc_(oeq9}pkJ?S|SZ*f0woQd8KjbsNxrek1Mb8x1R?cG4r6Mx;3T zCH-fTFDy{C(0d<-phKRgXi^ro9?mZlfZ0EY0S^o>m1V{79G#jTaZTf63ie>#5cZnpGU!YZGOF^CEnkN^#MOxZEJLn!nZx824h-sW7cpT{L^1N qGT40FI8*Lqa9W(tnL3uCY%%0aZD#15ET+^9Lf;=a)6F%$)&BxFIWpe> delta 1105 zcmYL}YcQN=6vuZBmSr`uAu5!tA}eiJ)^+!Jp7)g|+MwMw)0GRx zrHxp^EK`z5>0-9ymL|LJ^SZ{Cj#OeuF_<=*G<9ugOM;>wdOn;vAI|*d{Lh^K>6i7( zN}HIRYt7+1>7|g#QF<^P*oBUPYBMH-Va8O-ob8m^%x#6m=}pK@jUrxTHESa(zo&(I zp$N?H7ne`yiGp4gZI~PY{+g;o9ZR>#*^l1Atk^-gVmt^xmG=-M`B;}My)J&c$t^&# z83qQ&^~A;TCd?Bh08d^Qe6?0ao>~mTP7Rwdo%axGi(V1;ADL1qDiU~|G7UI0e@Owx zM)bsL+%%1#OvgoXE(qI1DGe}K4h zQh`rbPioI+4}+8gd=i~^!g;?ugRaZV@V6HMBd zO!m;ptAgP|u$pk{SG-FtP-F0ji2A>d|bA0hJMV|CeM zt;=v8i1qI$yMF&0YpRc-kr5Nr?vO%m>{HQ`gY)7lUb~j*<^asN_lc@6t+C8pp^N6z z@WkyBGA%llGJfcal6yJmi>rC0GnGxJMP~qih5Lp`y21sfL^?<`uBF~|->>@_j>3^Y z50SZ3!!UD}hX^AZbS|!n{9HOk^-A`^$C>fs3O*m4G|vF=f+O`Hivr}j2hLdw3JlFl zK*gSoMA$$tvcPp@ql<{1*Hsgn`KFi{Rl&29y@bPCmUM@;E9$P%W5r>vLtyLH$0(63 zA|m5&5MRxx$gR4-t^q3+$$P&B^Mikdsggdz_IMLmt5(7jAtBIpdy%}fGJz~L;V8s0 zhYZVLlaWlD?mHSgGOGR?nkt%sGkJ}~YtjOG`gH?zv^#>n$I2u{_y=|^I>bk^4cMe?C1;-|0IZ;Ph_voRci4$dSD#P31a=@+iMYQUSmggnKwSKKs{^}d3 zLNlkkwU~)ZEqk=(6^*d?`6uG~KREc-S(++v@I+iO3s@zEVwHPfBxsoqMYYGq0+f9p zV%4HrEZYc0>*^!a1-Tcth}MbyhNQ?l*aU50dMtwn(GzjQ7+==u2d|ECwT&wWn6ii}Kir;nQtpmALeuZ?TzQ1-A6< z#GgHtOX92|a9dwHUYL_h)GeJjW_ta2mSa5Lg)#SFz)5dEyJPLy|E$e+9y;VB@bVK1 zeFZ+g-X8t}Z-0TWKqh6GJl8xeQ7${%818-prMXLi;qKa%l`hC|cOvD)PO(c<+Phvh K+-t6Pz40%x*XR%c diff --git a/data/ppo/trajectories/best_rollout#8.pkl b/data/ppo/trajectories/best_rollout#8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..dea111ef5ec62387e9eaea40e18eaba480e0a687 GIT binary patch literal 10309 zcmeI2c~BEq9LJXc2?RwEIXy=WV!4u_97*;H7>{^F>OqT&0alZmiW?RY2PvqamP1=A zv>sR;aR#-H5EYT+MJ+|9Q>UKT5vWp%)|*pr7O=w~|rPZbJ6ZJ$=x>lExND-^jQuT>z#C*~rFfg7+`$(f_s#g#s$6~@)=u*|x zhnAas(lOqFo+Bik;vMNRd38GJJlmH`k=%JoNI6J3IG^Mx2P+-&Ntdn3$#hsmGNnyj zmByc|Pa*U~N~|`S;*+kE;z&M4y2X)$G_+d{M`Mu{k%KkPvu`<2q`O7VDW4pobYkR& zZqYDS9uzq&j`ZwfB_@Y!oRw=S(#v8*&-PY2Fh)LGdyIT3(l3tmCqh+9o(oTqBygkG zz;u;ew7yW7E!w0^ib!Qvp^yjlvVD#Ct%FWWQ96Qgod>u3acOEyx9{2uinMjjywxzF zLLUBq{PqSlc4-YtJM3*amWv!g?~VV)Blv}%W`T$fzS(VFH}cW&Pq3jwF^P0qoq18~ zwOUC8Pj(?gDao!TkV>BrWKJjv4$P^*FW;C2_)8j*l4a+SFk>Z_?X&T8^~3w8#<_-` zURSXI7QAf4ct2Mmd)E_i!Hjy)ftBD{PP4(;00`yoyoek>^c*Y7hG*haC7A^}_`YEn z9OkJ&62wKuhBJX6hiAYV?pA{2qfJP;*b!Y5u>@~^)q#BQs07Zae<&&2fWRW%GI)bv z3?hD3Y-|YT0#RoJ-da#v16tbK>^;SGMIC>3(zOEo~ZYYVjS~4h^P-wha1*&jbD^QaLS$Uu|n-h<01!+ zQR5L~_RV+4eY&rjJMNA|w-g4WkMnoqizl8lS1n(O7B;w<{PWu29UISKBhD`bI23|P z8a>g$zum7Ih}+#W5^+3<^%P?LoR?&SJ#XXMot$jFc~L z16jZN$wyA#2c!lyMt&KAZxar~kxJRwq{-7B zU5gu#!`RV3tIqtFPwW*-fF-~ZU?G83qeeO+sVeL0Z%qW3b~*ClZ~gTp{Qi5Yg2Q z#;nC<;4krL(|q?ysO0YwION)Hli}F`S&gn8(L5VvI#pf;u8fF>kISU!?V0;zcOnu& zixS8ZyvCwSw*zTXjThi7YLaxn3_;!Y`^(yMH-hh4(%}UW6VRrNQd9js7Z8v&6~4(q z(b?yItXn(vB&he^WAdqxp`We()MRk^%Jd?##T^z#nx9#unfcv{xA&<7dzxUQD z*c*#WT7me&O+e_jfK^`)GKa?e0CFE?#v(DzAfCGuD6VJ58e9H}d0bNj-ru+M?yj84 zufQYRfLnAy4%6-Dmp3%hHow*o`ZT(}NFn#Nn_%I5#>1uZ6$>~tB&OTmGG($*B#aUZ zqv_w_^kpOyrL>|+7)VFRbd}P93HD9pmv!Ni5A&c;vr`9VD`H)OM1QMWwFDZyjmVpd zCtDTk&wVc|4G3!LuVN`)vX!v@N9ikZ%)ehCJrW{Y3G1ZkE3tjtz!G9x3G1xz?z522 z3H>Bq=bEjC^*ifZR24`6v_U#>HmQ_cZt!dOqa8!u1j3Z#F|BvJPt#@Ei`RZ=yPikw W6D{|d$10^WQ(s2g@E~TsW$wS(`t9xj literal 0 HcmV?d00001 diff --git a/data/ppo/trajectories/worst_rollout#7.pkl b/data/ppo/trajectories/worst_rollout#7.pkl index a66951551077b91e051ea8205127a9b826bb40c3..a5fa79cbc3304c691658e5d2c1e7762491197963 100644 GIT binary patch delta 905 zcmV;419tq(P|Q%UbOL{Zul_!~uVX-~Q0+Rh?_sG)LA{N zPNKh)gQYVO+t;#+_H^M*^Ob0rYAYwc~?pnIrJ4ij=z{o%<%B?>2d}BRz z9^<~8B9cM0nNPle0R29{rqn*;RscbDiw?fBdS^ZJ?k2l}o_K#fP%6ei2fdFz>zt}N zoR0&)PNQo<11JUM{ZJkN(4J`F8zJw28O zy%*sBJ^|)Fz$qDpJ~=h6J}BZ2KcWGSK?p_l0LKIBtLkKn?W&Fb&k3B8l1HQSK?!3dBut4>Gn!OJn zK0NA&i@t&4^ucCu3qW1bdp^07DnCJ2he4hSalx<6Y&{^N6TU~P2fe>nra%*z)4f#~ zk36m=AHNLMSwzAsHZVa)4P`#Ffdn5GlaK@jlb{*|3KIxb9$**%0ALuCP$e9b${IF* zt>z{_^XMi$m!xUFXW8q#h`lL4yZns3KGYY!GLHMa=UNFr%9?_`cavN^J&5N#xR@8dRHRor%-wi)M&xo2mqdl5F*BzU^=X66q;Q^TA+f5S&V{C>B+-`i0==~y~3y#S9!KlVVXy?7SHzK@iMysU{YKR*?Ny|-CiLKm4Q%y*)S~y^FFNJ+pxX&<2yB8Uza5%a7222LJ$o2a`}G9FwXdRw%0G z#lE&4p}w2FSH48&uD%{N1izCh55Hr$8o#FioxVMKKfkqm9KW-H1h@f{pc(`UsWy`+ z-~j*t-~p3RB^;9qCCwQ)Ff}zYF)}tbH83+dH!wFcP)i30I_1QQ5V9+R0S fKm^>&kI<9dCO`zKHj^lmAt!|dI3VD delta 905 zcmV;419tq(P|Q%UbOL`X!2mzy*nU9URa!a$ySu+xV-GrE{_Hz6RR%Z#37o!_PANVG z7N|bzrldh=q1g^eeeqlYE zO|w1?!jM7vvrWD&F#SG}&(uEGg#keV8m_%0A$vV23|+d^{CIyo%j3pCJfelZZzcpg z@Y6&*mP~0uZu>;Ogx>N#^%&$nQ*$UmSceh6I>VYhVVJnP$YFpzADhEKiS}>4ENnwN zOsMxgac3SuIGCNiAeG}jXkq_8z_Cw3;k~K95g^1p$M_YzF+M~+edEGF9JwF9E@!B` zm`E``CC7h2wZ?yzKCMj1KCHn9KQ4E1L1FtA!0X19J<2wAycv`{J*dFGKorByy#A@jF-#`H3MLxqC7e9yCg+UxiWx-oU$Gx~f9KF(5A3crSwLk-fPd~^M zp+0Oz$3G0Zv^~O7UxGo7c$q%4fdn5GlaK@jlb{*|3VqM1p6SD< zy4{t$_q@BlkA^fmXPG%ar{Rpe;_X7aYRF$bsD3v;M^>7>8fvS)sJE%TUppZ`dI2rH zml&|V-#Iir2opy?^&5q}Y8S)30UePsJoWK2KiJ^8y&6$rzUp_DygGG1Kept#y)S>H zzB)sry%9j7J{of@z43XhzWM{7J+pxX&<2yB8UzZO?x$~n2LJ$o2a`}G9FwXdRwx1+ ze!c-HsJ;QEg}zQiCco_LaK3*)9=`y^7QZ^sjlL-0+rHmk9lx`I1h@f{pc(`Uu<4Ur z-~j*t-~p3RB^;9qCCwQ*G&M9hF*Y_iI5{>mG%+?XP)i30SzjU|lkg>_1bxq`p_7>= fKm?lZr*D(pCO`zR>62WOAt!|dSzjU|ld318p81wn diff --git a/data/ppo/trajectories/worst_rollout#8.pkl b/data/ppo/trajectories/worst_rollout#8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a5380cc5b02bcf6252c66f8f49827a1a521a0b64 GIT binary patch literal 10316 zcmeI2eM}Q)9LKM`TLpX>6i_#Yh=77^c`Kv$QglTntE}xCD{QVOhsT?|Lrfi)OvoVLT#cGWV zUu{0g#%vQ=)Eq8mmuO3k^6VVUKF-4d#~fCn06GASj^ zD~{&>kG!L+@=iMqQwc{~q4}V2{^*Gp;}KD3M=TkBi*4*E1mK9;Jmhg4%TQL+XvFSJ ziwX*DjH+uthwxiUjms7ghD!M^*yTpGs3ItqEI85z?c{bsaZZ;J$=+kcN3O}jvWIB` zSrr1dR(+5B{%;L=AJBqbC-NZI{biyRS3$CP(-WxN<0|wI+e0LWo5+n-`@qdjw)#7B z3&FZetw_e3#pKOzqlAw70H}R#nkaYA6=F;I02C;`4fQ7bi;^HeBi6qfyf*NKKInKJ zczF4DhzpWM{>&-XKgjZfx(+*wN=lo+{&hE?j=u*XPD+F*HnGCkzL5j^?h7y^%M{?B z-X^4qEg?<$E23-ydE^uK1mxM)UTAq^H-rYV;JSf$QTI$2(^^M0SQoj*a40Sg)EzJ( zH3b6lc$b^umr55n;6k{m!>0`1oYV>}%bo(qoXiuEzF{Wq?7d)reXaf=7X}Y`pG9hP z_lfkFa{ZadDd4pqy_-2YC#1Nu5vm-T1vh=YLj)BRnpzT$g0=k{3}<{iK{8E`Ag*pi z#vgYLLxKRKzHN6iDNR9c)>T23*XP0mhTWpR+dZbC?FnH1>JNygu4%&js7B;$TM2PP zaoEsVzn!#y*3%pwT94d(xC6?1YcBjK=@U_Y_0s0`S4s%Qom^sG_8DQ zvylw>OFB_-gQ~Bv006_Pbec6~Z`IilzINHPNmyHS=2-aV(CRVn4lhY5d zLH;5b{&nkoBB`O2oPKLRak?i4K0o-4p^aBZ#=PrI9IHMCg)TX3Xn6D`8JpTbkWWuQ zw(_Gyky8tqpeZ0O-S&k0et0bGL=KWeS; Date: Sun, 3 Dec 2023 18:34:28 -0500 Subject: [PATCH 04/16] add total timesteps and unhealthy state cost/termination --- data/ppo/policies/learner#1.pth | Bin 5090 -> 5090 bytes data/ppo/policies/learner#2.pth | Bin 5090 -> 5090 bytes data/ppo/stats.txt | 1 - data/ppo/trajectories/best_rollout#0.pkl | Bin 10309 -> 10309 bytes data/ppo/trajectories/best_rollout#1.pkl | Bin 10309 -> 10309 bytes data/ppo/trajectories/best_rollout#2.pkl | Bin 10309 -> 10309 bytes data/ppo/trajectories/worst_rollout#0.pkl | Bin 10316 -> 10316 bytes data/ppo/trajectories/worst_rollout#1.pkl | Bin 10316 -> 10316 bytes data/ppo/trajectories/worst_rollout#2.pkl | Bin 10316 -> 10316 bytes learning/ppo.py | 3 +++ simulation/mdp.py | 23 ++++++++++++++++++++-- simulation/simulate.py | 11 +++++++++-- 12 files changed, 33 insertions(+), 5 deletions(-) diff --git a/data/ppo/policies/learner#1.pth b/data/ppo/policies/learner#1.pth index adfa13da066277914a7e05abb7ba995b45db06e3..ec555309cc6aa1693e94bd24ed0ac2faf8c49686 100644 GIT binary patch delta 106 zcmaE){z!d8gMe<-VRO6ZT_t;>f5z@(z_g7vRm#(G=Av zq`<(ypfH(VPEP=H_PRASKgU?SE|EASlYn0#ZErq);UbNNBQ~ G@Eia&J1CU^ delta 106 zcmaE){z!d8gMe;Ep{yP2F1tO!wYT=1Kf$v{MKWt&>cOOag~gHk_|_-w3-D&=n9Qlc zsKCI$pfH(VPkkDi| G;W+?h(08*k8yYK7f4T7SKEFi^`PYPACfP^Ny H3C{rlBu*$} delta 106 zcmaE){z!d8gMjX-*+q8q*2eCgnZ&Sf#kG{Z+>EXJgnmuhx3RBhpDf4ZeF5I=96f>e z(-jyP7!)S+3(8JDC2&#H+}PB@($LVt#KgqF9Hiv4s+8;I4T7SKEFi^`PYPACfP^Ny H3C{rl8Z#%A diff --git a/data/ppo/stats.txt b/data/ppo/stats.txt index 9c8a96e..419332b 100644 --- a/data/ppo/stats.txt +++ b/data/ppo/stats.txt @@ -45,4 +45,3 @@ Average Reward: tensor(1055.6771) Best Reward: tensor(3493.8289) Worst Reward: tensor(-5.2033) - diff --git a/data/ppo/trajectories/best_rollout#0.pkl b/data/ppo/trajectories/best_rollout#0.pkl index 203ffcd3b85dde5bfccd2925cbcbeacecefbc538..aec6bd7c6f8704a8bfb54631a35a3c042f700b26 100644 GIT binary patch delta 1530 zcmXApdsK{h7{_OrOijAbMJQI8*kxDKD4F?P-Z!@s(U4oYlOA(l~1n1f4>G_#~WN}_48uhpo8Ov8wH)fxZO;ev{9Fu0rxCjN@3kL%o zTTGliw?Lg$BibxUr)PQxlI}HpT(_4)ncpd?#vYygr6Gc;l+Tfs)$UipCxdy=WRpn> zJ{E%8uZxiFb`32Io=uL~3vkENYv^%E5hcp6fzLP|tZU-St}Z_Uama4iUgN_?)Gd|0 z@*9dGaw6!W*I~qQbw3=#t3j9NSa91E>r2FJ# zd6N$v%~u^I8K=9@pHvGn%yXiV(16sEb+9w4;)*Augh6j&f%5{XalM{lN*g_3cl9G` zY<&ZvBbv~{>NiOB+>iGE9iZK7lAzPaUB+a=D!90!oJuG2P)TA5lX=a7>v4KWe-dVK zh0G*u^_7qHz6PWhN`z!1e9>c))G@$8;00nLe)HTrxVbATxq%-$O>0H|1Dd7(HPiQ{1X1O)~+_{;y zx@vT@H~oA)pDJErhg;h@A#}V7Nq|v^m&eX&2 z{o$w!kO{4E0SdDeTrrn}+KeRT_;i3w?nZiGnbx$o&_JR7E?Dhup!=`KRJ+9jc;>Qi)aXA0G!P%$-ZDVW_M zG#+!`i~f@7*+YlKu)ILXt#9~|S{d}jR5H#$Rq2P~)C>cCvoMV+SSyC9cOiKGha1SV zNJ1gHe1?q~0%VR)kgf8Ism;>P9QySnbvShtb#lUJ9X%-I1oaF#)0v8a#4f`YZ|J!X z{c9b$j<8g`D(oe3t!+0S-n7_!>+XE&{3wgvj@qnY0?}-j3FpFHc)W0zzF)2!=Bqj= zalmf3+ZbK6FX?P`WuvN2!ls-nuxNh)YPgrq*xc9+y$1-`oX%pXxFlkw9^FWns)Hki ztB6M9CO>>_3hvaUvtbrHiSAM~oSKl0ELHD;`dJF9OSlhyO&4Q9O9q=>vXHcHH8MX` z+T*Is3ees1ik%S|p@MbS8QAr7J+!j+A;#CYL3cLBi5p&k10^TXWd|R52W*92L+!zy znqSaPpCPPrSvDLuHXiDaXT#=~)7U!!Ubs6-$p+W1M9t%;vF9^fu_2rX!d4taoS0!p zz6BUp%V76(DGEBPh2xky^s#<2leq38`moXa7%Pr)Me}3r;ksk3u)X8}E5csb!+#f; zQel>LMatN)KsnNy5R!{rz+ja`!V4 z=|8akA;mC;o$NPR;^*Tlm3Vu5`Aw22 xW(h6dSId;z*J2mJx7gMW^i&JJd9F?K#DZ_vYU_HNZ`-tPV|EGphI7Z9_z&tHv*!Q+ delta 1168 zcmXApX;4#V6ozv#CM?20p(P|NN{irBB&;Ffe&2U*L?RUwrB;OMP!SzekWpcv)&|^a z0b?-&BC=bfKx`$H7Lt1}2w}5oM}bmVMH(tC=m@b2GA-brGv~*dch38sGmkz(AMsr^ zW|dpBd7;etVOB~Z=3*Z05jkRku~-(EGQ!PKnS%W%pSPWcmEa+&ZZ>KB+xQEUpxq(4 zI^>4Suug(|afo)mPQdBlahRmIN!qo9(e_um;ciJIEc%#DBh&Rng-hSSSr9pG(2ZjL1t;f=>7%{Drlpi$F4jg#MhqsD%T1mtvnJav%ew-exV)2 zKw=s-^5|7ij}Kp0k$s7@wUp7!G#lO8^8j{Cy&yuj9;d%|t^;!pnT;*?FM#yBdgA3I ziTfJLbwyrZ(m$+7BQ0ZR6&M`#CQWkWX5d!nUoffdE!@=%$wJp8M!KdEc=dY*JV*-wpHl6_K&BHsbxlYe zIElgW$U34{yhw6E2vgDGQ z+8XbOWNuE#)}@Rj$JP++=i0%a>A`KbReyB4Q@a zo#>0HB=-(+5s*(J%UB;~d4df!eMC=qbyqSg^M0Z`1*3F#`ZyWO<2M~O*+T4#awg(h zs>!NV2iG(mwhU@Yk!qOe=w|xQz&k|Yv0moi)G=L1$u_3-pNk}Cbdq6NMG=}+9J!rF z$T7o|Wqh`|d48TTmd9en@|Iq?iyt7L6^DYv;q$t$OU3ZulQwF?;W;Sq-hh|Z*TR#} zj^lz}A<8*&i~3-KM`x;Rb@3G;NT#JI``Ti7v#%=X)M+7FmSx0?nwshIa6L%w6rgYp z7nG)JU^Y_&s0uC$tQV1)+BEkpSU&a%(z+B-B4ayrjQ0Uu$2?HX z_IB#^o*OW(T&x@3!h^TBtEj#zf8b{5q!uD5<1D$?TUMeBE{m1HU2f?&V6vta=R|GmFf+8ZNGvEXq1xqRPKF@QncA!IqqJyDRP=>M~layD-OBq!V zM1@@#Oy$MRnF^>ID1^25xy4QrKw&{NPUco8*>su#(>Q2(8L$sKA5PAPlV8sNZF8)W-?r$BLZJh3yg zyn9#`4z>=SfLZ3c*F+z|G8 zf1U=kH5>!Ne@;Wyxla@yH8HsHH#Mc^SKv;`D;U223G6uJMdiF6gyTuIAgk+enEG56 z&_6v19vx1DL%kxyu~sLX9O_3sy4{Bdw~xW-(=%|T-*(Em!vQ&^^aAs>gzxKf2@n!$ zP{=&Q(D|h!Gmv1#mZT=K)LrAo_KF6e$3t86VE+MXQ?(D4S4IPMd#0iLt{lYM^^ovS zD{v|NRR6SJ&aQ}MDf`sxtf9{zxyCx7>bU|+GtaOY(ILQAK^tn8-zF>{o5!#Z#9lFe7~>Kg!yH&GbqbUu|R@Zu+45 zANAnXn~{2z?^Tdrv=VtI9%S-52Y^U#R(z%OLiwrd!038DRzFY?Efo>Sy>mC?S$hR+ zt*TV)m04hJ%Qwurz*cNqc0>`}?v92`tHB*(5afk->8&qhC_d8&PU(`Nx=5fhq;yMB zz^X>(UT_*SaKC`Ll`BHAcu*gZdLG)B>@)Nk`k`0BK_*ySf_1NVG3!ES;GTRbv!bvQ z5BvE8$MH}U;n@sEpSNODR*<1X%>VX{CAGggb8LzQ98R%dNo~tpagx>6vv{9hIX=-` zhx_1975)!{kZ_6v)*-k9F92;(lnBDdt!m=~;V{?FR> z-UDl7ftzHZA@bm$z(9#KBvdMq2FFAS?53xB-lZqJ-FS=NfOhmL<1Mb8uJb{>#fj*L S3&kRhUb|k)TWY?z{=&bV-r^Df delta 1163 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 Hld318hEjsd delta 1163 zcmXApc~DbV6o(UtfI)CUC}pX#B#2c&4Dbx^-uoT_#a1Lj2Zaif!73fac2K~ScES=6 zq^toE5X7aRAyTce2)x_`(3aIfZLv(HW(0AmP(?wO3I+Plne)e)Z_aPdnXg;iEiR~I zn-{8f&X*Yh+g#znUc-%87pga9vsk8Vg_vijNMO&&Mh?A$69rZj&wgoh>xBmG=O(=7 zDwhvPll9|-TT&q!;GG0zyb7(<>=Hduv;({N^}_4dT3|?ooO<9H!ni5Sn!R=eH3>8K z0akxIwR8W^@Ck7oq{X!112g5cN$qyLY1RO}6#fEBbXrO+WHYR9O#%5~U*lWPd>N?j zl#-~S0_Og>mQ1dU#FpnXX;qF07dNty-SvLBwZ@DN$+v}$7Pmn$=bZ4;-E^RoWr04o zBd~VsCFV)dM>w@&7rpN5a6C0V0v~!mg*Be5X~)0n;918plF2Oa-Dx8M7yh(?0eOi~ z>0r;~v>9qdy(YACtgHePNqXofeh0U#gmh$S8Y-1kgKYJ%Z(qC+2ww1Ekv#=v%d?oh zfj98;++Zqi^(yVX$X>WClY^eW523FP)u4^71duhx`94gTB4f=4z)6)Y98+Rue3uxf zZV>4L^m6UL=P*3A&k%hU8byc7+fldr7-=9Yx$WDN%LBG|wnM332&`PICe?$(;O}bt zme{9V+GnFW_&ml4O;+upPf3iZr~wypBgiGE-dKb1BrR06xj=JtfLu0d1*KydE&6y1 zooKiT-ihZTgSaEK^kNvbGRz2M2~LxWdQ(8%D2H!5xzOOC8S{#7qm}VzaZARPaGkXM zCs^gb0&(x9)0JIED69S@V9-6>_v4Y9m5| zyi`kc+`NP?_$rz@TVf2J74n$U!T>V(kt1*&ddQ?D*EIWAj^h{~$JWWi9l9yy8R+hA zhXgO{=(s(4S1R%#1dr;KpzIo7v*t^0)VMhu&X&=d-B+#9>zre)Wf9gb4Z->F`YukE zrJ~w~!_AYV_(xl_SkcytU)*WqEqkQShkieZG|j1Ta0qm0ocdqGIif+>r`KYNP5_?_ zv(PP77QjoE;K9ThGLj5LkH->8d8s>GHN(=p337mYk`93v6Pe(2feFa*@Wa+Y<$D9(Bc6EDANX zE4b)^{Cj3@#tC&ie>N-Zn)Wv6IvVaJW$161YULz*sq_L zg8qLgaCu#}KAU}f2rq#LvB_f#;o&9lCOpNT8k>xIX5Ux5;#qSRJfc{}&*m(gLQ%%2 XI15`T2IiXun!>>)gR?lSbUFVYkPrk^ diff --git a/data/ppo/trajectories/worst_rollout#1.pkl b/data/ppo/trajectories/worst_rollout#1.pkl index fd9424b37b2b682a8f13f31b5e19300e85e73cc9..91fab992fc2b0fa8c8092c7fefc784710001f749 100644 GIT binary patch delta 1022 zcmXAoeN0nl6o=cbP}U;gkWWWg!NN=!D<5sa-uHd)4P%;tP=<4;n=lX%lu0&3lt}^C zSiUCREutC0%Ew?}4NV!5_V&Fk45ok?(}WGg1eh~26v)7!IB~%KIXQovJUPFU^Nc7* zl(n5)XYI9w_3|Q;>r6|y{sO)@T`c5sI6^M16u(8E+j0vhWNgVetl*__%|O1l=1kLhm0wU!~6+d4u%A`C=tl$v17j^<|X zI8gnEglJgnglF#@2Un*$aO$^Os>`UvUT?gFK_CAP2b0{W{1ZViOH>c0KkeG}g+`?U zocEgn*;WR#pZ%n;gvK(Gz)Z>i`v(sYeaZ@`;EUZz4?Y08yf49 zm_oP$v&&O$bKFYyqq{xO_=txdcpRo$ABxEBPmF|D@;&0Q)DIX_`DiqJ3k=i{ATO~B zepwY{*De0V8YiuAr;i&toO+TvQm!R`*zXCfsxnNh=Clx!H9M3OIo0DDqaqjdoGGA4*Ba94U=zdEa(cr|8AMLPhj32g0B>jcF<17u;cq0v_MWGD zTS0Co5CS-j^pZ#jaMRd2={v-kT3LT4MDOdUKlpaYuggLuBL+d9C!i|!UpGv#$9@HE&;fiBfJ_%pwkm?C4L zN8|TaOuHjtVWYJ%xf*|9s|J4k^U$Pk0X2K$YWlz2M4c`z4vRxXS~Qb?AQgmQmbKZ#0hEuMKM+J;}9Hr3_qjiQUy{j%&ct&{j<7*#Ji&8 zVC+FO_(c5`^ZB}Py0m&2b~Q^W``^--`<~BWf@}!pyE{`QmMS>Y!xhwdC?yUD!@%p* zUx3Tl9wtPbM9;L4!5r0GN@!3q&BP;E`}HUc5rk6p&Ky)W@*QY-bR%$c!$wfi+)nD& zhcl&_dxLuSuV#AN638xE&S7PKz3`_C=17+$qokG>;P$~LP@47pX6WuUpe%nSV8aBA z=X^Dt$oE3$yA!l!(k1MH1RC;o%t0~2Zzz$@993uqz-JcRzbvnW>hv=&BhoQv?50_xpqF53|;BaHI<<#d0Nil`W7$)OAa|I-^ytUKAr z#OTiI^18RNyZI`pXtqJ7XGPS9vKuTOcE#a-i0*M;D>-sbNUY2HdRp;jgWPYeXPlhI3+onlBc|#@6){oKr)TQ*KBYJ;mjzkS- zU`L!CTAO`|ifh}Z4RaKO?LD8;3a1{4?dl)N^1LU&ZN?VdXA_MAFC^=^Uz*V2wdm z*jWgSwr%kK76lL!N8w#$D*=ZX(7~8sU?VjswpBs)^+twwPvvtkQ=L@j0AB{Ao7o zMNt83R$8#yKhhZ;53t8)IWV#3X0ypJoY>G-8DkZ^kg3Uj$c%QbU`az1^OxZ=Gh$f4 zUSBq!odo_pcUm;;Zr<<4$*3{@7d4iPyBz$y1AM&2Vo{*CkDssD*WWil6dA^!8M6EQ r-^y2uZFy7aq@2A(!J9HmS+<1aOj0mlrC;Zc+<;jx0-(e1{yHI diff --git a/data/ppo/trajectories/worst_rollout#2.pkl b/data/ppo/trajectories/worst_rollout#2.pkl index b1ece6741d620b2e2c107427e6946e808c579755..b5e2cb22f4fad3ec8073cb9cbd534593ef1fa4fd 100644 GIT binary patch delta 1167 zcmXApc~DbV6vh)81cM2SW{5#2fGmnAI|1_Uz3)N9kst+8tAJBP+$ajQb&7%pP$EzP z@gbE}mZ~Xcv~5I|ymz03f>;5;tk)}}c=SMrseY(fG)UUts$gRdye7hO*9TuE z{DAkHYoxWV0l#Qj12VT1!P^0)6wwUvS zAw6X3@k0FL-Z7=wauZCgO{P*Rt+3sLr|^{dIGoaZQ(c>zaoeFwz+SY}_;4x`Bvy2h z`$JWD;lg^xG4Nx2sbv9W)fB{PbVG1l$3sZHfl64rfpfQ`!PCF%jr}XVz@1awWWb;Y zwybJq9u2r66H=2IJ{mO)Oz4J19zrCS9;RN+(Q@}1%fa^Y9Y)WWBJlq9Pvo%w1gmav zWI}Jg#=G6}u8!+O=E?{MU;iU!vDnv~h6 zjQ~%?s*ZQXCFq&&w-BU@kk76hs{alDYLovX#-Q=)Yd=&qK=@0K6E#Z)**r@L6V-VP z!GOk&Ki2<;s`~WMUL-+Vg3G83_eO?$a3567lYr!)t;7wo63R;$aI|$NThrkQjq^u4 z%HFe)$Z3<)#3&gNuoxcQhKa3^n~K>qCO( zGmtsC5D8W`Qjx_jT!U_J-oyyM*Fl|M zItX6pj9MikU>JJA-n(#_UDfM^x}F%>xB*9)p=x7AWu9o8R|z;Qma)B`lrf5X)%Ga}fqIC8g%NGwpXWwa#R~`FX{VunX)aq3D+VnG7{b!L8RqBb zFlpzi@j6X1NYNHU>4sQPuMfq`yL!O%1?uK}P=Ag&l5N4`Wn0XuZ*tz~pMO7qo9k!K zhQ_bNnYeW_3ol93;?Y1UcSW@mM^wAui}53P8mQ;b0zXfC>^U+W z3?m0=e _%w!2Y&#gc(V+CE| ZMhXnmThR}un;9DIl2IiK^K?{l6{i>yUfbdGPm z|NM%v@{g2nO)ucj5tXMWEV1PCc$R!x=Hfu7^G8)RVeeomc9qbz#s;gndQKUZuWOv) zi&qP*Fq?~02#;?<;FB0DZt<;3O8jgYii!IjTD!4u(jz7Lc!ioty|@#<6d$aU>_`W1 z^KOt&E9;>tX6PK$O8U3VK>c&R1IcuQ&dlMU3OJTF zlZCJZqL(>Xyi~wtwiHkozV$_i&hv;avo5&tz9l7#;dAdF)q$JES^A{P9N@9?8kuw? z8Op-?nU|t+bTBD`aw%BP25I}D;^7;ZT;@ux98hq_tqQ;!ryg(|wMiiWy-CU|AzN4R9rm#Xqi;P#FT;Hv1ZhVHaEpuzn*>D()aCV`p} zyM?2{kKtrh-b`Zs(mSxEl}BXURZwy1>73GiJFsXn$EaUDfV}TIIlTpg5q~Q&m@&-m zRxfT0(4-PwR?Vp{-PQzkO+$^WI=}_#d$1#>WQMjmjr$85$;5X}cuz(V9=11tn`<%EIImMkULHOJ ze|lm|h`%~c#Wg!OdXHK%Z5Q`2L#i`aihDD;JJJqTZL?s7^d@2^=3{)&5l9C19fe$$ zEm5(ul*+c*qvE3f58HNv^BGd z#3d!v^q5f2#>s~@H#K9e#iagNu7MmC53~C>$FgZyF_*YpZM194AU!`9LrsW;P;4!w zhI(f=4urmdjS>|j-=YM5`3BOE_nGD0vk^m~`D#wyf7Y1bq$NMi&4snj=1#NdlXgPU ztB|$BQDPo1N<8r{x9kE`e&O43V`>HNkf}xPbyu0sBNF1ZXdau`-h?h4-Uy!6%qM=l zh1kR<9A&md0KHy9L^(P#wZ|2(s3wXXyvHNh4X^OwPbpB4k-~P^YM?%74YR5$2O4TC zKzB7HWP`DIhra_lJLfR_*e)M#OF4=i%EqvM?;R?TZ0k+9DYQ6m(6Oi#eDEoQex14O!o6}fPH}@PNSXOb_geiwQgnq E0XvdU-~a#s diff --git a/learning/ppo.py b/learning/ppo.py index 43d3209..7e5c5d5 100644 --- a/learning/ppo.py +++ b/learning/ppo.py @@ -30,6 +30,7 @@ def gather_rollout_data(autopilot_learner, policy_num, num_trajectories=100, sim best_cum_reward = -float('inf') worst_cum_reward = float('inf') total_cum_reward = 0 + total_timesteps = 0 for t in range(num_trajectories): integrated_sim = FullIntegratedSim(x8, autopilot_learner, sim_time) integrated_sim.simulation_loop() @@ -38,6 +39,7 @@ def gather_rollout_data(autopilot_learner, policy_num, num_trajectories=100, sim observation, next_observation, action, sample_log_prob, reward, done = integrated_sim.mdp_data_collector.get_trajectory_data() cum_reward = integrated_sim.mdp_data_collector.get_cum_reward() total_cum_reward += cum_reward + total_timesteps += reward.shape[0] # Save trajectory if worst or best so far if cum_reward > best_cum_reward: @@ -71,6 +73,7 @@ def gather_rollout_data(autopilot_learner, policy_num, num_trajectories=100, sim # Write to stats file stats_file = open(os.path.join('data', 'ppo', 'stats.txt'), 'a') stats_file.write('Policy Number #' + str(policy_num) + ':\n') + stats_file.write('Average Time Steps =' + str(total_timesteps/num_trajectories) + ':\n') stats_file.write('Average Reward: ' + str(total_cum_reward/num_trajectories) + '\n') stats_file.write('Best Reward: ' + str(best_cum_reward) + '\n') stats_file.write('Worst Reward: ' + str(worst_cum_reward) + '\n') diff --git a/simulation/mdp.py b/simulation/mdp.py index 0239095..28e4dce 100644 --- a/simulation/mdp.py +++ b/simulation/mdp.py @@ -4,6 +4,7 @@ states/observations, actions, and rewards. """ +import math import torch import simulation.jsbsim_properties as prp import numpy as np @@ -63,8 +64,26 @@ def state_from_sim(sim, debug=False): print('RollRate:', state[7], '; PitchRate:', state[8], '; YawRate:', state[9]) print('Relative WP: (', state[10], state[11], state[12], ')') + if is_unhealthy_state(state): + raise Exception("Unhealthy state, do better") + + return state +""" +Returns a bool for whether the state is unhealthy +""" +def is_unhealthy_state(state): + MAX_BANK = math.pi / 3 + MAX_PITCH = math.pi / 4 + if np.linalg.norm(state[10:13]) > 75: + return True + if not -MAX_BANK < state[4] < MAX_BANK: + return True + if not -MAX_PITCH < state[5] < MAX_PITCH: + return True + return False + """ Updates sim according to a control, assumes [control] is a 4-item tensor of @@ -131,7 +150,7 @@ def enact_autopilot(sim, autopilot): def quadratic_action_cost(action): action_cost_weights = torch.tensor([1.0, 20.0, 10.0, 1.0]) action[0] = 0.5 * (action[0] + 1) # converts throttle to be 0-1 - return float(torch.dot(action ** 2, action_cost_weights).detach()) / sum(action_cost_weights) # divide by 4 to be 0-1 + return float(torch.dot(action ** 2, action_cost_weights).detach() / sum(action_cost_weights)) # divide by 4 to be 0-1 """ The reward function for the bb autopilots. Since they won't know how to fly, @@ -184,7 +203,7 @@ def wp_reward(action, next_state, collided, wp_coeff=0.1, action_coeff=10): #print("wp_reward: ", wp_reward, " toward_waypoint_reward: ", toward_waypoint_reward) #print("alt_reward: ", alt_reward, " action_cost: ", -action_cost) #print("\t reward", wp_reward + toward_waypoint_reward + alt_reward - action_cost if not collided else 0) - return wp_reward + toward_waypoint_reward + takeoff_reward - action_cost if not collided else 0 + return wp_reward + toward_waypoint_reward + takeoff_reward - action_cost if not collided else -500 return wp_reward """ diff --git a/simulation/simulate.py b/simulation/simulate.py index 26b8eab..d235c82 100644 --- a/simulation/simulate.py +++ b/simulation/simulate.py @@ -46,6 +46,9 @@ def __init__(self, # Triggered when sim is complete self.done: bool = False + # + self.unhealthy_termination: bool = False + self.initial_collision = False """ Run loop for one simulation. @@ -90,6 +93,7 @@ def simulation_loop(self): break except Exception as e: print(e) + self.unhealthy_termination = True # If enacting the autopilot fails, end the simulation immediately break @@ -128,14 +132,17 @@ def simulation_loop(self): if torch.isnan(next_state).any(): next_state = state self.done = True - except: + except Exception as e: # If we couldn't acquire the state, something crashed with jsbsim # We treat that as the end of the simulation and don't update the state + print("\t\t\t\t\t\t\t\t\t\t", e) next_state = state self.done = True + self.unhealthy_termination = True # Data collection update for this step - self.mdp_data_collector.update(int(i/self.agent_interaction_frequency)-1, state, action, log_prob, next_state, self.done) + self.mdp_data_collector.update(int(i/self.agent_interaction_frequency)-1, state, action, + log_prob, next_state, self.unhealthy_termination) # End if collided if self.done == True: From cdd4c26c35791183726f86d7fed81f5d00731946 Mon Sep 17 00:00:00 2001 From: Owen Sorber Date: Sun, 3 Dec 2023 20:38:13 -0500 Subject: [PATCH 05/16] Implement a slew rate autopilot learner --- learning/autopilot.py | 95 ++++++++++++++++++++++++++++++++++++++++++ learning/ppo.py | 7 ++-- learning/utils.py | 11 +++++ simulation/mdp.py | 17 ++++++++ simulation/simulate.py | 18 ++++---- 5 files changed, 134 insertions(+), 14 deletions(-) create mode 100644 learning/utils.py diff --git a/learning/autopilot.py b/learning/autopilot.py index 2f4808e..c504a8d 100644 --- a/learning/autopilot.py +++ b/learning/autopilot.py @@ -4,6 +4,9 @@ from tensordict.nn.distributions import NormalParamExtractor from tensordict.nn import TensorDictModule, InteractionType from torchrl.modules import ProbabilisticActor, TanhNormal, ValueOperator +from torch.distributions import Categorical +from tensordict.nn import CompositeDistribution +from learning.utils import CategoricalControlsExtractor import os """ @@ -171,3 +174,95 @@ def init_from_saved(self, path): default_interaction_type=InteractionType.RANDOM, return_log_prob=True, ) + +""" +Slew rate autopilot learner. +Each control (throttle/aileron/elevator/rudder) has three options: +stay constant, go down, or go up. +""" +class SlewRateAutopilotLearner: + def __init__(self): + self.inputs = 13 + self.outputs = 4 + + # Slew rates are wrt sim clock + self.throttle_slew_rate = 0.001 + self.aileron_slew_rate = 0.001 + self.elevator_slew_rate = 0.001 + self.rudder_slew_rate = 0.001 + + self.policy_network = nn.Sequential( + nn.Linear(self.inputs, self.inputs), + nn.ReLU(), + nn.Linear(self.inputs, 3 * self.outputs), + nn.Sigmoid(), + CategoricalControlsExtractor() + ) + + self.instantiate_policy_module() + + def instantiate_policy_module(self): + policy_module = TensorDictModule(self.policy_network, in_keys=["observation"], out_keys=[("params", "throttle", "probs"),("params", "aileron", "probs"),("params", "elevator", "probs"),("params", "rudder", "probs")]) + self.policy_module = policy_module = ProbabilisticActor( + module=policy_module, + in_keys=["params"], + distribution_class=CompositeDistribution, + distribution_kwargs={ + "distribution_map": { + "throttle": Categorical, + "aileron": Categorical, + "elevator": Categorical, + "rudder": Categorical, + } + }, + default_interaction_type=InteractionType.RANDOM, + return_log_prob=True + ) + + # Returns the action selected and the log_prob of that action + def get_action(self, observation): + data = TensorDict({"observation": observation}, []) + policy_forward = self.policy_module(data) + action = torch.Tensor([policy_forward['throttle'], policy_forward['aileron'], policy_forward['elevator'], policy_forward['rudder']]) + return action, policy_forward["sample_log_prob"] + + # Apply a -1 transformation to the action to create control tensor such that: + # -1 means go down, 0 means stay same, and +1 means go up + def get_controls(self, action): + return action - 1 + + # flattened_params = flattened dx1 numpy array of all params to init from + # NOTE: the way the params are broken up into the weights/biases of each layer + # would need to be manually edited for changes in network architecture + def init_from_params(self, flattened_params): + flattened_params = torch.from_numpy(flattened_params).to(torch.float32) + + pl, pr = 0, 0 + layer1 = nn.Linear(self.inputs, self.inputs) + pr += layer1.weight.nelement() + layer1.weight = nn.Parameter(flattened_params[pl:pr].reshape(layer1.weight.shape)) + pl = pr + pr += layer1.bias.nelement() + layer1.bias = nn.Parameter(flattened_params[pl:pr].reshape(layer1.bias.shape)) + + layer2 = nn.Linear(self.inputs, 3*self.outputs) + pl = pr + pr += layer2.weight.nelement() + layer2.weight = nn.Parameter(flattened_params[pl:pr].reshape(layer2.weight.shape)) + pl = pr + pr += layer2.bias.nelement() + layer2.bias = nn.Parameter(flattened_params[pl:pr].reshape(layer2.bias.shape)) + + self.policy_network = nn.Sequential( + layer1, + nn.ReLU(), + layer2, + nn.Sigmoid(), + CategoricalControlsExtractor() + ) + self.instantiate_policy_module() + + + + + diff --git a/learning/ppo.py b/learning/ppo.py index 7e5c5d5..063feac 100644 --- a/learning/ppo.py +++ b/learning/ppo.py @@ -7,7 +7,7 @@ from torchrl.data.replay_buffers.storages import LazyTensorStorage from torchrl.objectives import ClipPPOLoss from torchrl.objectives.value import GAE -from learning.autopilot import StochasticAutopilotLearner +from learning.autopilot import StochasticAutopilotLearner, SlewRateAutopilotLearner from simulation.simulate import FullIntegratedSim from simulation.jsbsim_aircraft import x8 import numpy as np @@ -169,8 +169,9 @@ def train_ppo_once(policy_num, autopilot_learner, loss_module, advantage_module, num_policy_iterations = 100 # Build the modules - autopilot_learner = StochasticAutopilotLearner() - autopilot_learner.init_from_params(np.zeros(238)) + #autopilot_learner = StochasticAutopilotLearner() + autopilot_learner = SlewRateAutopilotLearner() + autopilot_learner.init_from_params(np.zeros(350)) value_module = make_value_estimator_module(autopilot_learner.inputs) advantage_module = GAE( gamma=gamma, lmbda=lmbda, value_network=value_module, average_gae=True diff --git a/learning/utils.py b/learning/utils.py new file mode 100644 index 0000000..f0f2002 --- /dev/null +++ b/learning/utils.py @@ -0,0 +1,11 @@ +import torch +import torch.nn as nn + +class CategoricalControlsExtractor(nn.Module): + def __init__(self): + super().__init__() + + def forward(self, *tensors: torch.Tensor) -> tuple[torch.Tensor, ...]: + tensor, *others = tensors + throttle, aileron, elevator, rudder = tensor.chunk(4, -1) + return (nn.functional.softmax(throttle), nn.functional.softmax(aileron), nn.functional.softmax(elevator), nn.functional.softmax(rudder), *others) diff --git a/simulation/mdp.py b/simulation/mdp.py index 28e4dce..27e421d 100644 --- a/simulation/mdp.py +++ b/simulation/mdp.py @@ -96,6 +96,14 @@ def update_sim_from_control(sim, control, debug=False): sim[prp.rudder_cmd] = control[3] if debug: print('Control Taken:', control) + +# Called every single sim step +# Assumes autopilot is a SlewRateAutopilotLearner +def update_sim_from_slewrate_control(sim, control, autopilot): + sim[prp.throttle_cmd] += control[0] * autopilot.throttle_slew_rate + sim[prp.aileron_cmd] += control[1] * autopilot.aileron_slew_rate + sim[prp.elevator_cmd] += control[2] * autopilot.elevator_slew_rate + sim[prp.rudder_cmd] += control[3] * autopilot.rudder_slew_rate """ Follows a predetermined sequence of controls, instead of using autopilot. @@ -145,6 +153,15 @@ def enact_autopilot(sim, autopilot): return state, action, log_prob +def query_slewrate_autopilot(sim, autopilot): + state = state_from_sim(sim, debug=False) + action, log_prob = autopilot.get_action(state) + control = autopilot.get_control(action) + #update_sim_from_slewrate_control(sim, control) + + return state, action, log_prob, control + + # Takes in the action outputted directly from the network and outputs the # normalized quadratic action cost from 0-1 def quadratic_action_cost(action): diff --git a/simulation/simulate.py b/simulation/simulate.py index d235c82..70f4ab9 100644 --- a/simulation/simulate.py +++ b/simulation/simulate.py @@ -2,7 +2,7 @@ from simulation.jsbsim_simulator import Simulation from simulation.jsbsim_aircraft import Aircraft, x8 import simulation.jsbsim_properties as prp -from learning.autopilot import AutopilotLearner +from learning.autopilot import AutopilotLearner, SlewRateAutopilotLearner import torch import simulation.mdp as mdp import os @@ -15,7 +15,7 @@ class FullIntegratedSim: def __init__(self, aircraft: Aircraft, - autopilot: AutopilotLearner, + autopilot: SlewRateAutopilotLearner, sim_time: float, display_graphics: bool = True, agent_interaction_frequency: int = 120, @@ -81,14 +81,8 @@ def simulation_loop(self): while i < update_num: # Do autopilot controls try: - state, action, log_prob = mdp.enact_autopilot(self.sim, self.autopilot) - if i % (self.agent_interaction_frequency * 2) == 0: - # print("\t\t\t\t\t\t\t\t\t\tAlt: ", state[0]) - # print("\n\t\t\t\t\t\t\t\t\t\tControl: ", action) - pass - # print("Control\t", action) - # print("Altitude\t", state[0]) - # state, action, log_prob = mdp.enact_predetermined_controls(self.sim, self.autopilot) + #state, action, log_prob = mdp.enact_autopilot(self.sim, self.autopilot) + state, action, log_prob, control = mdp.query_slewrate_autopilot(self.sim, self.autopilot) if torch.isnan(state).any(): break except Exception as e: @@ -99,6 +93,8 @@ def simulation_loop(self): # Update sim while waiting for next agent interaction while True: + mdp.update_sim_from_slewrate_control(self.sim, control, autopilot) + # Run another sim step self.sim.run() @@ -125,7 +121,7 @@ def simulation_loop(self): # Exit if sim is over or it's time for another agent interaction if self.done or i % self.agent_interaction_frequency == 0: break - + # Get new state try: next_state = mdp.state_from_sim(self.sim) From 6c74a015a80358db67ce0c7f884122dc0d3cf05b Mon Sep 17 00:00:00 2001 From: Owen Sorber Date: Sun, 3 Dec 2023 20:39:52 -0500 Subject: [PATCH 06/16] allow save --- learning/autopilot.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/learning/autopilot.py b/learning/autopilot.py index c504a8d..52bc481 100644 --- a/learning/autopilot.py +++ b/learning/autopilot.py @@ -261,6 +261,11 @@ def init_from_params(self, flattened_params): CategoricalControlsExtractor() ) self.instantiate_policy_module() + + # Saves the network to dir/name.pth + def save(self, dir, name): + path = os.path.join(dir, name + '.pth') + torch.save(self.policy_network, path) From fa66d3352fa159d144b4ac40ab8258b754085050 Mon Sep 17 00:00:00 2001 From: eric Date: Sun, 3 Dec 2023 20:43:25 -0500 Subject: [PATCH 07/16] debugging slew rate --- data/cross_entropy/generation1/learner#1.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation1/learner#10.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#11.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#12.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#13.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#14.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#15.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#16.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#17.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#18.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#19.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#2.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation1/learner#20.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#21.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#22.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#23.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#24.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#25.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#26.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#27.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#28.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#29.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#3.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation1/learner#30.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#31.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#32.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#33.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#34.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#35.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#36.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#37.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#38.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#39.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#4.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation1/learner#40.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#41.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#42.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#43.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#44.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#45.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#46.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#47.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#48.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#49.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#5.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation1/learner#50.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#51.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#52.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#53.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#54.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#55.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#56.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#57.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#58.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#59.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#6.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation1/learner#60.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#61.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#62.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#63.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#64.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#65.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#66.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#67.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#68.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#69.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#7.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation1/learner#70.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#71.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#72.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#73.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#74.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#75.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#76.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#77.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#78.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#79.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#8.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation1/learner#80.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#81.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#82.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#83.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#84.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#85.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#86.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#87.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#88.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#89.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#9.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation1/learner#90.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#91.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#92.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#93.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#94.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#95.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#96.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#97.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#98.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation1/learner#99.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#1.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation2/learner#10.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#11.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#12.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#13.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#14.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#15.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#16.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#17.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#18.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#19.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#2.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation2/learner#20.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#21.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#22.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#23.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#24.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#25.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#26.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#27.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#28.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#29.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#3.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation2/learner#30.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#31.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#32.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#33.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#34.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#35.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#36.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#37.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#38.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#39.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#4.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation2/learner#40.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#41.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#42.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#43.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#44.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#45.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#46.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#47.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#48.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#49.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#5.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation2/learner#50.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#51.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#52.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#53.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#54.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#55.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#56.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#57.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#58.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#59.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#6.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation2/learner#60.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#61.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#62.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#63.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#64.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#65.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#66.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#67.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#68.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#69.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#7.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation2/learner#70.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#71.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#72.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#73.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#74.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#75.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#76.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#77.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#78.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#79.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#8.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation2/learner#80.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#81.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#82.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#83.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#84.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#85.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#86.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#87.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#88.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#89.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#9.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation2/learner#90.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#91.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#92.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#93.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#94.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#95.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#96.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#97.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#98.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation2/learner#99.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#1.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation3/learner#10.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#11.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#12.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#13.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#14.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#15.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#16.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#17.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#18.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#19.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#2.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation3/learner#20.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#21.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#22.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#23.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#24.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#25.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#26.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#27.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#28.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#29.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#3.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation3/learner#30.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#31.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#32.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#33.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#34.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#35.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#36.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#37.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#38.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#39.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#4.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation3/learner#40.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#41.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#42.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#43.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#44.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#45.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#46.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#47.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#48.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#49.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#5.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation3/learner#50.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#51.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#52.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#53.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#54.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#55.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#56.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#57.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#58.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#59.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#6.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation3/learner#60.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#61.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#62.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#63.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#64.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#65.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#66.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#67.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#68.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#69.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#7.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation3/learner#70.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#71.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#72.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#73.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#74.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#75.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#76.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#77.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#78.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#79.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#8.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation3/learner#80.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#81.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#82.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#83.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#84.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#85.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#86.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#87.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#88.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#89.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#9.pth | Bin 0 -> 3750 bytes data/cross_entropy/generation3/learner#90.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#91.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#92.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#93.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#94.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#95.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#96.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#97.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#98.pth | Bin 0 -> 3755 bytes data/cross_entropy/generation3/learner#99.pth | Bin 0 -> 3755 bytes data/cross_entropy/stats.txt | 12 ++++++++++++ data/cross_entropy_old84085/stats.txt | 0 data/ppo/policies/learner#0.pth | Bin 5090 -> 4710 bytes data/ppo/stats.txt | 7 +++++++ data/ppo/trajectories/best_rollout#0.pkl | Bin 10309 -> 10309 bytes data/ppo/trajectories/worst_rollout#0.pkl | Bin 10316 -> 10316 bytes learning/autopilot.py | 2 +- learning/autotune.py | 11 +++++++++++ pid.json | 18 ++++++++++++++++++ simulation/simulate.py | 4 +++- 307 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 data/cross_entropy/generation1/learner#1.pth create mode 100644 data/cross_entropy/generation1/learner#10.pth create mode 100644 data/cross_entropy/generation1/learner#11.pth create mode 100644 data/cross_entropy/generation1/learner#12.pth create mode 100644 data/cross_entropy/generation1/learner#13.pth create mode 100644 data/cross_entropy/generation1/learner#14.pth create mode 100644 data/cross_entropy/generation1/learner#15.pth create mode 100644 data/cross_entropy/generation1/learner#16.pth create mode 100644 data/cross_entropy/generation1/learner#17.pth create mode 100644 data/cross_entropy/generation1/learner#18.pth create mode 100644 data/cross_entropy/generation1/learner#19.pth create mode 100644 data/cross_entropy/generation1/learner#2.pth create mode 100644 data/cross_entropy/generation1/learner#20.pth create mode 100644 data/cross_entropy/generation1/learner#21.pth create mode 100644 data/cross_entropy/generation1/learner#22.pth create mode 100644 data/cross_entropy/generation1/learner#23.pth create mode 100644 data/cross_entropy/generation1/learner#24.pth create mode 100644 data/cross_entropy/generation1/learner#25.pth create mode 100644 data/cross_entropy/generation1/learner#26.pth create mode 100644 data/cross_entropy/generation1/learner#27.pth create mode 100644 data/cross_entropy/generation1/learner#28.pth create mode 100644 data/cross_entropy/generation1/learner#29.pth create mode 100644 data/cross_entropy/generation1/learner#3.pth create mode 100644 data/cross_entropy/generation1/learner#30.pth create mode 100644 data/cross_entropy/generation1/learner#31.pth create mode 100644 data/cross_entropy/generation1/learner#32.pth create mode 100644 data/cross_entropy/generation1/learner#33.pth create mode 100644 data/cross_entropy/generation1/learner#34.pth create mode 100644 data/cross_entropy/generation1/learner#35.pth create mode 100644 data/cross_entropy/generation1/learner#36.pth create mode 100644 data/cross_entropy/generation1/learner#37.pth create mode 100644 data/cross_entropy/generation1/learner#38.pth create mode 100644 data/cross_entropy/generation1/learner#39.pth create mode 100644 data/cross_entropy/generation1/learner#4.pth create mode 100644 data/cross_entropy/generation1/learner#40.pth create mode 100644 data/cross_entropy/generation1/learner#41.pth create mode 100644 data/cross_entropy/generation1/learner#42.pth create mode 100644 data/cross_entropy/generation1/learner#43.pth create mode 100644 data/cross_entropy/generation1/learner#44.pth create mode 100644 data/cross_entropy/generation1/learner#45.pth create mode 100644 data/cross_entropy/generation1/learner#46.pth create mode 100644 data/cross_entropy/generation1/learner#47.pth create mode 100644 data/cross_entropy/generation1/learner#48.pth create mode 100644 data/cross_entropy/generation1/learner#49.pth create mode 100644 data/cross_entropy/generation1/learner#5.pth create mode 100644 data/cross_entropy/generation1/learner#50.pth create mode 100644 data/cross_entropy/generation1/learner#51.pth create mode 100644 data/cross_entropy/generation1/learner#52.pth create mode 100644 data/cross_entropy/generation1/learner#53.pth create mode 100644 data/cross_entropy/generation1/learner#54.pth create mode 100644 data/cross_entropy/generation1/learner#55.pth create mode 100644 data/cross_entropy/generation1/learner#56.pth create mode 100644 data/cross_entropy/generation1/learner#57.pth create mode 100644 data/cross_entropy/generation1/learner#58.pth create mode 100644 data/cross_entropy/generation1/learner#59.pth create mode 100644 data/cross_entropy/generation1/learner#6.pth create mode 100644 data/cross_entropy/generation1/learner#60.pth create mode 100644 data/cross_entropy/generation1/learner#61.pth create mode 100644 data/cross_entropy/generation1/learner#62.pth create mode 100644 data/cross_entropy/generation1/learner#63.pth create mode 100644 data/cross_entropy/generation1/learner#64.pth create mode 100644 data/cross_entropy/generation1/learner#65.pth create mode 100644 data/cross_entropy/generation1/learner#66.pth create mode 100644 data/cross_entropy/generation1/learner#67.pth create mode 100644 data/cross_entropy/generation1/learner#68.pth create mode 100644 data/cross_entropy/generation1/learner#69.pth create mode 100644 data/cross_entropy/generation1/learner#7.pth create mode 100644 data/cross_entropy/generation1/learner#70.pth create mode 100644 data/cross_entropy/generation1/learner#71.pth create mode 100644 data/cross_entropy/generation1/learner#72.pth create mode 100644 data/cross_entropy/generation1/learner#73.pth create mode 100644 data/cross_entropy/generation1/learner#74.pth create mode 100644 data/cross_entropy/generation1/learner#75.pth create mode 100644 data/cross_entropy/generation1/learner#76.pth create mode 100644 data/cross_entropy/generation1/learner#77.pth create mode 100644 data/cross_entropy/generation1/learner#78.pth create mode 100644 data/cross_entropy/generation1/learner#79.pth create mode 100644 data/cross_entropy/generation1/learner#8.pth create mode 100644 data/cross_entropy/generation1/learner#80.pth create mode 100644 data/cross_entropy/generation1/learner#81.pth create mode 100644 data/cross_entropy/generation1/learner#82.pth create mode 100644 data/cross_entropy/generation1/learner#83.pth create mode 100644 data/cross_entropy/generation1/learner#84.pth create mode 100644 data/cross_entropy/generation1/learner#85.pth create mode 100644 data/cross_entropy/generation1/learner#86.pth create mode 100644 data/cross_entropy/generation1/learner#87.pth create mode 100644 data/cross_entropy/generation1/learner#88.pth create mode 100644 data/cross_entropy/generation1/learner#89.pth create mode 100644 data/cross_entropy/generation1/learner#9.pth create mode 100644 data/cross_entropy/generation1/learner#90.pth create mode 100644 data/cross_entropy/generation1/learner#91.pth create mode 100644 data/cross_entropy/generation1/learner#92.pth create mode 100644 data/cross_entropy/generation1/learner#93.pth create mode 100644 data/cross_entropy/generation1/learner#94.pth create mode 100644 data/cross_entropy/generation1/learner#95.pth create mode 100644 data/cross_entropy/generation1/learner#96.pth create mode 100644 data/cross_entropy/generation1/learner#97.pth create mode 100644 data/cross_entropy/generation1/learner#98.pth create mode 100644 data/cross_entropy/generation1/learner#99.pth create mode 100644 data/cross_entropy/generation2/learner#1.pth create mode 100644 data/cross_entropy/generation2/learner#10.pth create mode 100644 data/cross_entropy/generation2/learner#11.pth create mode 100644 data/cross_entropy/generation2/learner#12.pth create mode 100644 data/cross_entropy/generation2/learner#13.pth create mode 100644 data/cross_entropy/generation2/learner#14.pth create mode 100644 data/cross_entropy/generation2/learner#15.pth create mode 100644 data/cross_entropy/generation2/learner#16.pth create mode 100644 data/cross_entropy/generation2/learner#17.pth create mode 100644 data/cross_entropy/generation2/learner#18.pth create mode 100644 data/cross_entropy/generation2/learner#19.pth create mode 100644 data/cross_entropy/generation2/learner#2.pth create mode 100644 data/cross_entropy/generation2/learner#20.pth create mode 100644 data/cross_entropy/generation2/learner#21.pth create mode 100644 data/cross_entropy/generation2/learner#22.pth create mode 100644 data/cross_entropy/generation2/learner#23.pth create mode 100644 data/cross_entropy/generation2/learner#24.pth create mode 100644 data/cross_entropy/generation2/learner#25.pth create mode 100644 data/cross_entropy/generation2/learner#26.pth create mode 100644 data/cross_entropy/generation2/learner#27.pth create mode 100644 data/cross_entropy/generation2/learner#28.pth create mode 100644 data/cross_entropy/generation2/learner#29.pth create mode 100644 data/cross_entropy/generation2/learner#3.pth create mode 100644 data/cross_entropy/generation2/learner#30.pth create mode 100644 data/cross_entropy/generation2/learner#31.pth create mode 100644 data/cross_entropy/generation2/learner#32.pth create mode 100644 data/cross_entropy/generation2/learner#33.pth create mode 100644 data/cross_entropy/generation2/learner#34.pth create mode 100644 data/cross_entropy/generation2/learner#35.pth create mode 100644 data/cross_entropy/generation2/learner#36.pth create mode 100644 data/cross_entropy/generation2/learner#37.pth create mode 100644 data/cross_entropy/generation2/learner#38.pth create mode 100644 data/cross_entropy/generation2/learner#39.pth create mode 100644 data/cross_entropy/generation2/learner#4.pth create mode 100644 data/cross_entropy/generation2/learner#40.pth create mode 100644 data/cross_entropy/generation2/learner#41.pth create mode 100644 data/cross_entropy/generation2/learner#42.pth create mode 100644 data/cross_entropy/generation2/learner#43.pth create mode 100644 data/cross_entropy/generation2/learner#44.pth create mode 100644 data/cross_entropy/generation2/learner#45.pth create mode 100644 data/cross_entropy/generation2/learner#46.pth create mode 100644 data/cross_entropy/generation2/learner#47.pth create mode 100644 data/cross_entropy/generation2/learner#48.pth create mode 100644 data/cross_entropy/generation2/learner#49.pth create mode 100644 data/cross_entropy/generation2/learner#5.pth create mode 100644 data/cross_entropy/generation2/learner#50.pth create mode 100644 data/cross_entropy/generation2/learner#51.pth create mode 100644 data/cross_entropy/generation2/learner#52.pth create mode 100644 data/cross_entropy/generation2/learner#53.pth create mode 100644 data/cross_entropy/generation2/learner#54.pth create mode 100644 data/cross_entropy/generation2/learner#55.pth create mode 100644 data/cross_entropy/generation2/learner#56.pth create mode 100644 data/cross_entropy/generation2/learner#57.pth create mode 100644 data/cross_entropy/generation2/learner#58.pth create mode 100644 data/cross_entropy/generation2/learner#59.pth create mode 100644 data/cross_entropy/generation2/learner#6.pth create mode 100644 data/cross_entropy/generation2/learner#60.pth create mode 100644 data/cross_entropy/generation2/learner#61.pth create mode 100644 data/cross_entropy/generation2/learner#62.pth create mode 100644 data/cross_entropy/generation2/learner#63.pth create mode 100644 data/cross_entropy/generation2/learner#64.pth create mode 100644 data/cross_entropy/generation2/learner#65.pth create mode 100644 data/cross_entropy/generation2/learner#66.pth create mode 100644 data/cross_entropy/generation2/learner#67.pth create mode 100644 data/cross_entropy/generation2/learner#68.pth create mode 100644 data/cross_entropy/generation2/learner#69.pth create mode 100644 data/cross_entropy/generation2/learner#7.pth create mode 100644 data/cross_entropy/generation2/learner#70.pth create mode 100644 data/cross_entropy/generation2/learner#71.pth create mode 100644 data/cross_entropy/generation2/learner#72.pth create mode 100644 data/cross_entropy/generation2/learner#73.pth create mode 100644 data/cross_entropy/generation2/learner#74.pth create mode 100644 data/cross_entropy/generation2/learner#75.pth create mode 100644 data/cross_entropy/generation2/learner#76.pth create mode 100644 data/cross_entropy/generation2/learner#77.pth create mode 100644 data/cross_entropy/generation2/learner#78.pth create mode 100644 data/cross_entropy/generation2/learner#79.pth create mode 100644 data/cross_entropy/generation2/learner#8.pth create mode 100644 data/cross_entropy/generation2/learner#80.pth create mode 100644 data/cross_entropy/generation2/learner#81.pth create mode 100644 data/cross_entropy/generation2/learner#82.pth create mode 100644 data/cross_entropy/generation2/learner#83.pth create mode 100644 data/cross_entropy/generation2/learner#84.pth create mode 100644 data/cross_entropy/generation2/learner#85.pth create mode 100644 data/cross_entropy/generation2/learner#86.pth create mode 100644 data/cross_entropy/generation2/learner#87.pth create mode 100644 data/cross_entropy/generation2/learner#88.pth create mode 100644 data/cross_entropy/generation2/learner#89.pth create mode 100644 data/cross_entropy/generation2/learner#9.pth create mode 100644 data/cross_entropy/generation2/learner#90.pth create mode 100644 data/cross_entropy/generation2/learner#91.pth create mode 100644 data/cross_entropy/generation2/learner#92.pth create mode 100644 data/cross_entropy/generation2/learner#93.pth create mode 100644 data/cross_entropy/generation2/learner#94.pth create mode 100644 data/cross_entropy/generation2/learner#95.pth create mode 100644 data/cross_entropy/generation2/learner#96.pth create mode 100644 data/cross_entropy/generation2/learner#97.pth create mode 100644 data/cross_entropy/generation2/learner#98.pth create mode 100644 data/cross_entropy/generation2/learner#99.pth create mode 100644 data/cross_entropy/generation3/learner#1.pth create mode 100644 data/cross_entropy/generation3/learner#10.pth create mode 100644 data/cross_entropy/generation3/learner#11.pth create mode 100644 data/cross_entropy/generation3/learner#12.pth create mode 100644 data/cross_entropy/generation3/learner#13.pth create mode 100644 data/cross_entropy/generation3/learner#14.pth create mode 100644 data/cross_entropy/generation3/learner#15.pth create mode 100644 data/cross_entropy/generation3/learner#16.pth create mode 100644 data/cross_entropy/generation3/learner#17.pth create mode 100644 data/cross_entropy/generation3/learner#18.pth create mode 100644 data/cross_entropy/generation3/learner#19.pth create mode 100644 data/cross_entropy/generation3/learner#2.pth create mode 100644 data/cross_entropy/generation3/learner#20.pth create mode 100644 data/cross_entropy/generation3/learner#21.pth create mode 100644 data/cross_entropy/generation3/learner#22.pth create mode 100644 data/cross_entropy/generation3/learner#23.pth create mode 100644 data/cross_entropy/generation3/learner#24.pth create mode 100644 data/cross_entropy/generation3/learner#25.pth create mode 100644 data/cross_entropy/generation3/learner#26.pth create mode 100644 data/cross_entropy/generation3/learner#27.pth create mode 100644 data/cross_entropy/generation3/learner#28.pth create mode 100644 data/cross_entropy/generation3/learner#29.pth create mode 100644 data/cross_entropy/generation3/learner#3.pth create mode 100644 data/cross_entropy/generation3/learner#30.pth create mode 100644 data/cross_entropy/generation3/learner#31.pth create mode 100644 data/cross_entropy/generation3/learner#32.pth create mode 100644 data/cross_entropy/generation3/learner#33.pth create mode 100644 data/cross_entropy/generation3/learner#34.pth create mode 100644 data/cross_entropy/generation3/learner#35.pth create mode 100644 data/cross_entropy/generation3/learner#36.pth create mode 100644 data/cross_entropy/generation3/learner#37.pth create mode 100644 data/cross_entropy/generation3/learner#38.pth create mode 100644 data/cross_entropy/generation3/learner#39.pth create mode 100644 data/cross_entropy/generation3/learner#4.pth create mode 100644 data/cross_entropy/generation3/learner#40.pth create mode 100644 data/cross_entropy/generation3/learner#41.pth create mode 100644 data/cross_entropy/generation3/learner#42.pth create mode 100644 data/cross_entropy/generation3/learner#43.pth create mode 100644 data/cross_entropy/generation3/learner#44.pth create mode 100644 data/cross_entropy/generation3/learner#45.pth create mode 100644 data/cross_entropy/generation3/learner#46.pth create mode 100644 data/cross_entropy/generation3/learner#47.pth create mode 100644 data/cross_entropy/generation3/learner#48.pth create mode 100644 data/cross_entropy/generation3/learner#49.pth create mode 100644 data/cross_entropy/generation3/learner#5.pth create mode 100644 data/cross_entropy/generation3/learner#50.pth create mode 100644 data/cross_entropy/generation3/learner#51.pth create mode 100644 data/cross_entropy/generation3/learner#52.pth create mode 100644 data/cross_entropy/generation3/learner#53.pth create mode 100644 data/cross_entropy/generation3/learner#54.pth create mode 100644 data/cross_entropy/generation3/learner#55.pth create mode 100644 data/cross_entropy/generation3/learner#56.pth create mode 100644 data/cross_entropy/generation3/learner#57.pth create mode 100644 data/cross_entropy/generation3/learner#58.pth create mode 100644 data/cross_entropy/generation3/learner#59.pth create mode 100644 data/cross_entropy/generation3/learner#6.pth create mode 100644 data/cross_entropy/generation3/learner#60.pth create mode 100644 data/cross_entropy/generation3/learner#61.pth create mode 100644 data/cross_entropy/generation3/learner#62.pth create mode 100644 data/cross_entropy/generation3/learner#63.pth create mode 100644 data/cross_entropy/generation3/learner#64.pth create mode 100644 data/cross_entropy/generation3/learner#65.pth create mode 100644 data/cross_entropy/generation3/learner#66.pth create mode 100644 data/cross_entropy/generation3/learner#67.pth create mode 100644 data/cross_entropy/generation3/learner#68.pth create mode 100644 data/cross_entropy/generation3/learner#69.pth create mode 100644 data/cross_entropy/generation3/learner#7.pth create mode 100644 data/cross_entropy/generation3/learner#70.pth create mode 100644 data/cross_entropy/generation3/learner#71.pth create mode 100644 data/cross_entropy/generation3/learner#72.pth create mode 100644 data/cross_entropy/generation3/learner#73.pth create mode 100644 data/cross_entropy/generation3/learner#74.pth create mode 100644 data/cross_entropy/generation3/learner#75.pth create mode 100644 data/cross_entropy/generation3/learner#76.pth create mode 100644 data/cross_entropy/generation3/learner#77.pth create mode 100644 data/cross_entropy/generation3/learner#78.pth create mode 100644 data/cross_entropy/generation3/learner#79.pth create mode 100644 data/cross_entropy/generation3/learner#8.pth create mode 100644 data/cross_entropy/generation3/learner#80.pth create mode 100644 data/cross_entropy/generation3/learner#81.pth create mode 100644 data/cross_entropy/generation3/learner#82.pth create mode 100644 data/cross_entropy/generation3/learner#83.pth create mode 100644 data/cross_entropy/generation3/learner#84.pth create mode 100644 data/cross_entropy/generation3/learner#85.pth create mode 100644 data/cross_entropy/generation3/learner#86.pth create mode 100644 data/cross_entropy/generation3/learner#87.pth create mode 100644 data/cross_entropy/generation3/learner#88.pth create mode 100644 data/cross_entropy/generation3/learner#89.pth create mode 100644 data/cross_entropy/generation3/learner#9.pth create mode 100644 data/cross_entropy/generation3/learner#90.pth create mode 100644 data/cross_entropy/generation3/learner#91.pth create mode 100644 data/cross_entropy/generation3/learner#92.pth create mode 100644 data/cross_entropy/generation3/learner#93.pth create mode 100644 data/cross_entropy/generation3/learner#94.pth create mode 100644 data/cross_entropy/generation3/learner#95.pth create mode 100644 data/cross_entropy/generation3/learner#96.pth create mode 100644 data/cross_entropy/generation3/learner#97.pth create mode 100644 data/cross_entropy/generation3/learner#98.pth create mode 100644 data/cross_entropy/generation3/learner#99.pth create mode 100644 data/cross_entropy/stats.txt create mode 100644 data/cross_entropy_old84085/stats.txt create mode 100644 learning/autotune.py create mode 100644 pid.json diff --git a/data/cross_entropy/generation1/learner#1.pth b/data/cross_entropy/generation1/learner#1.pth new file mode 100644 index 0000000000000000000000000000000000000000..b763e2a7cf4d08f4c60d05a9c7c1cfc0dcb6a0d4 GIT binary patch literal 3750 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 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#11.pth b/data/cross_entropy/generation1/learner#11.pth new file mode 100644 index 0000000000000000000000000000000000000000..f8fe34a6879008f67f750cbae3c344727a489c0e GIT binary patch literal 3755 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 dGS^ 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 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#13.pth b/data/cross_entropy/generation1/learner#13.pth new file mode 100644 index 0000000000000000000000000000000000000000..ded11729ac05362de618cca6903b7362dfad5366 GIT binary patch literal 3755 zcmbVP3sh4_8V>Ie1Qnl%ii#F|5D0`Yc6V~_xw$j{|Ih#Z z|2O~4WNCeTWiq*3)}{55b(fhb(q^G-k*b7PBgv4;qIu?wv>@4RcU$UhV5~L+t+ZH_ z^Q}gQnX)SlRtrO#I6XxUg&dTHF_C5kl8vlDUS-HTTF+0$*fUnnK4-iLc#SYkm7w5v!f8fdUt*IPUGTO4`HmQzAry!vJ(Xkv)OHfmqDS^^dbCcfz>7$78QF5ioNv% zx(pE|CWa<>CkpMTk091pKd`G9X)Ym4?Sz5k;$%eq1i}9LP)|WOhA?4xfPV06hdWIf zE{G1)_vA(G49QT0kqf*Oj6uTaV11ugM%`0I2ogg?WM(UA^fclY8!Ctm6LZ!@%xZrz zVWc28Tuit`FEm2vd@EY-#kmoOqPh~$%#n|@DKff^i4Iy^I2m*x&8>q;PBdAErqCkar_v&~wRGq-T4ZY`EzYJ>INI7C(l#N zQjFHnT-NDXT3;zR3Fx=~G08JX3#~w(a^b5lLu)<4*B~W%od{sP6Md#bjS_$j5`c|v z0GlKLn$#u0ch>*zpV`DPW{P*isks%#*EIflvl~5SV?EvAclFq~ zjI`wc*9X_ugLoPh1qY{U*`Q1N;2pdP6wh3B`0|ZQEL~y7k+~IMoQA-EomdYtf4I)3 znEhd7#$I+&;09cFAViZ#HnGij;@QmZ0j!gL1do;Hfm46G&2Ab|1DY#WvyKDhY`!BJ zu6Z7Xvtw_9&GISmSxW_8^eqEJN42vZ;bY)~A|-t5r#k%X!dkp7rpDD8Wn&`(Kg88H z(%FSUN=z;|>x#XnhVu1m*^AqKVcN-~Y@T-|ZXEB@bQD)&LKOy1mJfuxde6ew>)Kly z9*=^Vzmhm}6#d!5Y zA24(jjW1uW!+UG$;KRk&TAnO!1$+Nd0~hb_3(vqLcs#oZ|7G75;L~^tPkxjE=bqWZ zep%8F9=pF4d{(*}4{aE!>6lat?=I;Di?D^S;-!XR{w_R-E?2WgTZg)zM~H z-SRa~{`+AzbmBv{X?G$#bLax=SJ4a`$tM5}7y;w~jbO-kb3po>N#I1~NjA4V1oWJR z@SgfhEjODQL16Y}a6jZKJaa6NHT?V~X5VgbEgABdJ-zHHIQs4owmN(;T(`NDZK#ij z&+d)G`*wZ{$65(+qLgI|r+$P#*ptluI(#G2z~|a4fx2TAo^*GSYt6Zxu(|nxi?0|LwzV&4=1w8}^X7^X zDwBIwjAH(DZM9^i`3fZ?LBU%(yRk6Wo2xtg^JYs!WwD-?ltS^bQ#S5;U|J|_=7h1vmjnm@~&9W){J&9}laF*7O-^FBp+>e(RW&aHh0pPa) literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#14.pth b/data/cross_entropy/generation1/learner#14.pth new file mode 100644 index 0000000000000000000000000000000000000000..5fb5ae32377bb3833e472b2beb6c25eb47f797b4 GIT binary patch literal 3755 zcmbVP3s_S}77kA#h*U(YVs(Ah_~IFY7&4=%xDe$LM1!uTm*m2YgoH_MKyhh7K*3ji zyA?$gEZWCfXxCR|hAy?=sw=BlYPGi7YL`##s{i-7GEy0CqF5@dAkUJR5FnfHYNeh=)@C;{VODEc zzRl#c(2g*p&B{_{PEVdeBPVTT&6GusWMj*aM+x#&==sT5J11eb<|3~ueE|30P(azK ze43^04&-e#+AJ2@$eL|dhdkA8qV2S4y4lFekZ-i ztD%7FH9J^t-X}5!2hAdXqk;QxwyzY&pHY?R5}h)Zm^AT~nGSr0Lr z|01-VgT!X($Gov6XqX#=%^E0B_Vd8|M&)qx6B%w=CY*_2A{oJuCSAK<8(4{e)}s5*c*pH3=alA{frG}`>DNuEPl89Ca*g>P#K+U6F%KS)V_O9ZgJ64mI?4hg_c z2|%q2z%B_uodjUF1YnN@pk4ydAOYAb0eD*i&?o`e=gf9Gv%}J~z5I?JI$Haft0w%D z_QLHnLL9+R@z0Ch=qppZyTR}3 z;Sq@mvH!0RS;J&tcX2Cd7-oc*nhT-Nx^kk5ZX=&WguwSa)uhe$9Z;~tPEP+203)u~ z!8`ZrLFNTDKGM*HkEn)|f`k6#aZ@JwX5)C06k7+6$ET46?;)5GYJjJ%b-<76lSy=; z2E0D>&6d>5d&udw?cluiYxt;l1zexB2*30A2>CHOi(HBG#1YHa!n%aQEX_o;HcXjc>I-?fc2=jX#c?SQtfQJ~`G7Lc|<0qbgyXc|}Fz~45;f#lCNQS6daWR-O7%%Op z!n@CRg4>@bleYaiq)F=mH~Z9U8n(CNo!>sfo014_2zUg3{>qm`sy*THOYtPV{}!UU z*`Yagdn+DRa2}YhohGfhL2%87a&ogz8H2#a z{OR^TD!r=?qR? z`w(7keuD&Ak6}~uC2(|9GQr9)O`CoWZd|b%cElbff1FmMu{NZTo4;Hpr}nM~z0P^T zMO$N_xpx3eJTZW%iIPU%xJ`KpIfMTpy_O>z44Z&Grdh-^~=cqZ#HPg z{3Rc+ntTXPR}TcsmV5>BP6oi)afF2UWsrXt1e1Tsvk1W70ls4RYr`iU=1w8}^WusT zEc0`(7=`@l+Gb5m@D@r&w4Aqewl+7@ldC)Y^I}WGW#R6Y!i3`EpzYlCz+5bB<_5DV zF=71wQi~!Zl`5q&DmE&5k}@tjCMH4|856;^NM*DtDsEDwGA=GEHbxc4ds)q%E>&gNc&+5BJXShq5`_gsSe}3N5w7$L*B(_7 j*BRhgMb3+BGignjUbTl5EL?Fk)rfc9#J%6X$;}Qy%Lg4awCIl0J)@7Ylo>P9{A2~LwzQvtF@!_Oj^m}blSkkk@t8F@(~Q^itHsNymWtx@ATD% z@m5S`lg`5R(l&;h_lbEv9G9LWojp92llAb)KzuU(`!lvU`h z#X5_X)KO-0nGFR9)&sSHy~f3{LBiNz?NEM~zm*|CF5jw{zv>u!rN;Ix70gW8_^j3M6_(BSfdE={4q=NFSr@RF1 zD23LC)2<-tQi?$nBojJ2LmO>!ot5N?!qMOfC*>&m1tJ{HY-X!&L7W`LC=}ZMoKYLM zAoQgqiWODl85}@nhS(`bO37`N){~PpSnMc{_?|)Wd4!DcC;V$s0{8N$MTyG=M<+5U zNrRH>g+G((&}0ot(Q+$RRz&Mfa2D{GzXflL79}u_tz z7E1_831NwZuv9`wNeF2P;d}{UnS{_Nuz)sMjCuo!%9l$x;*g2rnP{#;7B?@Ef|}4b zi`G11AK}H*!6wpy5i@CL&;kvr5HtC99a^YCmDF=s@J=3alkjq&MLY|tMBT*cNTjqWFP)+^)hJo?qo9!yTSBr-k@mx6?M4RWsqd)VfWBCK+L<* zu-z06w;BuKIA1@wv0(+c)_t7qzg7W9-Bm(|<0#zz;9=L4)^)h8@iuP%?kt=6_ZuKO zU^{!}(J=grmjP|? z#_kOepRG)}_w5Fjcx+)+OZKs$Kaaq^i}!#Fx0~@sgADFCQi4nJTbz-X55b{@M_9-B zLiOj5TAdiZ%6`%IXV9^45gt@^1a>cJgx?PTiv6Up1D1QFvyG3Y;QS?%LC<^}m_r_b zuzMUXJ3LmMuvN=898f~Gb0BVsIOV*)bq(tkw54m&ku1=0?{y);!F2Johz?}f!)_1 zfH6Kb>Pvecs`m$%<73U;_#|5&YbFLVB@1#V5{;bJ9Babym~8?rRVNt z@vkL#$IjW{^3gI%MrCBh5m#{jzWHqe|if`GL$_Uy=;sq@w};XPM>1UtW< z?(F=!o6S5{>nypvvn#iI9$c?Jg`56D;PL%7;f$z%s&~a>_TT5*!So(K*3WS*_3HF| zcK^a=*617vdJKxLidk}}F zt_BtRJ;1>a&Vh$9@4?{85PaUb41by$#%}mL0G>N{0@l@c;+pnY_TkqLopUMyJbJOb ztNV%^);#_KM3$Oy|JNUP9VbXK6?t$#`VZht+&Oh?bu#8FMruPr>;di+ z!apyr7(p^$_lmKAKV6$m8EIZZ$%vQpmQJ^o=J(_34*$H^QiLql-BOHDd~BqZyB^S$ z!e*|ci!;)q{+C*$QYB1GNQg^{i%(9N6rY%=Oi(2%xu!~ppBR@sF-aAtj7wG}Ch}gU zXD?4xa31ncF5$sD`}F4HUc~vkK=1aPd(g86+{B`LkDTB}IyGJL&rObV4dh0(wZ@Gkz&jd+rglF_q1K!ft plXo6}YUkQd{E?4qoF0E@mSytyB(Cwpxr8^ri^;sXA1^P;{s&8Q+_eAz literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#16.pth b/data/cross_entropy/generation1/learner#16.pth new file mode 100644 index 0000000000000000000000000000000000000000..d129e3f420165d1d4ab1a06e3a940ff56da30a9c GIT binary patch literal 3755 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 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#18.pth b/data/cross_entropy/generation1/learner#18.pth new file mode 100644 index 0000000000000000000000000000000000000000..88450cec87722fa4cd01e862277218875b86ae92 GIT binary patch literal 3755 zcmbVP2~<;88V-wqK^A3kmnw=N2!vI|_pYKcqd|cv8n=c=^5A8R2{(CR(~MXfkUA^G*Ouba(L?Ta!LcJcW6O+FZL18^W3?{l=!{m;vGX=f5bc?noAb_lx%dD7`+xuc z-T&U3t@QAe$$WfdU0RSVKxUvRvynE3D@MiXD3*#XT42aX_m$0YwhDJGYcgw@Sfep^ zp-E>o(3V)O$;eWAPES6ahF03h>M4U9%A%G+Hyd=1RP&RuW==wHEQB7*)xO++O%Y|L z7Sb$jwm?s<)?_fyT2^l|TI5+~9c`v{6ZKkF4!cFEpqF4klW#33;HAA8zSBqDpSNN( z88t;*uinCP^S+YNSZEe@*J`-`dIPIBYBX}LM-Julp|2hGP(eR+5U-t2X&01GW}T+U zOlugEX@Ld$3)TbF0iDLhu|Q$0r#h4$(_1tJR)fK5gO`E5rm6k;(E^iMFf1wt35vn$ zeqDw%C3=?8@JKO>RzsbP7Hm8;eP5tZyoM5 zWq(0*fVw9yYGEms*66svOTic@j1E$VyfNyWDol`gPef)gQ94&6PO-s)*bp&iUBpb5 zR}+Q{azn+0OZ0-ngwBXawHxO~JRIJYfCi3ylv$oBzF;KByeJzS5y^NgXFLV%=t#8} zr(Htp3mF#1NG3E^R&TJ#HD;P83P*!ioRq_n?-1c=W-*yH#R+m48yTtg=8Rgn1wj?k zFiupFXK(=7>0+lG#!GH1)E=Cyw#W(-ln+>#n4^>_{gi%{Fo}D)Rl?+I!O;{JrmEnm z<-(uQRd9?7rm49VE6dkY7C4p}$#By$aZEg;U<5-%j`D!g&kjkYn;int$T${`SHX1A z$b>35Q3WSi8FArcFx?q$9sJ4;f31R(8IkW(7?Imbrq?t^WNRiP(s3#yvTYh8(khD) zIg`zZ?8sq64yYJ0$(_&UMN0JPF}^5#jrGs8PW@2_YpR%y%NxN(gll zLRvytAR#Q25Hb=%y@c>L62b)%LW95py|KtZX=%8yTEdY4jSSC3lMNQRcnKq!n66ng z=O|AoJ$X72Z6lciO#Oa;rCx3FMQj`ByPryVZlSzr@&f6KxpDp(=v zF0FzesNk|!Ecj52k=+g}Rj^8m(Q+w9)y^1wB*kcj6rVM{{3IAlj zb2|-|0oUy`zl^0#{LYqA<_|JR3oTl|TN=Z#?Y>IhslC=&JeY9IS7kReyC>f{O1)59$Ow4!^0DkyW4LaXA9>@)IK_C1Wg?}T% z=n2LZf4hWEnWy7vQ=`$WuSoLnV;MLxaX+!@?<@#=Fa(7E=mv6+ZpJm0J3&a*B+_sp z1>6erz}D-Fz~%WB*cT=e4cq+i19F4o`K<(CRFA<8+ozDnTZg0Z=gv6(ePuXUbJ~YA z9c)Lnvy;hze>{!AxApih5pr~X`+nqhZ8AP&Yr!#hz9nbIhT^Dl4YBTF6xb2E2_Mm% zZMr<@3HYf4p}P~eHYsBsk&}@zYb^di>hz9c=Dt-{Z*wv(| zG3V1-HYDQX4IiSQRVUHFy-M(Xvo~3L{V)!$9*Dnw*+1>&ol>xF@#kn>YryFq5BH!L z@A055&<099lEH+!R2)>Zo_sNmMEN6*rIlxToE}y_7Dv$KfUg+dEg^2d=T0H~^X`h# zOXlNRF^c)qwaJ)~?kSXvL^*Hi%lg7xcdqX6&$}%Rmc_YRiWQ2Fg*J271AV!$nQQdA zjP&ULr4}g^NhwK538@K*qmo7^CMU-yDU##4rbtRmNlb}PPEJi6os=4%%6qwR(%zUz z&O`pmR=V-dzP|am7IFSA(7C6uKCAUHRX%;F=Ep{OxR4J6jNo z_M7UiIp8k>&gR3Nu3Q|DGWe#xYjg%XmANlfXZ^S5EnDg36(gw)@)-HrKsV{@)jNkj lwR7z$f8^sDr^g?fWs~`P64&_QY-Klo7n614e!RRW`ya8$+Z+G@ literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#19.pth b/data/cross_entropy/generation1/learner#19.pth new file mode 100644 index 0000000000000000000000000000000000000000..f5403180b136f1cc57f3781afaacd27a4baebbb4 GIT binary patch literal 3755 zcmbVP3sh4_8V&>yf}jFoQG6h)@)8Jdfy^MfS=}gx2yGT0AtX24NKBaIMnuI&ZR925 zTC7-w+WG*sTi3crt7~S|)m>}Xo?30|QFrTET;JBZr>Mtc+r2MM5Z$x8lXK6#nfd>J z{_p?4`DaG0lKM#`fq{~KEnG54VxjbQD`k(BPf9WB8GUkfl|@+?EGhG}mA(eXW;f8u zR%`M?o6%{Z9LWZomC>77J=tsuIVme+)>~vq62A)h)FIzEEjJlsXC=(mN+fO22DATl z)q1;rA;nO32l6u*Y!(Y;V9YkFLpIB9r0kS&s@cHEkbk@e1@H!R6;6|hlO8~Goq^gB zoE59hs;g#u%?^g0_nC~&K`|)Epkx1=EsWW!)5+K#8IsLI!7emVgF>|7oOXrYP*tP1 z8+FxoN=MslRSp!&TOXty)Ms268_bUl(MED(W{1w?v{*bgI2jaHqz&apO*T7kSWpb- z6(h96`wi)8%nYsLoTzl5p}bh6HoCu<-cqBlb?6LwHcmz~j2C=O8|E$O!4Sm{57&-* z>2RMZNARN2+98~%gV8gT&d3H{48}-)bd+}J3!|Q?M)MM51Y{PQ-so+_BNoGpjTLg% zPt4|cHeoC;_X{E6BE8T!zH@w>)`xW?6;0?*KnqJgyp%g(yrepy!vxQC>N)_FfYo)BLq1uVkRNpZuy;vntg{VT-pbYlqvj$~0@{VRP zC|iSa8u&kx>QSx++J>#@f4)nSzL_3g0WOFi}&Noyc z&I&$Ma-{8_VLe+M7U{VHA=6MZN@eIbY>vz7&>XKE&lM5Q6A;dKA)N-5iwN~1!U_*U zgNV>5BBVrwCJ|w!h>#W$nni>QM1)l$LJQ9Vv$fiyH&AF{qlhC7S!s@mwmMYp5a_@NnRGH}kp|TWnOt0tYBgvH{Sp=|EmqxD`MJVV?JX>e*TUyDy8GVJsBqhD*^C#nm+Kd9@ouBzfL$ zaJza+s+rW-LHN#AslGHC7K;~0QLIyX%{Lc@=fvc~&pUU=OrmG8tNCx54 z1r2!C)8?c5>L!B~HOt_FlH>T^p;qh@5>1Y0l;R(jOW^H@C^+lNJrL8-N_u;yLG`U> z@XetcZrt37C7>B@dw2|2RR0wQn-WN3)ObMbUx8!62XRqoCH&-XBgy5DO{A=@-d%L5 z1sty3;FhS)knXT~5c}>1T?rq-n84=pwluQx57!lQDti?NoIdc%9)G-L>2`c;PCohF z_$5$zK>qG|$-^Ig$l>);7`%ET7?E-lL=}WV?b2an zbb|rkRjc8Fyfq~B)J9N-29UC!J_YelegMaQY{m6AJ7H_E3mp718RlpsNO$riuz5og zaeZomV;3L&r?%{DeJ)aL=nNMwlefyJ9Tj zPS-Z8ve1t&8R;_4(z(vcQeU?2aL=nP#Yj@TEhY2C$3fZI>w$R*znSaIMrC2*|5A(O z@{FvEjI`{u^qh=I>6w|S8S>0jw#hTnv(mCB<;b%$v*qdOIh>c2ZvV(Q)snclnLzqdki~6nYtWUin|N;GGWc{OxI9_q8At?HAR(bHH5$ zJS~ttU3obmX7ELQ@94yMl-Vy$U;UToO|1$DND|dXNhdxx;4gkXdlz%3cD6m{j(lum d^|(W`WIA_GVjDNCR{3+gn8cs`aq@!fzX8JJ$&mm6 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#2.pth b/data/cross_entropy/generation1/learner#2.pth new file mode 100644 index 0000000000000000000000000000000000000000..6762550d235e16c3941cbf6dd219f83ed046dd2d GIT binary patch literal 3750 zcmbVP30M?I79QkoB|#x*JP7Lv$}t1OAv#?^1T}*K185uKj?GL%j|?-^Ob@6DUSR}H z1o1#kR-$;{8jTlFdybyme3Zu znBf?U6?*7&W}}hOaR#%=N@Q5{jD^vUG3Yn~dWLDBm&1TI-&Rl{NPDwFrw`RnuwpWs zv?YA6!OHRTK9|v284mjDwETaAku#XIT7vH(ATbqox5FM9=tl(z+WEAusEoGgwIvot z%bLwaR``a)`kU07oyNs6f5%u)Do7YJShWQQf~;O1!jxGu&5Z|Pza9=9;mBXE; z?B@{ePxTZ;tsKoUT0I|lDHsDBqruc$FO52=1}Xk~o;GfhnSq zcPrr-4NSGM;=)N|eOZ1TjJ3mY8aSR6`Tia&a$C*zn#hW5O=m?qPGCj0O=Lw{Ww0V= zGFg!wS**wb4J#%&n-!Co!-{#!bu4#&4HhsoXR|O?I7#hC_23biZJe`nvf9sN z`heO)po3MU11DzE#=%kzEE6+1qY}>4z*+1oSny$%`li~$4nGoDP%i4u=HMI+oGa?i ztAz74@Z;w!s1Rdhx5EV*SSiJ*N{Z1!XN(p}G5SP`(Wg?37E3XzmSR*R#b}8Xqgp9O zOQjesWBIJJlhqzlaAM%{UrlljZDI+yf)8I^Ib7)yzEx6^SBn5Xv%}9d@OKh`H4=b& zCx9;`0Ba=x>m&dT5`gs*fDICWjS_%O5`fJTfGxIsn=L;wQ|;~Z^}!?c9egzrp3K*7 zrvb7gm+drvCdZhCjV&!@bf^8)Wo!MfK8*&BGctl3cGb1Fg_=HrmAvVONim zr==wP-##2WdWu|p;}BANa%lFrT>Rt6v#7rRJ-lhuRdTRJ0piH(s@r|~;-ya_P{7yA@lG_&m&;%-zI?d)sM*biYsKsoG{=?+$Eo(?kHr>GIH{n zzMyhpP4kYgmxC?$0zgaFYIKK)Cy#5pt16~HMe#%~88v{wEk0X8{G4uJ_nkCgYrmwr zcRU8ab8-YoxH}jWsiILEvZD&q8uGg)0+Bkc!qArE&=Df z5`lJjDtK!DXY)hZd{BICDfnT#UKO?J0@>kh1_!710q5uM2NS84OP>TQza2ixrE{Fj^1XCuy%WA^Pvz6r@- z-Cs_VhYfZ-XZC9Hy0sKfUbO(HhkrumJ#0jeTW_FI?}JNT2gtv#uEsZa zHIWUiv7p~i$HCO1%Vf~iMDq8Po!r=%2zE`=f^mo1NZ-~k$!R0QLATf%084Y4zhA$B z{AHE}9}j$p&aVx?GA}!_7GwaQpYrgs-lgE=&Z+2WU_2;Yu?%PT@Bj_}T7-s7X(7Lp z=i;cH6OggMPTuscCH*2Upq(`X(bFAAQFep}2!0X_`qJfx=cXz!_XckAzy1|I=XU}X zHJ9Pu2iJk*!cY)+XB$e5x1n0>k3VJ30`>m6xZ&ak@XNlBK;V=0KsWX=it{N(Gi>Ex zTO}`lA|JQ<4g?Rr9R}iL4^$cZ>QPNb9v=K&ElSQw00Rym16$75HKSQaNyOT4@<9gW z^&f&7M+AfIA2yO3CYf={&}2MaKNv(OwKcD)*Wx3Z1&F;c1K8FcMU~&2BF`O|jwUK& zaqb=^Sl=)TS3KH-+V)oA$W#Ry)Z=s9lKdmtjj99f1CL>$V%-13_>M#TDMWZ)Uom>h zd|fI=sc^V9o6=G|#gY+22$ovw3v;{ibw_w!Zz)73cd-=dC_Yxk!ru-IvmAT5)}T*I z3ICsJkwT%2Q!1n5qhk`3BV%G?0 zWUAc+XJ6cWT#LAHjPBgJ-h*D&cdfp{UBcNi_%oqX|3%?{*??;@{GHnTS6e3oV#$74 z+cg2g+1=TE_@k9`dMSM`tGh-f#Hq`FX*#LDI%k<`FRyS(E7(2ag}$fs_57VK9N78x iL^$p7jn@;-%d#=T6^U=caHiT**uZ3-{7;Yk literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#20.pth b/data/cross_entropy/generation1/learner#20.pth new file mode 100644 index 0000000000000000000000000000000000000000..782bab2c835fdfa83a85aa1ccb398d0934758ed7 GIT binary patch literal 3755 zcmbVP3s_Xg6<(gg;)C9roC5yeFwOAISM*1NkG?#jB$?A`@Y@I_WY zBR()H6s$%Jrtv|G6{9etZ4|AwVocS~)@Y@qEfM{qNz^Y*?S1JkqWRj+e)qd~XU;iu z{&W60Gn1k6@RUe=d?bC^Ac?=kM3GiAWgQ22XgjN^ zIedl1U^h{=aJ|LMkVaNdnngi7WoC?|NeU&C)q0=Cy^W7v6L$Y^a81AX;c_P^1@7|mL(lqvcm5otAO z3#^ouwpj9QZ~$-JU*q3vTo@b3j|FIgxG|$mn`<|joHjTa7?`FRz>Vfwth`}CaS*RK zSTnrOkhaLk&|1!kJR2Osiv?*$_7x*dMP#u}t0&nw8Q@#I;80DVtDqCZFn)NrCiu0( zy`~(&i;mO;aH2MbWGJnH4ZIkPQT%AIX2>g}&Z$Q85@Q5pCJSkBHR2Q-%ZrT@a@I%8 zVtX;+cwR0cpF22K@CXzh&AWRq&G6h{=61}``%g<)?HVQFTwSha;wQWzc@s_DlXwXq9= z%%fn0pdw9X0Ww)arxeOXw<9$ktgODk4x>~L7#N+YlBi@V*+!^fUv3*=OeODVECZ*h z;q(grPh2^CTMgqi?247>jHC@F&|x$?EgeD2=}4M4q|8)(tdcn(p>lITAQ+j!z?o{8 zC>WVl4wKYyww)FhPBQIFv+H1v1I|^$6k6c>JX+wkiVjSp1-7Qr0v+em0^8DPfmZ3X zz?lqMU`Hk`a6nB9NzS5$B)&rnd0W6QcXkctQY2%yQa1RmN~Y=0BC^;SXJ@ubX4mnd ziiDcJ87A4{P)KqGLaL@x7f9hkHpe-oaFI)n7mEm&2nd%tpjHi+i3mv%q0Wg=FCsLE z2q_U^u81&CL`aJWjUvM3BEozTp^0aK(Oh66^%PuDDdLENW}0K7r4$ypcnL%4seQ9( z%~YLGd2)2H33OnDOxhV(sD?#CCRdijVl`YvzlH^?GgaLxPX{dFSWqhHu3_L>HC!j? zt}llh)UfOY3*HlAB#=6=SqbjL~*6 zMmxk9Rnu(N>1>s!7@TOh^Cy%14r!*P@B=n{yGr41m+|Fw$vQQ52uG9+2mT3l2=6B>)D4^ZqCF-;~Yd!YzGefTNOGH*rL2` znhDO8ZNL{Gj?!#&ULpn(Gi5T&;JU~=~n zaJr|yb%V(ZbOh}}veU6(hHe-TM&RwMw$v5EN0q+l?7&WZ6MSk zt;C$#F*sd%5#OKM+M1QFq4UTO%kK|ICaMZcst6j5EiFXiw92(!|_4ou*v^JsGxmT3Wrex#4 z-n^%LRCW}d-zUS3_6tPE$P`=>_n>Xd=wG58*-g0dAAaE5s2O1Vm|(oCyb2soItjqM zM&dzx3VL$?3ci#Iu%W32)wgd4H+*j@|1iH<8GQCMBBI^#tb?8C&e{z8ZGIr~zp@x_ zKhvNz#B>mI&MgHCR<#qE5jog@dkG%q*M_v)zDekuc^Gw_Z)r2SMG!3q!hn3ZFHp9R z0cSN0c=z>x5yyYm0N#GsfCg7rAsAGJNA=WUY5grCH!>MdY0UvY{6J&9S2gM!Scm-X zb)fpowM4Ka1aG;pj2O4342LuuiA(7Qd}P#W{MF|N(9WsF;89u-4qP?|JPs~H=_9@- z8oT#^sx^6_@Czj7yc~lC|J~91@d#kK<1%S_;#W@*f#SKN@~{P^3$_1S1}e@$7h{nPa)j% z=86$0@o}vfh1}`dVopx<O9PLszeSQ*aCgG0TF zLs<{GCqw1NIs5YF<66YIyFl;untRZz23*VU;9lD4?4i)bz{|@2ss-0{aOZDlyWZP^ zP_$oFcg+EJ5pXsi_H^aqfSAEo^Xse9|cK5rQ+Z||w1TChjhO9Niw*Nb;1 mcWP(bQ|`#eHdc>2G)q#rdlK8Y;S7}*w~I-<*dHe^$o>be$muWu literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#21.pth b/data/cross_entropy/generation1/learner#21.pth new file mode 100644 index 0000000000000000000000000000000000000000..d000a4c7e2d017c648b4e66dadc74bad694795dd GIT binary patch literal 3755 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 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#22.pth b/data/cross_entropy/generation1/learner#22.pth new file mode 100644 index 0000000000000000000000000000000000000000..6e202c41c776c1e49ee1d0f5ef50ecced9790e84 GIT binary patch literal 3755 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 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#24.pth b/data/cross_entropy/generation1/learner#24.pth new file mode 100644 index 0000000000000000000000000000000000000000..16d75fa7856d4e105384f0df3608351509cc0dea GIT binary patch literal 3755 zcmbVP30M?I79LJwkxS1n^QYw1X%F>;1U zXEjikNUh1pka|u}K9NFJ%E;(RgB-~s<{_6-&-ek1MCzy4VnbM8cYZ*E6h)^L;T2R1CccS@DFLf|)#b`2W zin(6Bh2iFXE~Bwf4C<`aaR2oNMsL(;cE#q9aHrYB>p5KGnh!7vk`|_UqP&&n6nOICd=~) z`wMad#Dq)qLIZ`)LE&l_&W&gk){%e)j(nt9o+-XiILEw*QZzW6cB`V@1??f>YEMqP zgwhw%3>qq#&{!G0!6Mg~DV``C4W4sSj)uKPgrk|oWY)}#m7~b;aCIlnsD)b)WFdv3 zL=|~D2auU4cFIw-4h~RSZ&h z%rMCnhnXZ_Aml14bFv)0#pQTPDVpk(<7pDYJQ3k^8`7xI+Y&-jLYVJBsFe`vB!rZN zus}jsC?TXJgn9|#I}*Yo386t?f!7gC7XwD|~ z67D=5EFv8kF_TsX%~YWhF_W_@(QFl(L%)Ir?`9LX2zMKr%d?dvb~ z^HpfUa~3QVV`Q_T3Kgo9VpJu?sM-;uMN*6wOEFp^#b~J%qZ%nj%cK~+FU6=vS&RE(IqJt^C6zPa=)99DTrr@555G$|-zxQj%AT0M^*hS`}I+0az~q*x&%L zQ39|@0F5yfF~1zJ!jo!&n&ohFuqQfx~q6ByEnEk%$=GK$Mo-sbytJnYG6+gutVP*eIdzJTk9suV*UX8mS?FTRK_!%TbTJeg*6Y;;w{9x_Q0KEIy z33kTW7I5GfuftQmeQK}HIRY}5i~_+j9q`$^2%>9~V8XTqa8J)wtk1?ntjmRdP!;x+ zWwxKPYZaTYa+3@n%p~B6^crxXSq-E7BH`HqdF&AVXt?p~lWc2MgR-J_3EtZD1-`Al zzy{Zp+aJy=2X_)Pz|D|BST-XI)-=RJZOaaz-SGqmj#|tHUjv}oCqTK>y_^kdxeQjF zS;20MFv2e@_pw@@V>h}?7A+whX$yvi@vEB&JES{ru4O|I-Odg4o?5Viv%^M)&upe&QxE=gudMzNI z3;_AH6kZtpnevAR_t?hz8qh=G4Zr$(1bkFG5bBwu@Q0f<%HT=QK<~mu;FFfYKx114 zkM{}&*H3q57hk)re2{cW$z*P}Uv$Xy)*6XxNy?u4`C8ojyJPsc z?|u8aqQ8OZo{R93$rV^x=LU&FA9l_6Q^EDH1~6^J7P#t(N_k?x8E)B1;M4V6K~4R) zz+QTjtqBQ$kH1W{&!3(E2YVa?IeS|{*slhBY0wC`?OYuUdR%gd-hCe|J7I@J&T(bV zsXFDmQyv4&LIm;flfe7Nc@REI0fT>P0a>;xm~ChQ|2+Os`N&0&cjlMiS!2z1_Rd3g z&(T=?$+Mrp=Wn~is&|suH`;o`y!C-tzLJG%-%WV?Z!zre+YUp%Vq7UJx9;aoA^h|D ziqT!>e2b-qN`Zg_B*my2C%Ox71e_c5BB*hIM9<7KO9?i8FMO=JrbZlaxA|Wv`K01N-a{L(g ze}{7(@=q4w!aMuo=Hpz%`MW^-_KJJZ%LbgwZ$LZk3EZL3$-s-s|FQ+=bnxeIN4wD8 zf>^X)R(H+;e-UsrFYa{ZR_iab;*J`j90C{sa1@)pNK{P(&CAr}SLc%0Bpl+!m4QhR2 zTc0b6ZAC5GeNekq@15?h9N))!4%OCITdk*_wRBy#9&6X0?tN*3=$_r3oO|xg%>V!M zfB*l@KQnqFI7Fd{h){HEeHBp(2SvJ_lzX@)Gu28mq`IoYk)PK~G2h=-_OLK6w}n8q#ew zSGg%O?Q&IkP#@8HlqssqxHJ|mj>VYbgfY9vZ1XxCej9=eik)TZBaGTyZqcx$*jH5S zXByaT$XsJ*XtUr%nFsY3#o|nZyNi*I8giM(Y$5qLSpr9W^yf{42l<>mg zE>jK?MF*Q=1W^w|GL+fM2VM@w5OFlY)c?6r|5QUoi9`vR!$n#HjrhfqM6qE~&bo=Y zJWnSaF3OFN5-!sVjTAdasZ2q<8)@j(?gVu3ojdl|dKqcpoIfhar;o^n!&#=b;^rEPnqcBrtfJITdQdJsmgc9WQ|UB1ofZx048%bq(uV*M$0GLb=(j3`es zGI=$cVnkEDw6t*Y>7F#d4hno|nh{N>CBDy~C2kXR>?~ShYauPsaV9OXZ5A!js)&|2 zqo*Zy7-)$DMp{a8F)bx=HZA3?L|pFt8njU)<8@OWG>3>Z_2v<|yo|qdE)nT16+@Md zOx-g~^2MQ=6bgjWNEMbS(L6rK^J~$9fE+KB5iXJtF7_d_5iOAsk}|?lKSGO)&?+OO zWP~;uVVR7OmJ!-zgyk~A3K^k8WP#mT$x*Fws?ussg-3DmtZm7TpHo zC=nvi!6VUukuvFJP_+@&NSR!^8Z9%T<@5_!@EZg1HzLG`UK3bQE9t(@pcO{6Qqrwk zjaC^^{ZkgaA;rk&Lk&i>T8_~gIYw*!F?v&u(K*W}2kYlt_j?pGLMw{grHOevC zBFE@0n$J2tmk5!AqeXB3$0W}towO3Y!-sEcE!q|kzU^|7cSrzs`p_;T`mGFLw+x`k z4`7cBV6P0ISq89A2Jo&7;5`|@`!az2GJqBtzyWWm*ITOA6X6l-H1_42y{c()l<{* z^RoY6ABcJX1b>OX22xw|K+>8@F21!5yqC07x4AY3F2HqQ?%r~!{)mNd6r2OM`+R<4 zW!nlIWh{j6^dArDYu|CVqA!5@&55`st%0p3I^g5&3GmX@P27iP!vJ@757^NVi4P6c z;OkrjpsgJ+?w}VdZ#-bXj9UmU44Z{dH{Ia&#f9LVH#)HE+cxfN$if*X+ra&bXl{Dc zMK1DUJ?D-#>*j2()KL>VxT~{Qa-$MkxY0{K!p8Z*xOBwvyQ+450e{RL0PSHlTyx=6?$Cx3e4FY8kHqeQ*Zv*}=N_=Z`r2IBKCF`a zKz}qhhV6&P&-)UbJJ87fvO9q_P*b@F4LUZ0c!Ec*I|<>`Ti|136h~PPfrjD*@R&OS z*Iuc^lg0$&AGgGO>a4){)Q8u(M}`*Mcij~B@HZy-`-ys7Xh?>aUB%q}{ad?5YOiQVKnD$I|iC==<)q8>Y?#SJO1mVpV^x&b-Lyy@xbO-0rooU zxEb^ytlnRa>&wP+Q%$de-7OpNz>T>$^i(74wEEz*bRyf*n2np`qTrdydvSgF zU_3v*8SJ`|i%)!uLA)!GowKD9D}14F;q|rf$S4gio|%k0LLcWoY;DCk;WpfsaS)83 zo(x+@wu0W}lejrcHsbB>6fP=Z75p@@2}B+11d|Vk<43Db;>eC4xMQhWcu_S3Pw8U- zThIRrYJa^8cKwtMGe(@{%v1?Ju5IUHh;U2}e58BwpaSk2a*ECT$1>cs`2aL5Wx3F; z>$xoUeYm*jsBU=F9bny&!d_D3z^k`5u_+T5LN53T+kCE*O`2%~pIsQjE&U|{Yv00iJ4v%~jZ|~ciTc`+wKaW}uPA@+P?(L}n zceZzecRMfYI`a)&PQDTr1V=&R1r?Zfu^P9xzrxishgqRwG)5<${u6%+5uTSZc-T2hO}$3waK>w$f_xS5;n*8IFN z|4S`OPtVB8$k1eKwBs^zw3(S{8R?m6d`r*JW@*Req@`;zHRIAXTER>8)`KTiyobW0 zCxQfLpWS={i@0zX=-OUz4|?7}VEOIWMZ1VU6b2Z0R{5W|5SR|({Oxa-yIPQn_Ven2 zIS?)a{uaTXt^yp8Gx)rIV04oF%KVqHtNx4grYFL}Qe?G+;IYpPgvwt}-v;5-&bOb0 gBOl**J>k%-m@eFt_$CbNiBMq|Q-tzAL0*#mH;6IL6#xJL literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#26.pth b/data/cross_entropy/generation1/learner#26.pth new file mode 100644 index 0000000000000000000000000000000000000000..668eb9ea8b3dc7b201fa9eb505dee5d034732b09 GIT binary patch literal 3755 zcmbVP2~-qE8Xn{xt`$K=l&ojKgZmI=x)gO#+hZ6-+o)-qnPz&zFhkAs0BR7AaOujT zB&-@CM&gB<$n!*;E-y5$n`PIyK8^aa@k(?TgFbzj#OU^=Gl=HxZq4i0Jyrkz*Z=+h zSASJ$aCZ-d!pBF^t@Tm_DNHnFHPhC?@yRiIilw6Sb4}`WKgB!Fw!DXqwODmbwAmb; zXVKeDv@Kd^F|(AB*Hg}-p`A9fM#`jwil`OPtr+%*B!tOWD=%R*8=!jy;m7|c^C>Hp zN3*om20e5-i^)XmSfj;kQ_i&NX)CRtXwSTS47 zWIo?(w6XlWFJwp?%|c%t$^SQ+SfiOFm3)s9Di=b(Qs}RR0YooBJDbww7E)F{nQx^@ z#$w5}!9dY^5E0a6TpIhGIM$QsEsPm$WRBfra@r7NVDJngP#DdzSVhB8vVuPfdbrZALUQ9Sx zlp7)?T&5QsDs~QwB;0s6V&U7}325TUM_HBAq!*0jnHN;G`0cdV>g0Gn>Uq7Q`!IbYvvq%^S7x3xYDxFh){Q zs(FCyEU8loV`aDF2zOpqmv4vh_|_%1x46k@nrDFl*{aV#9Kh3S%!3FUC2 z7EZD=(!x5Rm-8H_}$nT*644I{B5 zlaV-}Wuzp}Vx%O_W~97jiOZc|gE=(C+O4z=&cOo+e;$#=&N@5i;sN$-F;sDo=$>JU zFAfEiP#~0AdRmqe&f|0ZPBEPClH&z3!i5sTcS|9ug^Of_l#DRjiBKma)XNBI8DWl$ z&>$mZWQ0Z;;d?T|Tp6KBWP#C~Z=!TG%&U}f#6vS9Fws&B^Ig1zk<7^MS+r*2hj0&p z4mODntdvPR3k$TcP|9RcIb5uTOPJTNU}+|P5BDgA?+Yv_mUNe~utW=&OS&t{;YuxB z^@0T-NHHocg=Jb;F2|@sj!~sEMyur*t&wB&2RTM-*N@%mt$1J z@L6Z(;vRBv65xlwndI4&nNh-z`0&*h!#}x%Z-boVjS_%OrSM}d+$;mAlL6E_0em6@ z*dhb?R0gnB2GAe__)G?{O$M-C2Czd0u+yGxw`WIdaBrX1!$<3%^VLLnG;iEaLlnSu zJI!9q(iUN7Q>Tx0-A|o6>wouUGP10R7ThRR-3$|In((~Yjh>3Ju5JjsdQ7Z3J>~!P zVf%4kfG@1VF5Vgm>QWm)M}`{c#~lPgB_)V?*m!KnP6euHUyC*rtWJB}@=t6~pf3no z5eJ?Yj|KkIrvPhc8FnY!?Rdkw=_q?>E4Ux>7&GiE17t_ z@R4)q?j$2OA;ll;+__yb=8{4IKPwC1_sg0}SKl zqQ<*b;Ngu-u>b8jnAUR|*wHbMJHM(9d#+i7CfY7whFTT+SC3{c;B04F<+*ZjazO(i z){=P-L^pbYW{RqfISZ2gsJ@V%xM*=oPUf`6R=0;X8exTnor?XgqX)Q}5ly9QfT zRW;+m@Fz9k+a!`po|A#D&)*BEoLvsj_nJ8Rb`0oKz6TYB4FFS*C8O%TH@V$0t=#0k z4d~f7>(ITzZ$R|%cTw17U*G`)IrnotxZX9_Ft6rQs*+8$sNbeq%=>B@y1wNiy4AUk z3r?>@qaw_Xlq26`JMC^@(0~=FWqb^0Jgwp$UEhNlrX?bwV$9WqsgLld5aD@q#RyjT zxK@k;;dE^=tJ6Kil98YkEd9OSkkx~)JHqp3O9K@#u9l+3;$x$&{Pn=NMBL0tqh6gp z;(w_{adC;siHY$k@d=|7QxlSsViV(%V)+)An2?m3l9Cde5Eq-28lNI~IpE)$m65!M z!lS|61ZQ8~d|ZpTa2M#>UULt6)qrdH4e6pilRp%?7aIBuE&|Tx!=J8P9FQ~ks=jM<20E4bFKt)-*XK=xdwGqN)gs(Sy)@t{f4z8T3a56y iJrRz4eBS~pn_NxSQM-p6axuQh1^k8ssu3!KBBIsm*m3D8WSeD0Yy<%BGCFO zzVKP!=&4872lYi}u-kGxzK(8BTXj9Ptu0z~-L1NcTDyB+njqSbSomx*xcZr1}?N-V@K$)IsA{kO%GTV}q-BmK((<-|d8Jpcm%dJ-V z9Gl5$p&W9f&B~BwR!>?$K__Kp%%nvMCGm@)PX+8E({qzCc2>e{Erz}|`mXGMLkVdo z=THn~cR)X*(PptwM#gNjI;0crCdy8k#+Z$a6#B>OU;uBxQ0Ocw;-mvu zrwp{sHroNa@z%TRyLT8D#(MB$VfuHtF|)%^R?EQGML!Fi^2EZ5Fq5XL6p)!2{ zt6fH!i)jWXh$ak9#%ys&4R(qn3QL2RoRq?0ZxLZ>=CIifrAjH3%VhdM)~JJB5M(h0 z69pA%4hxVe5IUtWNpxGG_hn^`B~GYR-)CU5RxMG7szaB-6!zt_45rrdj;1j%T?aF2 z_&>v|;Rqef)UzvAQfMX}FpC~Wv(wUvbP}zgc|$6#dcQi<1qro}3j)E&NCuA5!EC|E z=xR7d2gf>TVd3P^!8E%L-gCimIyjyd_?}A(+*Z@!`Lw{+JX)aR1X^HQJ}uB{A}w%6 zLksNC(gFu`w2* z@0?+hEe@q5S0JQ1DsQqBPGfUCy#mhg%JCmXgfj(%vs}=igYSz7NfBY82cc0!Xc7@p zBEljOVX=si77?07gntqd&K40`covwgB^J_1!8x@e4kfhG920F7u*AztD5DcPXVI=z zf2#K5=-?3OzzCUiGO$z!%Y;nMt%mb-u$+Da3+8LpZE8OkT)?rQLeO2vz(qP(Dd;Y) zhD&sC=}Q(=2{CfH;4&So7GqQ+#;Dd4qYuOweJI9gxfr7rVvJUbF^B*V48o8(EPm6pPFZ1~n!zztsEs~3~JQ2?;X1vl&977@T!5x_PN zfR9B0+eH97L;yQQ0J}s0yF~zdL;!n501YC5ea=Fsvrw*42L^p{{M5F8v(wouUF*A&X;@ohlZuRAA8uz^2jW9{3w;SB9o|u%A zo&Nv&P_=&_*z*1vlvuUSy&UA>6NUK)J#gcd|CscX6(6Ry%W-6w8FuOx0fKZ1TPjc{vz3Ix}) zx1rJNi^0*+T4MR=WE}VRI+fuBi6T$#QMLJ+K$3e6SW}+?au#etgY{`(;+E6I1vCPn z2OnYipkGk#=Zo=gNAl6(s$)1h;uJ9i-6YbIK14159Ild2dx9>fUm^~y9trN8?S~te zeT|a8>WL4RtVV;$1z?BvJhDBEK#R0tIIZhKaOU(Sl|udi^#0~<*39~|$TTj&{n?_0 z#GLPLxpA-CAYp7JRvvNSRk`_KNqrmMlW}gI~=r8aqfS$ z+)?3x=fttRc62ph8a`;aK^)JVjC)R%5ofM8BgKzy{OO^85dAMNB|=ATb=Or~B7U|V zAr5{kcekY;Cz9G%G%eks#Jd|Ci7^ib5W2Ak@Z8#gVEqRNh`US;XuW-rc=%p9IO}v1 zdmD0y`BE#mplAlDRtg>*y^0R?zmIme96)hVJwR}{66`w{LrnW5QuXxU_h6wh3HQ!W z;3)$)l|*CXHTTKn^`Kqt2h?F3G1~5r${)#)-~AHRHRndv@^xA0 z+gWOSO}5AV)48=c!qJ_mY7D`Vy|skj2?p+b9);kL3y+)1(&F7+;4vIZm8;TLG!moc-Xk8i7U1lC%R!%8mFRB&%jlV<1>G33 z13jJ)g6O|F#ErZ0EtiRn{@;s!JZoS}Wd^U78tWxUNj zDli%E{J1a3%^e7$$LaBc8Jlo)_-xdN2}biR!|>x_#aI)65bbKO!HkGVl1Hdrk-F=A>8x! ziV-de@~#-A-09k8&B^xTOGdJkvvg%!@#HRS-Qk|MTZ)w=dRvn7#m7O}+3SJ1oZrk1 zW>Ze~(Ep_tDHJJbDJjZyWpYN!@Z{9gq!dMJ65A9h$!W^;jO65u3}s4&Lcw`CzG_ml zjP;OvG-@Bt*;h9o?;_6K1v<7j+=E^>;9Y(rI%rR14~1R^URD0rEqJGcJAZrH*Bvbg zMf-Ji?;LO!0Z$8JPghM3lXQNN98^E-UIlG}B>sU{;o0?(QsT6hV=f zqE+!NA|`5L>Q}81HOS5l#`tQfQjJZ@SFKH}`KU4RmH3C+&P#U@&DZwsH{Z4v8*0m0%%PxzvM?sntbnq(70{y^4vWS4$ru|aVX~A$&nA2X_n)XB zZDcvcP&PaCG8n98Gi6{*R*PLR+h(L}lrh_6U=+|hP7i$q14OZ-q=c9DrTI=d9>H6& zSS>^a*K4vf+`P|Z2s_2V;Rb^HZ!$9`3qdHj9tBh^gd^(VNImq!gLv&?(oj}K+Kfbn zjUs5PwagAj3D*5_|3Ty8*l1xa01xHIOm?EgVK%#L@G>wk4AUFmObQg4C2p5LO;;+4Qc+iv) zf@mZjz>C@$lA#DA7kDWcQNrkJc*qN*uBl!ZBz`6$Gh0ccyAhXIv>-N4%-IkztNq!8 zF@oH9G2s%u-~^#_Vl3{#xseQiK9qoFj(ns|kt@DnEXTaKY8W3&dp6Ntg7zD+xDTgY zMVU%z22PSp5DvysJqf)}tO`qLEAnPS?XM(a4NO zn5~CzI%sj>$f+N(d zv|c>?c)F_R7kR_bAun90SBaETtiOTUB#OY^k@TCaMzjAuc$sJonjHF{Vp>aJ*n zEA_DM84Fg4F{-bJ4SLup#i&V&QL`&XtECvNkz&*$#b~V*qjge@el5jly%eJjQj9iA zF>0l`tkd(gUQ%#WaMMpFxq!6L3b>gI-&6p}jlxjhn?9d1jRnpbVK^#ln1>7_#ryWN?)y0oMOz>{3i~9~6Xh*)qMeLde1@gHN zfKK&~M@j7@7NiKnhy}i=xK)OhFKk930j(e_8fa3Jnpq#s1*iPI4S)z&BVA~r<~NU= z?5x;P-Q8DbU{UfKNv(Ygjw%)4X@GQA<mpoU6&$Joc9J`S(L}V z^^FFAGv}Shb9RBbrk&30uEprU(cx%s^aaiBJNtm_(QWo&eD{%ZdsyPgRlg?$h4xQQbGdLHWPHf{Wj={he}l zbzw4g?pmw!^p9IHQ_oDW<3c>TxwZlIwf3{s`wGx*VisB{i_oO@MX_yXz5rjY?*)hI z;<1D0Y$$wIA(q`X9^Ky`hHhoVV+pnWVAIwsto*OZ==6kmR9YE}4cnED1}dkr!;_5| zeQF}MV}B&lEgE3M50BAYe8K`H^E&XUwxFKtD)iu9ICkaxIcPM|>FiaMV^d7!SkS&& z>~ilP(EQ@-8M-~~AZKNj=9}9;Xfl_DVaI>igQZ)u09tqoG%f!vI#&~d{+y-YWvQFBo9MkN{;$j3?!N1|=_7HgL3-e)6Q+d=uF zPR)VlI!*GP1dvq|fxMOjwlVw))?3+(`L8&PJWpO{o0isS(lmPkJZ?cq??5A?C!jG; ze+POyg3*(0+p(QDGf~&5b*%hYB={$Tp~x|D?AV77HFs8(A--b#vF(WZ1a}JIpI29m zK$+aVVpQ^{YpW$E%S$L3Dg|$;uf25cFs|O zoUAwgms*sPqMoc)E7O#!De81pYHG4NB{i9ADQeYZWm>vgou*1pOHWPXy<~QWsAD+~ z`A4Vq;GKPb^KmcY{9Ryhd&xcMMFZ~TH+YctZ0=C#X5e|{f6;<_I{5Rqt6d#zK`h!Y zs=McazX-URoI72)IUr^5MSb_^M7xx^Fa2Qsm*-8V_3@b`slDcz@Z5m6^!4nW&!5`4 j_J}|7agEdC56!Zf{5^?l{IE{z&F^9|Z|=v-i?aU#AmZ6V literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#29.pth b/data/cross_entropy/generation1/learner#29.pth new file mode 100644 index 0000000000000000000000000000000000000000..3a39e7c5726fcf1941ff5a507ec6785565be0fdb GIT binary patch literal 3755 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 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#30.pth b/data/cross_entropy/generation1/learner#30.pth new file mode 100644 index 0000000000000000000000000000000000000000..7f4022ae8ec839ece374e81e0620d436c9c668e7 GIT binary patch literal 3755 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 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#32.pth b/data/cross_entropy/generation1/learner#32.pth new file mode 100644 index 0000000000000000000000000000000000000000..697091a62760a6a3fad210b8b7856392c975d80e GIT binary patch literal 3755 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 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#34.pth b/data/cross_entropy/generation1/learner#34.pth new file mode 100644 index 0000000000000000000000000000000000000000..489bcb1936ce8a1fae65da732a0fdfe71575ab35 GIT binary patch literal 3755 zcmbVP3sh4_8V(Ny1Bi+!4+USWSa~N16mv&eieg*|5zE!BjhE!Yy%G{8xdF9{f*KxL z0qdhG2x_afzVLCNT{JUVSGTo#P}{D@`dYW1)vB#Mt-Gu3?s4x+6GZpy?&REaZ)X1g zpa1*+Z~mFlX?=VZ3V(k^pBADBR+wqZW}$6kRq8|&#Zd|6rRJQh0L46atM)c>R-2JY zuvikxtR{z_f~I%o^WQf4JoOsIigRnR+@6eiqCEufj%K0$B2?O;ohzt?5izs7hC1o=i z%5AiPv06**aG+>Cm<;YUE{zQm#|D$bgfZ4`D0Z05ZX1FO95Ra>D2x_cZK7dGF+@}x zN=Ebbq%K4Mn; z(+S6la^s|g%k+XVV&|`7NiW`wBsjh=0nI%5D4TMo^n$TG^CncmS7I5Tdd64Oo)}B^ z=d~+owuIqeoNU72;8?R=X|T}(QFt0W<)jkEzeI$mncZqLRHP_jLToJQ#~Zct3xX=4 zVWOm>%;5oYv!zZYOp@JBCVhBWW4QySXus#6DqpM625Ez8p_+er)xy*U(a}j9Ow+^k zdht(29eh;}Gf95MDvDUj4kt753_mTC$RshzjA%%cul-OPS2~- z$EnBt2=1tk;+rJkNSM+xWhIi6Pqf9sLsH)MqKC4_G}p+OH9$OtJJVUZi5QATKz z5z;ckVi{qHjF6ELvNFPjGQv_Bp;=@BYbiHVMjDni$T(7D>g7Oa$FPli-kOrh3S4vq@0|Bp#7pe&3MZs5bWu?oKH5xz}wk~d2Lwm4yn9=6H=w#oq7 z+yL5T0NZ2$+hqVdWB~8U0N$4Y?34lQk^y`m1K8~-ayW_-bXq_EQy+D=J>jc~@aSH; zoeot1&+W8mF-Kd4oh>IT({n#{@2vmbmzm`_GcCB`)O-^z)HLCFxf_EOnVxP4yLw_$ zPFC9g>w|Y^G8k7~hC`N~LN_X=fX1jeyez^AHaRG;aM}rE35mkgV;zoe-$R_&Gy_Y; z2oOKNiwN_-4^%l<(2y8XGco)qB2UZ&Pu|KV!kaU(Icx>K_(2Tb zdig3EWeEjao)n9oaz%a=ad$-)koqJS93wFH3YnV z%L~Mq+7QR|5cdzQC;m9~AeiR07Ci3w8U08vaz&Jn0~vFpL91Ugak70K*qeG#gOuH% zXJZp_-8u$8+3Qsdpmkf9S{DnBmf_?uR!fhOYoWW7%*b>esoZCkhuM@ z1Vw*{T>Hocgl_IC9{VDE<;%fDV0SHkGvN5qFAMkJv-Wd@X+am#{XC3N2UpMkaLPksr(UlcZhHU2#)lk*3! zZX)qJMW3Vb7nDHNH6HBTk%+f7TfpH1=kaGrzBt=&CZ-Fw5hJ_z6X#T&xUujoaf050 zJLfGYI_&oWJ7tgNUhb!e9<>kWAD)gERXrwRrYGWaS>*)Xkw#RlDgss1Tu}R{9w$0C z;O`oC5D$vS5I&Rhh5!80KhPV(JfNn;tCjtw-!FSioiT56d;gG3i zU{q#1(Vnvue4}A;_^k6tA9E8O8@mnUjIPvdIns)6nFrzrC9&X9z*JuoCpN)VaL9%TUj$SHQg!Dk8sOG+2B2 zB<{TP6EV@Y2&Cl&4)>&?@qc|6`+apCj1M_Z{O!mv zBJzhegfIOQ9rqiAcZc35jwUyu5)Xuj@!jX?} dyq<7qR^$rzB)$p5I&D8;7gO}(e}cRu`){Li(5nCd literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#35.pth b/data/cross_entropy/generation1/learner#35.pth new file mode 100644 index 0000000000000000000000000000000000000000..7c40f5786f8afd9ff9b89ac918110e1d9e5f764d GIT binary patch literal 3755 zcmbVP3sh4_8V>Rf;0v@$1s_!#wiv=21ZFe}t40yxD-|?ck_$H)66WRx#FqLD;JZMz z3iW{?*j8MRt!;f|hHkZI>vr|Hc3EA!?Y2Hw(RPoP?df)pdtaI$+OxZpbI-k*`Tu|Z z@BhE~XC_bQ>!(lz1u6QqaK#{nm8Mu5&AyPB9A~CDN?pF(nxhR-EcUe315BKqH8Eq8st-r2B-|eWE{&&SZt-px6Tm4|2LLX zELBExH0wZqCX?N2rA?g0ZgVK-vSym4&C@L=PKo?u^e8|yU@Uf)lnBy+jL;cmcwVq# zv)hd2e6Pj9@$){CF*;}t1)Gfge~Xo~*o;Oc-=jpzB`Cy&LiH%j5H4sJQ>NvW6l*q? zv$T=1+m}1gK+*aj!=OIn(%4{eY=~jFFlKQWOPp4#$A%z-hUOXu3Zo@gEw)8?Oo_R6V=vOMnw~p}>wO>*h z0(k98+EU7JC{{LMbaED}Luq7bfhar;9&u8MCOt!hrc%NUc&C0(qkjenC*B zG>Vf{lsP;=Zl2VsL>k%cc!Mu5Ybtl51l>IjCFbiCx-eZ>4NBr)J~b$LgXm}qhf?(@ ztxo)tUW+E{QHFtEv5H~~V0DW@s)Wv2`{h(QytVu`QR8Xf>CS zIFrXn?8s*%4(J&v$@3T~iSrpLZwtib&ac4|n&O-+?LZ54VTMp1k=@C8Iv44}oW)|O z;*p_$hAF-{R8T^JQ0nQ~3zX<(KF5ozQGr*E3uS~$B!o*{$f!p}GD1p5SnNS)k`bC^ zgtUyXL`GODBV=TR78&6(8R2pnp;cso#a3>mOf)LnAmd0tHb!8gy&9E!d5Kg^Z2v5> z`MM8uegYjF5*;`xlTHp*=uxGV$rZJzN{?1DPhr6;`MTRWKNoscU_rH{`x=K<>CtLQ zcTFu?t4He|v0%LvBbN)+=uxd4qdGZ88$2=ED931%9HY&0jJC)z+A7Crn;fIp7e)}yy%0J~)X zdprR4$^iDs09s@K`(*&FGJrN2zyTRRy9}U125`_>>~t2Z^K^khXFfc!=OJHBgeUKr z+i8RXdT*!2RUB;>cD5XChWCEz*;)U)FRO*)thC^UE9>e=p{5DXv)ve?$nbVU*wy1S zIoj0!*N4bh6G@0{2Q6==k?&}ZtidgW!?+F9RJD)V*Dc@^@)ve)3t7LZucAHr?F9FUB>5R;r6lE z-jz!fZ-3gyB^c7%U=8sQ)--OlK?`IYLErdi(>&Bzohmp%uShB)+UN$^>sGev>h7&3{ z3O7Y|k_>YWo;)Jfz3VO{Z1ShLx3R#TdMy-cZ@1!}b9peJwiBG5M!;b67I5vaLrHyQ zHH=2rVPokw7{Enz1*|y^zP+s>6IN~{8xxB_aT zf5N-TanRn#!rx!K36wKqaKx9lu+Pm*cwoVetd)UX?)D#6kcQ?Q(w=X}1(zuJ(G52_ z+}H~abl$_gTa9FNLk+aSX40*uPX_dk19J+($@TJlxNp^6@bIgF#PoFmnQ*SneQ~}I zTt8$7xgFe%O~W*#W7Zj*>bne3yBf%*>btO0a~dnHE-)rJ9BXY=u(19RVABti1&f;T zvK0?-8Qlg4oa)2|RW#|{RtM)VeHXVLY6QnGG`NdL{2likTZ!-Q{pwWn;yl<<-UQe) zy|_#@5bmnKl6iG$AdH%{j#v!efToT6!71t$()PfQq;S~;-x&-Ke=siVF9~CC{J5Dw zvHdgm`Nl$URp}2kg?q^TG&8LJO@({?-B`Hl#RFi+;m7>SCZ(qeUKW9jIu-As@Z{-y1ZN-L ze7uXea2M#?o^lU*(tvmQjp(C2mp>GG8F*azpS0ke4&nUmY2AG-NJaZeb?+Pq7XeQT z;!jsz4#*jNQr|l|V?E0Jm%gw5)AN?63kZmn)uMeTJvQJke?5BV3#WFz{U{vy_{QrA bhi1i0;hw}dVK`6cFYICpfBq-POS1m~_#xI{ literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#36.pth b/data/cross_entropy/generation1/learner#36.pth new file mode 100644 index 0000000000000000000000000000000000000000..216eea341ee7bee4d14738d8d2302a247d43bc29 GIT binary patch literal 3755 zcmbVP3sh4_8V+xW^6-HQL0GG31mqQr0-HM)kyqCPC=t*V zt7}E8vMN=(wJOCuQkBejwynq7(><$JyUW_8)KhKM)vb@MbgkX{(ge|--JP6!?#;~q z|MP$U|II%$1*DI!LJ=6K7|@0(LKS9)wpke4SdBKRl;-Hfie=`UtU-!mcU$Fc=HpZfM~Z@@sG**MZVVCPa3mG| z%;A1hszlK!YKS0e=V*>Gl=6X>gE3khji$n%8g)+ALT0worJhFIVq-+H7o?mG z5VP7JPdHYT8z&`PrWcGAJIAXjFW!x0IAI_G%{=*Nn=)5=K{e03i8U}z&H6O5zM^)# zn)2ths~A%`%fSTMgu%g?%yy;0#t1~=Y4DhnN;v5`B0SCPR-2(RRS6T-YAS#?YUdXO zUCzKHNky5%1LWpNol2N2yPZP$@Uq4V2TUbzaZpo8D#&0mcr8rhUtVkBbP4wbY}Ae4G0cdimH;B#DD0~dPac#({7v4rpyCp75c5*Z;aBP?+vG|C7| zWrU23uuMi+E+b@RgeDo`QW@bg8KGHZfyq)~ri~0--X!Blg%(y|qO}HAcz6lbY{I}S z+6u{Iq_02+yF>?0%A|vXm3mkuW%AVqxIz!B*=MlewLFb2A3oNLSbZa@dQV&;2 zx^)e3wH~f{%z}C;MouSOtA`D8j2h(_HMwK7PL9!fIYz&cW3)kzQL`MQjdG0MkYlt- zj?rd0M!#kGth4h;UpY7$xaAj8NfanziJ7MC;FdH4&bI z=WeIN6~J>lEm^@aR$*t$$;$NHPu)A~fA?iJah#bE+;HlyLk`q+Bl$Mk@_+f|6DQ{lY0D$q@Z;_{DaQ2kTA zZckJz5%B)|sBlvSTA3UTLi5^i_fHtzr#85Bi!NaEkwd6?X)p0`>ur?sMFQ?k+6-0} z)#D${M=|+{mbf@&HD1xzhz@Vqt7~Re;8XHAap7=1G4{f8(7{CEhB1xA9ijyX#U|sB zjMK!o$#;qUZ71>k?nmfGFF?C~97g=H>M%|${0L;6Y)032eu>nd`+$?}LAb5E1q3Tj zp>>g;6JBZvhKJT7GfiUC)!F!7K_A*sbdJCYwZx0fZvmC|65>XM;g&AO^^f~^(Yf^R zU5geZ0P>&%Ed4MSJbL7fYp=x-G1((PyCNN2x;q+Z=Cr$1rc_|gfL%GsBk*ag0`UbJ zw0~MV%57YN?MKt_o4q!oc=ie1*-R^*QDQ{L)FI$rezoi7wr-sPjyN^;lL&Nh&jB!} zbCc`)fUU0j@kJ>8pA)+NYWX`+oH-73UIlpnhFB2tLldDqyB$oAh(;yV^~5n%7Fcql z$@PcqovwRd`+;3sUdOi=nn3e+q2OZIdhqkT1E}xF!AyN#JzDkEF`|wsC$2;(v2Rre z@!pr8p_$=ETz@Nr}1+Xv_4klQIZMqLQ5PL4-usy1D8cr&<=*n{H! z6+>L@-tW3|qY0hSC!+4n-r!umiO7lx1AF_Fc(nEi>R=z}P9F|Ki6`Q4K*@RH{Kys9 zJ7y$tYUB&(;G;;Kbo>FT)B9lWfQLHY`o$nOd@P8c)q&@o)?#PFed4Q|23=TmvFlPr zZ&!TlI=tS$5gekdX!^E4q21~~b(|8HpIGE_sa{2nhYLVsWg8KDa~`N4w+*d4^8vd2*k=4MD073x>x?zg~^s}K(&L! zew#G7uM6o?v#+61ZN07!J6nnKUyKKD^hV%2TY|tE7=eU}5f66ve88VVgy;DcW2hp~ zvtm>Vr)#SvC(BnX85*Tv>0E31TyMVa2+#8^jZq|dT1pg)kDamc*8@|vxS1PFr8!yg z|4S`ONlDYDrKL_u)l5xG*G!(AoR%^j{Tu#mmAyiEqMi0qG~~VhTV0C&){({{aeZ+oAvf literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#37.pth b/data/cross_entropy/generation1/learner#37.pth new file mode 100644 index 0000000000000000000000000000000000000000..5825c26b66d66bff00e11188c04cdb8917fb4620 GIT binary patch literal 3755 zcmbVP30M?I79I`(hf4u<6-7mZh8xIg+x`c1zuE)BGG1<5pS?*8yLM&qmgqxawwk-J+0771-;e&ymmgJEh-^sou-&3 zHI&IzWQIP1bzik_w{dZ-k1*C(-Jc)Rn>7U%gTZctmw|p$)IR)Zfr%Cji;Dh&Vt{&3 zk0DKoo}o0n6NP5jPY~;`9^6xmFq9CbW{sBM;-rHE1i@da{Tv1D7zPT%gVaH99PTz{ zpddO}-Io_NGXz6wbX?%2Uoud)E*lu7dU$h1!kN zE+O@W6azyg6B-MnH<;xbn&gSX(cmQ~0JS1xtCJ~j9V!<8qdJ7Dmbo6 z_>)ix$E#qXnp?55d_7@?NmLlcO-n^kkyI2V7{aoY`;^{Rh%23}5Qs)5FmR#@CW}T= zDq*S$zH6bxg_B10rnq%5$qFZ{;CqzF_xCB0+e*rB3MH~Nof7GoL5XaeLW#7RN{O7w zq(pXPQ6dLal$hjcl$gY9O3Yi1u-v&dSU?htg(l7L1Esgxi$i3xF!s(|rMD$t2vrnR z_slTC6^Ho*Um)ZvGCfBQr*k=;Q3hu^51Xh?%r7aJ~wbh?!ha2}@OQA@v3pe3+&DN$F~Zi+C24iMop!xI_h)in_}x zVYvz}f60OsVvMX-SfPTIQjDsk7_GF&s9K8ADk(-ENikY2#pq)xMr))Pt(9W5PKr^D z6r=SNmvt&v=_&;$25$I|NzNvWlpJp4!dF`cH#vlFvy|j5B7m({Sf_&9Bmmnb0QGhN z4HAGI5`di&fL#)R-$(#HkpS$L0PK+f?3DmCTJkNH{P0YryT@nEC+lBu)r5aC-@2U! z$bjQ^nqSJ0CVpp2OHOp$PwhMFfA?k3GmL@c-LPV}2J$tHf8Op!Us|c8)(QsB90WEki$e7ehoey! zqJY<@h3r3)4T!DLp~oTZY{Z-c_?lhITKhFW!g22w{A!akKITp*meAA-;0Mcr+uE)+ zH=lFt*U>UC<|7>FaRuc+lM~& z+KaEqXawb^-L|8NfjC|_9~^9q1dkdfu)Dt8!0u8!WuM<&4(L^X$4gIsf(`avjM6(G zp0%qFkk^<|!9@#p0P_Y|))wFtdo!u!!fy2RkhN|1!5X&Ta}PYl;suVUG=QvqdH9d{ zx7n+=8t~I0jcp_6yo+u$EXL`Z5Z$S%1D9GdkP-ha+TY%ZnwE~hcjOLavxB_B#IjQ$ z_-Y*6mb?mWx!8^uI)9Isu80Lgs^3Qs?gis>f^OsMIy&%aw`#$6CtBF&mU19d-N&DH z1%W9SFDIQC6@;&y_#$aVPAZrd(9~Kz>>*ovb_V#Rr4~)UIuuomOaT2#cGwPYZf~R0 zX%-9r7yHAeTuit1GRExduu33M$uf8G;}$(m_PEc^@p@!4c{meC(QIhTfS#;)T_kC^e*JMZFszsW_* zul^A~<+&9-yk86`nF6gG=;?5Re_oc13>1p1IQ>#Dz4ni?$85RR)G#XhHPDRZ>8MZ0(4ixzgW`G1;=GJf|3&R2|CwO59o;7%d@ z^Y)72C-ZQu81wnlwaJ*4>?)Lu7&&k0i~7PGXRhw>&)Y2xmqj>Q3KxoxnWVYvfqtQ| znQQdAwB#}WOD&3uij9wrjUF2vGcGnECN3^AHYzTXYf-T=@iEac3Gq?fJ3cOo_tNJZ z`muuZkbg3jPQ0_PZa$7hoWBcnZ*RB7s<{04N>p2{5x9Sppx{I6SZOb37dwzsdl zTM&!(>*|g<;4cF9=E0q=92}4`_`1GhbcWlNxi3|B{Ws?=Q|aawDyapzguOD*OZs~G o&f-t)T>F_n@^OvR;}6ZU_xO7f*ZAQ~WiNggll9_$yu2v;Z!XE*RR910 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#38.pth b/data/cross_entropy/generation1/learner#38.pth new file mode 100644 index 0000000000000000000000000000000000000000..6a5629f0440ced159ffad6ec1df472e340d92020 GIT binary patch literal 3755 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 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#4.pth b/data/cross_entropy/generation1/learner#4.pth new file mode 100644 index 0000000000000000000000000000000000000000..e827b97204dba3f144b0173b509301365aa404e3 GIT binary patch literal 3750 zcmbVP33wC76&Ah`2p>Qon8U#w0*o#Bz!=aB7%&7GumyyTIpmeJ_9_UiM_SqCFtHPa z&5>{)3E&#n=7vBy0;x3v#3UpoG~olM93=rKCGpp!O$jv#By=y3jGj6UC>icV~~e&@^;#xMyf&Os9h-v(o*7Nyi1U#zW999f)2*KBvN0~kHqLJ4)hKk3357`p%oa~UfhZl$ik%TutZ2o_ zIn6~vuiecH^FER>yBQv}x0;3jb_Z{Fn$2pVM~&2TPzNvSXhIsQv#4#Mt@BD~m(5({ zV$3YZ&2ytplJ!U`vemde7A1{EQ_qQGcDK2}<8b(Gh%zW<3e`y*E#O>|VOg=Wq}YY( z(Pqe8V&_@2=tQ9#b(O@Pqk6U#qa7vm0=L;p3vsfcZjxYkDkf0SkKuV~xChnysl%n1f!QU+MDY7#HfF&K9WS7jLgB&wm>6(u@@wpbqfoEE@V)W ztfI~m0P@r1PBqdgZtJOFLDpL2LCMDNd6bfCR2el!%`%iKyxJ{8Y0D)?hw&)ggoam2 ze=;i22ooAf2`g4*vD0oeiXF-d)3Qmdj@7f0Aw#Zlk5S`Az}U`=|nGvXJAvQZy?d$FmiLb7X{by~u1r`3gc>L1^(Kv?>T~3PMIf zSfC&*R1mTXLc4Cx^j)j zjUgf(+%g?_Ig=h96`N3roXOu*pamwhkbMdZ7Ude7jUisNSY$z|thjF$Ujv_gr|N+m|Clo-9C#OO^WMyr(=tx;mMR*BI% zB}VI6A?xf+V~7%*6tv+#CV4vTWYuV+5WY>NXmddLwkSz{O9t?^7i~46Z3=+x3VUYT3aYsl?5%O)`{SNRX#zWJ$1IS-mUM3xO#R)&)_TJg>k1xfLb8{o%yL<10wVySC#S1iW z#oicF(;JXOf87M{ABlilbm#Hq5mva@Is~3fIYQ1<9VTN+_JR2k8HB3s=Zj%$!KW|& ziu1T6QZaJhAI9#yHY%piHN)S|yGeex8z4FK7Cw9T6fD?(5Y*J=k-`185Nl;PJpAV< zVy@{y4h~ojQ_{N-?FVVFJhB7nxdgyow{-ABm_$lR9O&1lVPsKXK(ZG9f*U71zz-`6 z>sz=w{A(lS>)G-G$hT|)<8MZizx!^2rOc0@X4DNZE^`8?xUdIKxdg%06)WM!L&v}m zgU7;eAEd(%&*vMmKh}}#rC)-x+h*W_H6eumrauWDdlamXJBgbvOu|k3PlEccTVd_2 zCGge4c*q?*hbK0lBG+RZVb|5U~*Lf?I%ZwWTNiep2Q}V`|fOy!ns|S!S44i;eS&7 zN%-B5z^%BWcw4^%V5DI#EGvAoKJWY?cs%MYIP>r}0=_zhhwr?OeFvi9$j#Rv+u#D- zE`0@bw{tPjeF1{5G=eQE3S21{UK!1kPEm^wiarR9VK-QdE|c5R&r(l4KJ^a2E$Kx z0ZG0yM4wbj_FM@a{YtF~tiINZG;Q;7IHyJAGE+6PpOV)1az zIkPfD<&u%27A<{NRX8I^s5|2GY)f$}U4W%Tsra}VmvB3Fjv)z`Jneac=BE3F! zSZZo=dUDF})Qpt0G+nAbO(!&cYD!v0dPZtSx?ZOj`b94@Mp(Yq3Lc72jVc7o^Xm#K#1vv3{uX_2``~9@vF;Pdx1jP0$n1 a%c^nW6-j8~aE>ul+`v?!!cUZ!W&aJuAKN|v literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#40.pth b/data/cross_entropy/generation1/learner#40.pth new file mode 100644 index 0000000000000000000000000000000000000000..0d981319140e8d8aac9db91f3ca06dac842c17a5 GIT binary patch literal 3755 zcmbVP3sh4_8V(R1MgbMnDq?-0LRBCTK&qKhEL6Gj3IZurvp30wn;Mc#asz5hK_MdA zDn3^Wg%)3Rt+l(Xj}>x9tG4wV*Q4z!o?30IU8}CEt&dh$)V(iF5Z$x8lXK6#nfd>J z{_p?4`DZ4V@RQ4AK|!(}Eld_FGgGA9LfJ>D;^T}YL&nxY8l7g!5o@qo7}CV)De@`gq%4eyG%JuSW)bqKM845lelo_+Nti69$Zx5(H}_v> zBkg1v#ZYz!k{b+Gvzan5CacAv$gvwKJ7s*uWMCA?KSqNB1Oqy~v!sNV4y5_cAZ-M1 z#bUMSY+SF&!Ep0FmeDyV2K6%Nxc??IW3uRU3a&?i6mw8-7wV%y!P+ohTTdG1RgiY0 z&Ss}{wADJ#fkFi9q1w=H;lseD=L2RIQXiqWHTtO~y=nNzmCnFjp2)>~0?=9%TFjyEKq8;|k z;cin#2%sMx-!0OgrGIQO{H_3KGLbWM(UA^fuxV8zG2|6m!-? z%<6bN;V3~aN=&#!FEm={922ee;oOKvV|x6wNU&rV_mrP5UjS<%0IO zXl($eT|t>jX$Fm#Oz519$?Q<*>=aKFjs}l8sX!B+Bf`~SwiCfF1PC7&f})Wr44SGz zX`+#7b?6lhN_W!Y!pWd}(cC(C)rF>O&4GG~q387hFfyrVslLiWv)k`=MkcH-%XstvxFE3FvJ-%la z?Rmr=LeA5{A<}^nGwEbdxdv5;nVesT7HH5y`WY;EGmp4R$X)0yo&}Yn?%NEi(x7Tl zcTpW$tU)!8Sx_s+$mK#yG^kFB(NZZ!^`00llVY@7iqSh#jNX-Ev_gu}N-0JSQjAtf zFoq6dxdXYYw~Y%UQPbY$=T=0{vL;h)^+ zZl~cg=)Ill7ci8S-`O(KCVB6to}Kl-`!bst#!T^UxYQR1^EHisp6^CK*(7f__+33N zJ|ivV|MlUU7FWlri!JUQ#RIUW3gPtweemv*Hg?VOTOiYaCGHx17;g*u80?5r;dL*K z1h?}F;M9iuVEk$q+y(%gGqpE6XzgbpZTn{SdSG8D|6;Z~_V`ftaO*OBIlTZLyOV`m z*L)4@J6?6)Xx#!gMI2){Rw?iuBHZm$Tnpd05COM@m%&{JCc>SoL&4E~X1Jp!k}FRLOO-DM_h!g&QQZe{QJ;D?cj2Ev$eS|uMCVM{)Qs8PfpsjnlnQ(c^%(gs z#$EBV@y^_hZrjm7_7m0@98Hz80nRJzphqjg^0p{A>HBx^uHqydHUATkzjGz_>9q_W z3SI{foVoz_ShIjkTa97ohaKNfUJN6O2>7GI|3Gb-&y=s$IdG?OD-1m|4Mv}6VR7aS z_n%KH0WRzShY$P0w!OcBfWD)^H%fkKA7#VFZwKMda)y2R z2N!gX4#T@HHL?+zyFsYh$9<-d!G1A$xc2sL;8y(|1iF4?Bic5x3+FcA;Y0B3c9s#Q1h?Sq&OP8- z#4xN^)d1VsVel8S4fguSVA!i{6Aasu?5=&gSlw}6#~$nxg#WtVAL`G$fbHgd-1=(= zD6D)7R(IL(m%kN&6$c-Jiliy5a&Z?MUvSSo+O#kV9_NVF!^^%33!ibe~@OP#a z@Ux*ZoFYHN-b#*Q7sar!v2!@yy3~Y6etwQkEuM(aZIi=E2kKd}eIA>4vdbL;z6LJ@ zrozkH*TZc^avaIbWiNkecOSp_9s3&N$KHIkpQIvuCqldd>iN?Oqf9_}AXBYHI@PMxuhZbh5d$z?Z8#{PTQEBV=*jmSTnCN z5BVpT@Zp_(a`W*n;{08pdwa$`=xGDqf^c{w0u@M(ST=#20vb6=Y7`p?c=E)ftgUQ!$8H{po^f9dP-JC8rL kbL}pF;0%$=*d?7y2pcoRuLxs#>R20K11RtrbjhArYMqi4lJt~VNWyLx#Ax*T|W_8G>+w(~~nLp8NqGiZGR*$;z28?;mf&xyuJH>Sd82WQo ztTwB$nC&$?Xm;LbGDZhUqd=39{cpC=W~X~W~FA*&uv)G7yZzCSD!MxZIA!l90 zY>sCW4&~*B2?-bJg<|;5;c|ly>xL4I=t@8fOFqIb%MxBl&N45y9F3Gyek&;{uRTg` z=*DW7lIB8+MscDEqmwpU95SPwzkBR`HG|(5@%3C-e&U4on3;g&2ZaL^dbw>71<#apv)% zQXxav3=?c|C?U84A=8stGiB&?Hpg?y(HmYlep5s^S3vld3mNrjo`{eT5$1UinnZ;8 zB0^F`SRf)S6cJJ)LbHf)zKF0$L}=kzV73-p2os4GtP*h~AS=Z&(N>O%y}U$nDz0l5 z?K!%`Iw?m7hd>8f$fT1-C3;jUWO898TBJv1)Js^fI7fF!Cv~B>ITn-)x=U!ZRF5hI z-FGU{GCg|t84H#RF><-k3O%Y6W3*C?(JD`js>B$r7GtzVjL}*#M(e~FtrugoL5$Hx zF-Gr+G1^42S*K>}q+)Q?sQN!9c?MynWN0%RzW2*fjaT?;#UyVL0Bm)kZF;m_1W+de z*x>QOzD*|W|0qhb1>=ps+5drLV<~f~tifmo?fX_bubjPo3HQ}D@ zS8k`_66n31<}IR08@ID%Xj8rSQ_s%&-+fukG;JX{H(Z(@`f@dmdtU8Es3g_f4Q^MD zS7vBa{$C#+wW)AmV-Hw+tAvT4I1rdha=@wCgW#X6OQCE-HQcMs00D^#Cb1%-C8XL9 z#`~AM7vgPTjW!a{ijz$5`L~#Vj{g#DK4!*Sa=OFCg>7l7VOCHPJrKjUhGJvL8cl0@ z177_45O{b|FmAtp6+He|Pe`9w?>;)^1I^PuagaR!Et8QvAa$vB8Qzog8vgm33)C$> z%d`hxXL58KnID@2v43eVd}~}8tQ&TLk;dGLf??#kco-d91FF+!;Owj;V7e_AKWHBc@3qRo z!|V#iadH`$@koJvgB39CavD=u-xnU-dITPS?`v?fTMZzURq&gGDyaNuD*mOXKXakz z5a{^68JwL~1>0LbfeYUr2akQxg6MQ9lZCdJ;N#N|Gf%uyG1IBvybZXXP8)#N( z-5L9aF{vpx!O|&j;C)v+m^YOc7~%|q+S_H2G2UgKhVR0=v)h61h8>Ky-)yyCz3F@D>IVW{_~f3@sV}RCHG$3 z|Lh7peB5O)HtjShoBUl%Kx8HZR)52skFM1GD$aat=#TbUu^;% zA?smn=r~w1CZeU9+yo|V1NhpRYK^VF6#seD4QBZ5D)^Ipm0Q_u3p}&84URl|13Wa| zb)Qj$!vLKU8=gkM389%l`c+_h?XN2}kALlrXU~ZOF`-8_pWbvaOIz22B6Bw0vwst; z8#)T_yM4jh2hEYBYV-(7Dcw<>3vwLj`qY{uIr<;nd!Eru3A6T{nS?NuB+XxwH1roZ@Xw)_TJp938MS$?&Q1Qy_q@Z z%=ypx=gdqN<>M=p1q8^tv=CV@nUSHbCdN7}AudKwb9A(&$e5nmLpI;t%Dr`**{Wls zO{VB#v)*oGY|%QiiK7j?o_rRA?2L&s&_+3ujaZ4i%8<80BTU9wc?pB55c#ap^x*$% zEwq&`W;n)bL%uql*=S^RoWX3e$!A*ijFr)+8FZW+`HfH`f0qGmzP+G8knY9`odKHu zf)$h5q_yz91{=rE`&342V>r}Zr{(_}jGV!w)ynxEIg;n19uD-18U<=X1nqoUS5!h< z^;(OS(XwW9kqz~9S?{Ik)oEND>+Ko~(u4|Q2Aj6PZZx`W2r?)*Q`1uzEihYMhDF5? zmtr4HM3*6LiGgFaf)j-{)Yl~zsu|E#j5e0gOKn;m&BsZP`nd$dG{K&NZVchB;Rwy3 z7Y=utvcF4ofF?)~wQ)4ZX!U&HrC`Dm*=Lwq3x&%6<3XrzMmS;P9e zv_~m4{=9YxV<==f6eXF^+Bt*KCf8aSfhar;o^n!-M!!UaryXqiBUf(~UQ3 z;}-;7$e#+ zt!Aup#Wys>;B~q|a zU9)J-rcP150v&839XK(Qb`C93qY^QbrB!ID8ZBdAz=GGasr!_#11%R=P$ufG;Lsat zR4(eStU{~QsNyLLR*NxmI8db;RY@^gBgLrN9iz2UjNX)DR3pWxR*KO&DMst17;TVZ zv{8!DCMiaBET46DF6Ao)Cmy}^ACo+rHnDQFnGfIFWoU~>__j((-X;Rr?m#=#Xr}~V zmjs~R4WK~+@LLJMZVA913BWrNfV~oceG-8E5`Y5|fP?mYyFEWTi|Q88e7dQ=gRdsS zll9W=w2usWZm0Q6ImRsPZ0V`Vp8KhLXZ`QKj0TP~GJ+cp)!lHRrU}o>-3XE;d%7X) z>M^nDsbl|NA1dn?tNi?GK`&b%4x~!RAo&rz>E!#s2dBZpNfA(|_9a0oCs_T-K=S3| z3!q?GFK48+ANjPg2`=8A0<%{|!eT!^LS2~)>2V5pb&e7aJ+T^BM&7~$;w-T8UOBmS zc@_y+Hx=TqC*YCQ6Uk?d$3F0FTaS%p8;I`xz2w1yFf!^SN4}ds9p+8RfrGo{;d>V% zVO1LiEIl_l{~Td(w(L9!ZafMnJ#K!68&@~r#$E5FfL{~I1!F2f?NdoqvjX187=i1< z(unSd?GS7k2nRc3$THs*xNk`wICU(VXy#4DKi+J^D`wPy;(0${$DmsBj`9(Z#oqyT zN(WV|H^Sr`FPKz!gq&tda9zR)9IIani<^H2+hSC(V^<3{K^a`Ta{#FiZz276mVwQ( zEhJNu1XZCYoka@|kq3UIa8Jjjl*XW7aJ%{pP>sHhXM9DGKhfXg0pCu<-z*G++~uug z%)M%2(9I`To2G%|pbj6Yh{cl)D!3}*ZS3{>Md#P+(%_tnnV|6(Z}Kp6EVd+jlhz&A zLF)EM+?E^;CzVGMX3u_bZ25H9Tf4a_w|y=g{veUOcTkCMcdW-Pw*$yux6Oo)X19O? z_fJDGj3Tc-iXuY_)8P5P)xe*QMw6B2zrh#QZX<`kr~|>d$MIFF6y60}K*(!3P-fVr zI?(+IxOIFt&L0ttf9+7gbLF*U@3;prZbg3>Wog0Xiq*+U_c?3}@%qRZae{2P?jUJu z8GK`7K9CJq;;<~{7o#T0@6JF5^DF^HUY@nG)sm3gk?YIN=u}V_*m$P{BlvO1Dg9c}A#A(3QQ6zk_1L_|( z;~TqAle_PJ3)Q%C(T zwMeN<7?Y3?H#RPQT*CPH#KhPHWnwJflnL=;V#mjg9m9X|qe{Wch1%LX3f@EE$)daj zXP@1CJd3z+7wFtxa1VOkfM@yb(@A?Ke<<`Y@T~GbZ^1Ji!ui|Xu64E`7VYQNJ#!#j z1l%ovKV5k^AZ74*eb49&aVzs*>dyKv&RZ7c?;j$ID))$IW-9vlo2|X6FC@ z`M>}F=AW57`7jTW$lF^qqy>mZiVTF>Vk9i@#>YkL)Ra2PTxQ71@D(j`wkmfmWwL0= zD5Ei|+@!M^2y2wqWTe!3Mo(NoARA$%^lF0`iKbQ~w@TzLQL>X!7DhsEEJ4HSl)lV= zm04|3mlG6Wu_6zx)?_dcT1sy+TE)2*9bqAKnR+cHMxIj@$cr<+v%;G zz*;eyj4CtJtG80jyf0-`R)Ru4S{3tOZ=m!>l}gO?h>>_H^0lK83go8@V6`=BZCQod zqEneIgo-qo%B<)e&iY8@$U)=$*eGtyUm3`b>8+|_o5A3;!OEb~Im&m~(PEQ@Gt4Un zaEfD;!9#{r6?%$Pu}+j&(O6C_P#H2*Ol_!8udu4LY9>xP6vPRRQ;v2ObYd9K4F@YH zzHxZaloL475T!pWYNgZ^q0%vd7lQFCZgiq@>}#XWsU~p}zvht{OlqC05vSN>PHYOF zvms(8>&pq><>W&7gbVaS?{S@B5~UmCh7^SlC7^*JpV}gx%fFC>VcyhAG)+Pdt0O%) z?dcMw7o%N4=u1cnMF=KTHcD@>id7bZB??1>mz)%%$hU|vG_#s4s%5ca6eW=;hcia4 z%z{vt5Ga~g5oa*~sRF)JjHH6wG0I_#tk!HpvGN}%6qhd-$^GPh>rg!Na$AQI>N!Uf zDU_r@$#vYHlv?z@0;MXM6)V!{)mD^7Mv~05WHc!yV@S@BEMML!_p>7)ce5kN8<|0& zbOp-bjeJmxG8Jg1jpP?j7U@GW>tL20Wh>BZlIQyzlIOOZ9Gye*Y@JK;beu=>Y|9~e zTIG^FXYxp%9r+~B0R_n?xq#%8IG^P6wt!pi%o;2v)RfIaSkXecpK=6)$Yi6OorQ8g zn}!Qj3{nowu$n0j%hYUv5G#ne3&iL*OpX^-qQx#bULqh|$|EeYBb5SuC?He|2sKWG zS^=R>Ku8D(iv@%w0zy(is232H3JA*tga(cUdZXE())J_^UceEHj3moMQzbIHc!?xr z#Lz5S^5vh)Jy<$ec{)&hCT$d2ra%>ZCYRTu6$-SHd;<$s<;%a5d)U!OEDI`m-QQAZ zwE|V~y4AI4jRLKG$$}a_Ms_<|r$DtrjOv6K)jMOfUWieH5Tgx3j5Z1}Y7}C$Nr=&A zAx2F?jD9D?sF`H4P8P~Ngy6)XE&nme^VLRDj9QrR{k{@ybqU`#A<3;gfIryLb_Hq^ z0PGL|v^xRp6aaiI0N5n}*ew9qBLLVd0N5u0=nw$x7XTcvX>2x4RGxgeckj^??Jt;W z!ajL#-A>1dpzC(3SwRsdc4y1VNOj#$ojdD)_hryil!0K~u*>d@XKNb!yxk3dQL3vO z?5-Xy&B{pne|D*$_bQG&MftKiQQ7lN{5w;gHA>#^6kR6JI4 z)NzsW!5bA~=xL6{fondY)1_KidJ5rl=eFYP?rI#JasV_A1cGk&>-5>#MR>=eope`E z2gv!?X0UU68QnAT4qX(y60A+SOovaq1R6w>LH5@taQE?WI4x}*ZhiEEzG}QcFYIW9 zw=4VLqBCo7^1b7@IlB|5K9=AY_mWeeTscJBZ)M^_T_2q1(9uV}{Ss&gBH=fcxTmwf zOLnUw4el%|qzArwM7Owq3Y5p&=)ch$;o{OJxMfK$w$|O0X;xo%WR`zL_b)v_m$#N< zUwJM3;*1~sdSIXIbao-#mwzm^ZN*mj)P!2+si&*^zFMP3tkY4gGPB zyG?YkWDX2UUQ7SukpvoVWW$pKAJZo*)$pg#K6=*W7Px-*A$<32GrT1#z+^}ks;XK_zXXpJD$GVGzY}0((w0tZFu?2|C$)D)DZAmz6PAWV-r3y+lH|QgMN|2tLj{BpeaQT%A{O1uTz^R5kxE5Xo zQ{r1-CY=Z!&(iT9gD<|nZTfZ)xV;r$Z_&!`Up2zcxL^#gc;ftqz4Tq#FFpI_T>vvx ztu%En0BaAd11ZnC=-Pt4j`=A&Kn_`eeI5qV{|t%%qZ%UsSGX)q_l_~A5cYX{#TYH} zcC8r8*weMin3dtdm5ewsYw1tzB@5h{y2Cziw=`K4?P@8CD?V1j!dwsZE4j^FrPpO; zO#feMQA|vHVtjmTQfypud`etGf;2uRLCUn4__)Nll!WA%g!n{hVvLmavg)IfND1R1 z`{c>pSZ80|d|Zn-dlwko-f$0k-GFQP9WzKfmpK%=7*}sKU@rpB=FOb0TpSQG_`1GpbS68MnJ>j){Ws?=PwwRvA*f9p7WvA6r||XiozI@y knf9DL@-dCkV-L-u+3Y=uY3y*G+>_nKM4rr#mFH#u4OemHg#Z8m literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#44.pth b/data/cross_entropy/generation1/learner#44.pth new file mode 100644 index 0000000000000000000000000000000000000000..8b6ba28e4310dc92d830dffdc7fcd361d5e21373 GIT binary patch literal 3755 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 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#45.pth b/data/cross_entropy/generation1/learner#45.pth new file mode 100644 index 0000000000000000000000000000000000000000..e4d7c8e2b7df764a29981357eb3f0da6b02d202e GIT binary patch literal 3755 zcmbVP3sh4_8V)bTC@L6j5g$dgh81}Q5P{rLR1hN=qO4bZ#GB;84TOYAZcti5Tnz|5 zR;{2YQhdkM*=Z7OUNZb?c)Z?L*vS?N-mWSlhiXO%UC)yOVRzy_xy{ zfBx_PzxiiItMT)f$pQmqecCYD5SfLh>{i+yk&qZ;qF5@rwAhl7K2VnLX;r>P)@C;{ z(N=48iOuA+(2i)M&B{_{PES6chECebnkkDM$|Bc5p9<)!B>Bl$J11eb7DB)E@%caVP+XU??j;k4j05mkfZvFQI-`{xkGQHxHy^MOM>9bWQez*2ScbZJdzyq z+~HnRh6$ph$Y5U7!BQ-(H*tZNf-zbc9YYR(X4Es)SV7_y5t+qCnY@j7#KHx!abnK; zh}j%ZCX5i|#)}D;=mjSTov$iMAI^M>pa5Q+rNjaSS0uhd84x3$H7B7d9E4dv<`f;+xQYVbp++(3CS0mE|X@aU@0{8N%hKaR;qe(2B zqJzong+EhkV2Tc=lH7`w8O)RerZJNlZdxXWiDlv#!H_yvb5IlHf`rD$1%YT}8VjfE zV7h2zMh%>)gR`8BxNtI<0SvbeGF@=C4rVbT-{&wQw>3;i4kNO4E+f)0n-STT!-%w+ z$B3NKG9o*28Ic1zMojX2Moi)YM$B8Du-v&dSU^*((@s0!?=?Z>AP$ku$$B~$YJ!{w zAyjdY?3-bVD-LB8Um)ZsNaH)uJnG5Q5aJht#k`Nj^2#pd# zlZ23#5Ee)X3nhe%gwQM@ERqlwO9(9j3(VG13uUBXNv(t<9$FcmiM9$@>g6R=GEsfA zXwTK0(D?IoaENqZ#Y{R`Sf+z3#7wTNf#o{*8uJ_$yq>G+*7&>NDxL)uqHZM%SLl%Z%P1KBmjFQ0Q)2W`y~JeBmk`vfVU(7Z%Y8$oCc@U5Uthp4?KPHRP%3KHQ^ua z3%65+40vy+hH{p+@jF{adaCz+>e*TUyDy8GWi2%ChD&`bl&@+0^I|uGWvSk7@Vk0U zY)1N&|JR4v$F8Es9reVYPHk}im_y>Mal6t+FZmAr7P~!lcl9cuF8tj6@{UmAoTCu? z+0TOZq;53HR0X~p`zdH`90AU@JVHkmzYs;E$D@@g?e0&e#em(LmlBUZb`p(o3S!<5 z=hO=hzfLr52JJ^8>hQhFEks5^DVp=Qk+`!+LFj(1#>amy#g9f;gL9T|-1u=eac|ga zLU|@^TD~k6815X$>pSbz;}5Ix2kEtF#GwOd*WOH!)LDVg-*|`6UMx>DmVJZ_J@p{} z+!DMpD<3FU%TRVerF-SVZD{B1@xXepC$0PD2@rZQ4EUJ$5I3iH5!VdCfZ33Oh7CMG zbj(}};zmb;;s0cbhg1X3xx5jNyy1%rcev2F>TZ+`E8M^Cx`2IaK0|L)D~SuAA15+y z<|4hyiFDVex6 z2lYL}BBBw;WPX9P;0kf|@?kW#AZ&MF)l7>sT=ZpB@( zv)$o;ZbGA~E)x|41Hhu8jo|kF3S{1~g_yD2inRrG?mXyr@1K~6l?oqR?pFZ(v$~M! z!Ci#v@3`mIz6I`{|ImFp?36p;gHW8E-47JpUQ7J&xDGT|+CanI14PK8da$Qcjhgf8 zh@s04A)~PYDXfvWsxt{YhqtR!U)h2#?K_Tc%wI%=eRZ1nk<0UtoEWu!;z^Jc4sk~X zi`vJwq400pKnpB)FYa#yGkz{YKV9#{fB!3q*1UIy_%hRpF5bUKR4GS-fUxWC1?>+} zYsRYNi}$8^AwQWw!b4a?>r(l00PVnL}^3` zNNJ5H1|<(AZVgz4th0Fp_^(L_fp8{z`L&5j^w0Oe5dfb(>@(5#=30+)u zzvH7dU3g4=7=G}VqxdYl5na7=4FxnQfi)@+EuE2p*OfjX_=*vAAob(-xKjxKytrb7 z$O649Mj3y)wplaM{e_aDlJk}>HW%jka&?D)UTi5`7UOLxS|~ma+Rj}M%&!TXx!!Eb zNT2k-)S|e!grtOo_$l$K?^oBY&3fb{j`oy(uv kx%Lx(nG%hUCJHgoMex0en#L5s9c+ zTeZHRps3h&>+y6IwPfbV)>hs2RPE~s-L9vrb=Ozj`l{~H?!CEJ6GZpy?&REaZ)X1g zpa1*+Z~mDnQ2F>uBmn`EK5dXBL}H?JRx@QCm6#l7(6KsMWw|LkD^N1e-Rivcti`IQ zWoEOi!eX$QC`P8Ym|2~X)057kkc~34Mx9BDB(W=zS1t06(eRV8R!+ibE<-*JO(6GQ zTdA|^Dkzq+GRRl2x0pkzcGD^>Z1}me@*5d1-%|?+nlk zT%#j2LtYqlPxZP>;+0k@0%Ap0m&!7cvtLV@?T3~A~Ezof$EwC+* z7HE}E3!EvS1$GqD0teKzkmOmkki^-vkhdb&a_81yDWzj=R*FG$R6&~l93qR2b$8BH z1=&hmp^8VEz8ThW#i2^a7YM1E$}N(jVlKz?YSDa;9RE&4xIjR-(2lffv`9p#6A_lU z5$Z*R1`#18A}kdVmWc>y5us5;xL8D3E+RC!SYR|)nsj;!Rjd_yGc841x$tePMellqZ@ZY}9Rh%zcC<^4 zc8dU-L;%fh0Pl$aT0{V?B7i+2fW0DsHW9!+5x{;CzyT3JyRF1#E0Gnb`~yyRoNWG; zt0w$Y@XGCUumpN;rzJ~R%EIq#*;(nH`>A_p{qMd^MwT^Eyc>4q-y-;$#y_uiW1uA6 z(+z%CkCSI-rTo7>bdLN9Hzk_!^`2HRY+a`F?t|@kw$cYM4FgC)Rs(4nvJ{RqwZZ1w zOF+cH6X27t+F|gF(?I#K3v@Nz1T9^wN$bW^()QzRa4Jnoa%~t)zk3X9{9_0l-0(Aa zc=kPf^-exmd8!G2GMR;b$(P{h&Lk36e;hiVGKPhvk-Rj)w zwFun5vIrhlUIPQ>Y;c}FSc#|ap9J4NA{N1I{5v(g&?iC0A6j0Rz9}0 zPWGkb8} zc|BYiehR*s;{Y=cOd+?1nggNh-mI4!NA>}xFSCV zj))izFGsxJIb@nYnQD%Q_dX9H{`N+=CSov*oi4?v^zSHlv`xi>^uzJi;<4Cqcr)m( z_J+p~w1b6zU4g%ow!yZpx{RDNyYMwd8C;g8f#-@gz@XE&oF7)d?@Vnvgugs|4PQTz zqYQh}gKJcGaTQ9(_W3?=?Syu?`|mpl2$)ZzFL&eUv6-w*iD z#u@Oz5d(%tp5i+lqd@>dZ;Lj~6m5I9lbGesqlte7!?Lc3#|!N1mSu z183wx=bkKZZ^A)nb9e#&gg@bnUtNML^8Wyrdj}BjxEhdFtA;~YwUVcd97d&#BaNo} z^=rnTgvkVyj<5gg}C&zUM_Tfo6 z$1)x~WpGa2kqq0Nw}AIYu}~K{ALmEsk&OOp$?P}0@p^41ZkxUZUpW^ICtbFHqQF!r zt3C*mZ^*Dz9*(zXGNh$xBuu_pLoR*sfwQr_2t;+1U}F3f^p~eX#l2QAX5vZblA0s1 zIGTntKHo<64vU0?N;^PW?#G??%Ln4cfm?{9?)P{o+YQ$DOeX!lsV4d;2Rx)62af%t z2VFV^)IjMnAI9a0c#Ldd}INaUVxSG0G_yna%vDR1dQb6Jr$S9kd5)s~_pah{fBuHwT`R_=OWT=MIG)2A)^`7cF?EgFk<}+c&)} z2u1rvbU nkUzC^?HB&Y$2CrmKQv2n_k&Xh@jk1|KV;A`k5Y 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 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#5.pth b/data/cross_entropy/generation1/learner#5.pth new file mode 100644 index 0000000000000000000000000000000000000000..bfe8d526fa4c5d8d2c5ab1efddfd226e75f668e0 GIT binary patch literal 3750 zcmbVP3se(V8V)bP2nBg4K0vEgq9Sh)l-yf^VlgTZ1V+@x5C$d^5^gf#q4H=oJgnAL z5V0z{vQ|0Ts?}Ai&AqGV*mFvCZ5Qnptr#_EC3z05)>*?Ej2b3P zuMaCR6qt3iDNJL~vuZ7;C(WXfnbxyfwN8p8lio&7RmfRJ@sqJePC~0MLM{!|5bj-7 zsy3=iXqGmbkgG;x(CKImt2O9N(sW}1ZKMlQv>H~5+$Jf}Ae#YIzPYfFmv(3PP7i7n zZ$)p=t4g_Et%>F4eJZ0e(JUIQQE~5D9jn!=R8p=-ilmFt5DW5DA}`91*UndKip$l; z0#&JzRxt)cu?f9mv+hlK_Zt_+d~9PwsbTz>)}$&l>vVP-ybSW4N4>(278;B;!-Arp zP0^nkIbcXtu4Ne&??jOa1=z%fQKJWnsdeS*N|Q>X=HgU|(Fl#Ks9Z z8z5#dJ)Lm8P3|=z;Uc}z1Y74s8Rf*e5rIMm5>UsHPi>UW5pGDvF>g{8nk-{n8W>lb z_7oX4h|?~owM7hzLPZlQGpp5^q$(rL6NRI}Q%*|J)R%~GG&32DsctSV_KCZ9<96REC?D31=dhNXBMJo~h_icv%ooI9U)BjJ(dG znM#x-7)h>2DN6K)nGqIFDl?ej*1;?bdQ*wg7=iDz8G+jh#&;eguyqb2&~Yv!ux%bA z&?=n~IFrE$?8syU4k#HR$ytn$#QBVnw`|*T=hk2$t!B+e+JtfxUX&+?$Y5seow*7x zbG|K9k%$_YVKrAA%G7*;kSggp*;2HC%W+;6TIi7DMIyq*0>ZZ}NTozeM1*P)VZI%q zMnqU3BBVuxg(AWt5g{WY)QSj~iU^BEggP4wwE9w=T0^6fMiEC8(lb004OOVr!Am4# zLI-Bin5j6TaOLS>66nARnKZMgOo_^cOjgvRN+nvxynqGEGZi-#t`@X{XF-*qTg{>x zC8`y4->ygRDACHNELbJP$YMctN>ne#s6mWTqdi8e#TdOS#%PTgqqSm;-V{hYEdtnM&NrL$!!i`^9;c5UZ~Kj_ zCj6E0((Tkw^18!znqSG%27Y5pO-k&ypE_)<|J9>T%d$F}cf%t8VFX{(`0M3v_(&2R z+~9Zh@QBo;`2X97t6g#uu+@#^e_vxAqn8nHSvT=74kSa5^#S*mD}7{*J!Ie4w{Y5}1K=Mg zePQlbevm5j2NMnZVB73}g9{(!lGW~A;6n9I?DTLoY+ds$c=%p`{Boi{IWhA5r#YJr zkSQ@M2zBZ{9(D82*iCyH^vv=g74B;>csvXC8RDQ@)*AT5&Ji$H>q4^Q4&#PHOR-_w z5wNW1OER*39?AQzmRx>gA-vP~z1-co#Tu}54~Q79Axp=(k@(J97@WR>q!z6wbI+-|)eZYdGOB1D$Sqkn@iMVM6mp z(5>pQE|m?2S30v`Q%x%|bX~&@NR3-v-hqGB&LbbDuLIk2YVnx+4f1nmTcCUMNxb*Q zeOw;;qdc@e8der{Sm}#*!J~Ecc7@Ha)In$Fb1W0jIM)Nmoxd=$zdG{my!mt3eOs_ojV` z_XXyXS&){D`{@TOaj!O2lMaMR^uFb7@-^vxjbRq+j2 zyJQtv-53E)XD@+`Z4*ebmz;Q!dpQ1Mt96>p2^9HxLhtPP){H%aPy%ta7>4h%=-BQ*nHtA*zuzT&+OSxR#!BFx`<#h<9-Giot8+pyUu_Q zTu#V$?QbV(6)W+SYY{{`{4?-b-e$7c(hat$CIjj61~Mw(Cz$H;1b_1W7cgXfI>R{y;acK*`?Dx!YF|GFE2yOsWsuNb>l)t)@YokIBQMrM#uD+KRHBxw^w&FSj&S65(Je%vO9%w2}Kd&@Qv>w6aexrtf)m$HvB)Ze(EpIS%zZJpiogO*k$T7eK+yx>3t4= lVCPyNf7;_3r^la{B`N$T64&_Q422uNfl1uBA1^P+{s)qW;M@QJ literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#50.pth b/data/cross_entropy/generation1/learner#50.pth new file mode 100644 index 0000000000000000000000000000000000000000..6de58ccf5e4f8757980d513eddd96ef6fb856b71 GIT binary patch literal 3755 zcmbVP3sh6d84gb|iYRD&;{%c4VhE4GqHu?zA{vDdM6XoMUXlwp5)&r50mVfH3=dbd zx`MSnR`E@btX&`LD>L=gwXm(bJ(X?Mwd>iF+I8FAdUjRTuE*Y&CW!X5ot%5_&CLJ* z^MC*U%|A0bZ9t$*77`-s(;{SHG7C-Ft+YK#qmDOGETt+hvt(xtkQI5`I)5W;vl|(e z)v8)yGdV4^LuIsCS<1}m$qQ)cq^+!(vdEzc znsT%tI))s=i#k|}r41%7@KP|w3Zs$au$M-?Q;icO#*4@-Hp=8{#49#I5Su9GtdE$@ z@qEH4L2igxy)G($m0WBQ)D7$=~_<~A~d9l@SijoOvWC8{4H#OBoi%NhSAa=^3T5>yq4B%vqCJx5f@H2)1Tqi!E6`I(Ze~6$oIL7$ZahXp38`AoyUlDoX?1C%Vk7b zbd1Q3d`9Geo)ME=z=%m)z=(M(6qY-;21{s)b=qkMT&N8t2XcsPPS)GGNE_-b7DAN( z$-Wt;xZ+Sj@dZMzr{@*Q;bJbwMb+@9J~>_@AzUgVT;_rXJ$y?-NJ$8by$FpGLX(7$ zmJpUm2ume|jD*lEAzUsYERzsg1QwXBujznl>cqZDaVY!c&P|3vg&7wVD zds-XF)4?IqffY09WMPFKR*IQi*#KARVHNWV7Oc+K-q!}Y;M+V4szu#3EL^LH>qOm} z23V_ybvYqQu z(UZ?{+pYw>Z8jzjW$pxf9~PmC3V-lx*EGEM+6{O5>dVBzqaEn@fo6Q7vlVp`3SvN6 zH_@DS9^W|82AY>_#vKc;5fz(ai6?)l#~XX1fon_x+euRqRBf*29PCP4RHTv+!NA8NQ#tTK+HN@IE?HQWJ zmBhur#ek5cHl+U7KJd@m2f*XA9qudfEm)Cz9fiH!j00K+XI7X`6OP1oB4Tzic--{c zjLrHqAaB#)fcWiTXa89IxNaI)iHbot6ALnGJ?=_Hx0_(*5j8z3Jgy_gy(;zuj;lRE z+>QO1_~qz2bh7OUIuSkzctWbs;XkfGLH5y+GiX^%=*Aa?>9MG*e zok4E9hw=`_63oLfTDg&N@U8r!)#*90alktYH6}aw81M;*k#y7ie5KGEjgnj3ysO(`X zy1eZXad%-9Qf}UXANpBAZB-hsVJG9j#h#4xH9NquC@PZX)yl%(pqr#+81tSRxokpvvc@Lxe2o)+T2lLDzJOcK79J)0(Z*sMxtxt z6dbgr1Cr5U1wX;OO-4(Sy9}AO`nje0wermArM#-TCl1So=X37?HODZPhIRV{RP4d5b0k z<8?dOx~Pu0ufIin(>NU5yJaS3Rr%wBSrPbf&EJW(KQF{T#woyfMvs4WDhltKJ0I;g z#^Uanlf-}=8r-X_ML)dP0#25YVEMf>pvO8Fl^qyPRDZt?=dRL#=&r-~{Y5uXmbDQV ztaE~6b9aFImCa!FooG-CZV|4|R@@RZ46j`>5fw82;A_u2=tznNG26=06V31AF%fkr zrN9IB$j+e2{l6kQJPyz_G#5wO$AUA_3UqMOZPXU-MtsGn51*qu!<|C-=k*mMTo&S6 zF)H}ewauEH6)2R9Bsp*C(>a`U9|xoizO3&Xoe5rL?n~cW|J8ZZX@i5~B(=zZsV@u!Nng+3`TVJ!Yd!pt fk87MBe`uD?;qOUYGJT2 z4^*^Ws*BH7(W*!7N@lt~c3si79=29Jb+_WPJ?gHtyFRMNy)R7^-Lt!sbI-k*`Tu|Z z@BhE~XC{kM2dGpbA*xobv#O)Y&N40s>xxRy$66Vli7A|IPfKa9n&N8<+gf<1%fiJt z95Dq>tH;i|V=PVw&)5V#O%97Ztb?~Pb`4SuScKY?qPALEoQ!t~5;jLZQdiOKh5zP4 z#>Et{JnM3!0E@+Gx3d=B=5)9<<6KtO#adHs7G8q_2bfThWWb#3$;%U^gE_G?gzhO? zaX203LZR2@=7o8m$(Y?NkJ?$x!hf5cw>ivajnJb(n(3&0IqG0Sp>$_aJD0J{E@oU- zbD@hhb57@MHwu%icceSMFfNb1A&rI8UBxk*+nndI+kG}f8PqA04iiW7oG!_*tk_vn zjG%k88ZsB#c+M<3k?%%bB(bjaTdlTkp+7AcAKk#p8c z%;|nMVU#5IuAFd%UZ}6s*-uNi5!}$B{;dgU7s$uBH0kmSX$9sDC`ALcoVtn&khI^^ z(m{fDF>A}`coeOeFnf5L-K{aZSdl0K4W4mQg9g1uM4*}5=`t6^X;6$-O9u-^-NJ%k z@>vust7y^$fP9YJsX;o$Z9T0PWG#gr6i40RQG7O~qC%M0B zoXO&3c4Tuh2TYutA#i(4fgej;EBOseU=0rXZXyBb-r=%qBEbLC7cwbA1Rc3PP)b zkW~=oDG2iwgq(uVrXZZ9Ae^lrv`Z|oISTEJg+&F66&!KM!HGA=gG^zf+2go@=%&Z$HtCN!6O1qK#`0gpZ~p@p*U zqDoX|LLWY3!EfXkm6xLm6RK2VRHejdu`fnTlo%~lVzf+&(Q+k5E0h>jD=}KB#AuZg zqt!}`)^I}Bxk*%j5}bHc^BB^>FMPF1k~hczHkPB0Oz2|;z;6`* zbv^)}C;&Do05&TCey0GaR{(5L0BltNY*PSiR{-qrf2fWyDz(q=k2WMM!E4ycd@34&+FX?R}J-dL)_J4 zb!jPs|6d=P-5K7<&#G`(egeT=6Jb8DBlLq_WW|l6-Wic9^7*39;CL+yR=d{W`FkG% z1KkI<6qbP?Jl)vfe(ar;*#&lo_2h2dLy-I+3>Oal(wlX)i1f?I^)@sb@qw0y!{($m zkw|S2IhydRxA@~S*lp_*u;uI!ys}|Eo;X+y3IYL%*zU#~iq7LP-f%enqwV;oyWe|n zkN6tUpB*8)OG0tk(`k6wr}40HO)1>}=Y!z3X%V^D@e(-m)h2Rl#vk!4r;&KR7>)T= zTI0bffYevlld_}1WZ2em`1q+q-W>WDuq`T@Tp08Ney7_WW5mS_vOMuqvN&xDjGxwo z4-9X?i)W8+yuB+Cmt;5K^I>2 zon6F@cML5$tA_1Hj`S|c%m(krnc+UwB9huY8lwA^cvZ?u+<(A2@AdG$FyY75u=dCY zjbnce0sHpRq;^XxnRV|V?tfVCJ!y?1r?;n(zcMx6icL##z;G2QIkgU74Ekc&=CX-o zUd0Xa?#*$e?hgaN>Z?8Bwct1cCl55v`pX>H+&vDf&mM%cB3Hm;6V8B!2l?RV(9STU zX*lT{VZ}>f9x*i4f-7ldU}VlEkP~$ZUpjID*BrS5GlmZwmhRaDn!1FNg^do}RCxuA zsGdn~zL^5}Nd;juge7|CovBRzHI7!;;$a*5H=!GeOIoec+qF@i2Y)THG?=4&K}Eym8bB z3q1K?0ZCOY#53_e;}}D+_sou+AojY3*zf7^qtYZ;`&|$Y!1HmJqIKXv7DdK`UEt>0 ze}L)kaMEx&imd7LC)^*YjrVjH@YtxY;HHfiz#H{Bu=!tGymgbChqPVl0ms$NSikoP zxN#~O-ftcSceY&sM-}fUy(5;ub2Vphan(%7A~UJUDj<9N9y6Bpd5m+8PRFB~r-Gzw zbzaM@YoPv z72;npip0~k(~*`EAeD@GjcDm?UH*i&LfsLc*ISBI#rj){k&2I-bqUu4+gxcgH`}af zDewI+wMefwBpM8HgX7|p49W2c2|9y5K_@i5AwDr)mynpOPfSWS#OXvY=cAszw1S7? zlSQ==oqc}u@h{@yUEsy`ihIz@2K>u!#0%QvghQd9f#;R~Wefi45YOMfcJ4(Ba?yTS z-9HE7MZniWgwvIu14;&8*7uK2q)%D+GQFt(>bzx9K|#@qS}*mW=LQ0muV?RU@zgG~ i2jY=WXo8-2XjY9C?@2-vhqI_aaTiks3O`X^mi;$S(c%sO literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#52.pth b/data/cross_entropy/generation1/learner#52.pth new file mode 100644 index 0000000000000000000000000000000000000000..2bb71db35e1c408bee881e77fb5a75678dc18328 GIT binary patch literal 3755 zcmbVP3sh4_8V-Vpk*FxR^6-IH4G)3vQiRM@imVz@2%uL{!zEm}ftWDK4G2nAFal~< z>jMP~B8tW1s;BC)isp{n9;>ePoOX|=zSg?x%37-xR$D!4?cSFriuUa8QCUS6^uZLn;B%t(&45yemzEAr6m%|;`oXAEYORX)p-Pg$t^6oa0TquwD}Wb{ldgp8HCP#L-j^~uE5)F`dL8%QU}Ov?oleg6$dP;j>SssZTBINb^V)f&zPOCE z;`?V0{2F;I(maY@jgaLk!`^3|3u%&1iJm;APODnM8knw7_f;42z0` z1w~&XpvRD|%)rn(-ibmh@)N{{5J5e~NMjjUZq?~YE>8LA4}#!OVvwt#6NA4n96$_z z>+ow+1`47#yrH_nYHG_EHBjU4$%i+qOoLQ0N#A(bdpNxRq59)fn5 zlJMlT%P2!3&7g3}gwDnoj8?hMLh(f5Xz-Ggay0%OA{@=EW{a*gT8<)=N}>;E)XFUg zvXDZNqKZ6~1IT2GopKZ;_3uP;~6wT zize0ze-diYBrQrLxD_kQGmuu4M31MrY3WEhidNBrA$5jkk49lfK;vddP&D#BgC=WH zvS{Rk8kC|%Q*5-ja8l{MG`9}^Xh&1EXc{f@eL5|2TSE_;NsDZqL5p-uqeZsOq(xfI zqD9W6(;_=EXpsY2T1;{#EhaIG7W0-ZEO%}V7EmN(vrtwvTcaSnIYed~LrBv z5<*HsSRf%Rln~MqLW6{`NJ3aFAv6jsFqle=q@F^H>LeV|$VBr@G*_Y$7cY^L4)2*o zONQo%#)GGWRipzWX41x>QY|VIGr711m1|K2{T3E1$YOoJEyZY!6r;6Lj6RZL^d~7s>!cX1mtyp> z6r&ANj5g9-*6BGK4=Fe?Xw&Z|Ig2#WapSmgwpRzpF<^ zr6y1Ke|=b(vX|`~cF_^D`YG#p=z&`rH#;`290<2I_<@pZn;dugj)b3OUr)+?6wKn% z(~ch>Gx)L92HTa}6OW#M$m$>eS>18D0T12$J-hKsZz%%(8tS@J=c*9xy}cEjw2c)YW_ z2F4p=+2Hn*N&lR295%SG!+!s2VVjFjCoPF3)F1lp1@dkFaQn6hIHm9Y6L?4rrtj53 z-4Zu=?Cv)BWZ7XnxXc}sMG$sZcd)aYnv$j;>VxOz1mJe>bKr#6T{d*_08mst7SDg4 zr4Cr0U0r*aFL*bg?ggXCAj~NdjcL**zg*k z#n5+8IXn}b2S4Baj4iHG!9xf8!&7M=;p%T!LSptc(A+T_&fn3>{=Cy0r?=IrpB}S< zv8qroX4H0dP2FyA_3i`k0XYMlyPXR<4upXdUH#eekaMhO>2rrEX(b3byaPPg(hJ}l zLqX9IFK{3w6dpNS!>;xXXTxv$vqk73s6> zfi01fVaSLLQ1O>WcF_GvaK#ySHfwF9TDE5$-r9Bnjvwu*<|_uVFW|eQ+$n^A-d!;U z$-G=EMk#-~Hk(qDJ%o}GBj+uB+gzC4i>o{Q^KMJQvPf4;5km2?QWoxdV5kr_bDbeS zH972msYNPPY<-_G{k>lVbK z{ieEW4)}|Jvw3l+D;Ec(48E!F8l7OLGWVr@UH|QQOV@aMhD&P0-N(N&&|CU?`Oe@^ l?Oc1pANjb(>G6kV*);y1#5I06UDKQ2#bmv?A1^P;{s-#e+E@Sp literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#53.pth b/data/cross_entropy/generation1/learner#53.pth new file mode 100644 index 0000000000000000000000000000000000000000..75b7322f5997491bd0175ba228d7d55069c78981 GIT binary patch literal 3755 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 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#55.pth b/data/cross_entropy/generation1/learner#55.pth new file mode 100644 index 0000000000000000000000000000000000000000..efa9d14a1b63d5e6cd1a0cd51a0b21c3b2882dda GIT binary patch literal 3755 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 lQ#;r0@kc(caeDlrS(eM+leoqY7pQ#rT} literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#57.pth b/data/cross_entropy/generation1/learner#57.pth new file mode 100644 index 0000000000000000000000000000000000000000..faf86e188d4ad92eed430ad07bc3a513a88617ab GIT binary patch literal 3755 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 literal 0 HcmV?d00001 diff --git a/data/cross_entropy/generation1/learner#6.pth b/data/cross_entropy/generation1/learner#6.pth new file mode 100644 index 0000000000000000000000000000000000000000..f9e8a8be57460feba10e2dd416a44a40f29a177e GIT binary patch literal 3750 zcmbVP3se(V8V>Rf;`_1qX4MkPE8!&~xmS^evf&v(qiDw=88Raw;U*LCQG7?l$0CZL zh>z83TivSdsfyOjrB-EKb!**L4{o5f`Dp)aF z%tQs>%h*_c-e)p|jbc%tp5Xs8CYCW1gq-h@Bl%1e