lsnu commited on
Commit
561f6a2
·
verified ·
1 Parent(s): 0bcd290

Add files using upload-large-folder tool

Browse files
README.md CHANGED
@@ -55,6 +55,7 @@ The old `iter4_*` outputs are still useful historical checkpoints, but the curre
55
  - `repair_oven_episode_dense.py`: batched repair pass for suspicious dense rows.
56
  - `render_oven_metric_frame.py`: per-frame visualization renderer.
57
  - `render_oven_metric_gifs.py`: GIF renderer.
 
58
  - `artifacts/results/`
59
  - Full debug history, including stale runs and current validation outputs.
60
  - `environment/`
@@ -152,6 +153,11 @@ The current trustworthy artifacts are:
152
  - `artifacts/results/oven_episode0_iter6_independent_full/episode0.metrics.json`
153
  - `artifacts/results/oven_episode0_iter6_independent_full/summary.json`
154
  - `artifacts/results/oven_episode0_iter6_visual_checks/early_visibility_contact_sheet.png`
 
 
 
 
 
155
  - `artifacts/results/manual_metric_checks/episode0_frame210_visibility.png`
156
  - `artifacts/results/manual_metric_checks/episode0_frame232_visibility.png`
157
  - `artifacts/results/manual_metric_checks/episode0_frame210_path.png`
@@ -284,6 +290,11 @@ Relevant current artifacts:
284
  - `artifacts/results/oven_episode0_iter6_independent_full/summary.json`
285
  - `artifacts/results/oven_episode0_iter6_visual_checks/boundary_rgb_contact_sheet.png`
286
  - `artifacts/results/oven_episode0_iter6_visual_checks/early_visibility_contact_sheet.png`
 
 
 
 
 
287
 
288
  ## Environment
289
 
 
55
  - `repair_oven_episode_dense.py`: batched repair pass for suspicious dense rows.
56
  - `render_oven_metric_frame.py`: per-frame visualization renderer.
57
  - `render_oven_metric_gifs.py`: GIF renderer.
58
+ - The visualization renderer now accepts either legacy `templates.pkl` files or the newer authoritative `templates.json` bundles.
59
  - `artifacts/results/`
60
  - Full debug history, including stale runs and current validation outputs.
61
  - `environment/`
 
153
  - `artifacts/results/oven_episode0_iter6_independent_full/episode0.metrics.json`
154
  - `artifacts/results/oven_episode0_iter6_independent_full/summary.json`
155
  - `artifacts/results/oven_episode0_iter6_visual_checks/early_visibility_contact_sheet.png`
156
+ - `artifacts/results/oven_episode0_iter16_gif_suite/episode0.dense.csv`
157
+ - `artifacts/results/oven_episode0_iter16_gif_suite/episode0.metrics.json`
158
+ - `artifacts/results/oven_episode0_iter16_gif_suite/visualizations/episode0_all_metrics.gif`
159
+ - `artifacts/results/oven_episode0_iter16_gif_suite/visualizations/episode0_visibility_focus.gif`
160
+ - `artifacts/results/oven_episode0_iter16_gif_suite/visualizations/episode0_path_quality_focus.gif`
161
  - `artifacts/results/manual_metric_checks/episode0_frame210_visibility.png`
162
  - `artifacts/results/manual_metric_checks/episode0_frame232_visibility.png`
163
  - `artifacts/results/manual_metric_checks/episode0_frame210_path.png`
 
290
  - `artifacts/results/oven_episode0_iter6_independent_full/summary.json`
291
  - `artifacts/results/oven_episode0_iter6_visual_checks/boundary_rgb_contact_sheet.png`
292
  - `artifacts/results/oven_episode0_iter6_visual_checks/early_visibility_contact_sheet.png`
293
+ - `artifacts/results/oven_episode0_iter16_gif_suite/episode0.dense.csv`
294
+ - `artifacts/results/oven_episode0_iter16_gif_suite/episode0.metrics.json`
295
+ - `artifacts/results/oven_episode0_iter16_gif_suite/visualizations/episode0_all_metrics.gif`
296
+ - `artifacts/results/oven_episode0_iter16_gif_suite/visualizations/episode0_visibility_focus.gif`
297
+ - `artifacts/results/oven_episode0_iter16_gif_suite/visualizations/episode0_path_quality_focus.gif`
298
 
299
  ## Environment
300
 
artifacts/results/oven_episode0_iter16_gif_suite/episode0.dense.csv ADDED
@@ -0,0 +1,330 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ frame_index,time_norm,door_angle,right_gripper_open,left_gripper_open,pregrasp_progress,pregrasp_distance,p_pre,p_ext,y_pre,y_ext,three_view_visibility,three_view_whole_tray_visibility,full_view_visibility,full_view_whole_tray_visibility,door_speed_abs,pregrasp_speed,phase_score,approach_active,y_retrieve,y_ready,phase_switch,y_pre_progress_seed
2
+ 0,0.0,1.5707963705062866,1.0,1.0,0.0,0.4873844068189739,0.0033371034148316,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0020328091853072383,0.00100113102444948,0.0,0.0,0.0,0.0,0.0
3
+ 1,0.0030487804878048,1.5707963705062866,1.0,1.0,0.0,0.4872827663597085,0.0033481020568915,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.004410497035673977,0.00100443061706745,0.0,0.0,0.0,0.0,0.0
4
+ 2,0.0060975609756097,1.5707963705062866,1.0,1.0,0.0,0.4869433571154065,0.0033829515604484,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.01231594777018119,0.00101488546813452,0.0,0.0,0.0,0.0,0.0
5
+ 3,0.0091463414634146,1.5707963705062866,1.0,1.0,0.0,0.4860511715826904,0.0034536420487039,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.021140144595475086,0.00103609261461117,0.0,0.0,0.0,0.0,0.0
6
+ 4,0.0121951219512195,1.5707963705062866,1.0,1.0,0.0,0.484829342655859,0.0035602437453049,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.030320133759391132,0.00106807312359147,0.0,0.0,0.0,0.0,0.0
7
+ 5,0.0152439024390243,1.5707963705062866,1.0,1.0,0.0,0.4830191582067513,0.0037100098052282,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.041882212242498884,0.00111300294156846,0.0,0.0,0.0,0.0,0.0
8
+ 6,0.0182926829268292,1.5707963705062866,1.0,1.0,0.0,0.4806411214316091,0.003898675863571,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.04872160600514597,0.0011696027590713,0.0,0.0,0.0,0.0,0.0
9
+ 7,0.0213414634146341,1.5707963705062866,1.0,1.0,0.0,0.4781469976062367,0.0041067354359995,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.052342764993698054,0.00123202063079985,0.0,0.0,0.0,0.0,0.0
10
+ 8,0.024390243902439,1.5707963705062866,1.0,1.0,0.0,0.4754068449322393,0.0043325617116137,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.05676469321189204,0.0012997685134841098,0.0,0.0,0.0,0.0,0.0
11
+ 9,0.0274390243902439,1.5707963705062866,1.0,1.0,0.0,0.4724705282850475,0.0045751636781152,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.06058721198574868,0.00137254910343456,0.0,0.0,0.0,0.0,0.0
12
+ 10,0.0304878048780487,1.5707963705062866,1.0,1.0,0.0,0.4693481237336644,0.0048340292687519,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.06406912281950283,0.00145020878062557,0.0,0.0,0.0,0.0,0.0
13
+ 11,0.0335365853658536,1.5707963705062866,1.0,1.0,0.0,0.4660636160030972,0.0051094485599415,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.06631821932019333,0.00153283456798245,0.0,0.0,0.0,0.0,0.0
14
+ 12,0.0365853658536585,1.5707963705062866,1.0,1.0,0.0,0.4627163018016451,0.0054017376791233,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.06922420145340002,0.00162052130373699,0.0,0.0,0.0,0.0,0.0
15
+ 13,0.0396341463414634,1.5707963705062866,1.0,1.0,0.0,0.4591411958577572,0.0057140663646641,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.07238337602676503,0.00171421990939923,0.0,0.0,0.0,0.0,0.0
16
+ 14,0.0426829268292682,1.5707963705062866,1.0,1.0,0.0,0.4554779641989686,0.0060434862881971,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.07577556021737208,0.0018130458864591297,0.0,0.0,0.0,0.0,0.0
17
+ 15,0.0457317073170731,1.5707963705062866,1.0,1.0,0.0,0.45156363983602,0.0063983551274716,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.07748493595825967,0.00191950653824148,0.0,0.0,0.0,0.0,0.0
18
+ 16,0.048780487804878,1.5707963705062866,1.0,1.0,0.0,0.4477294706031426,0.0067671968015713,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.078820468505576,0.00203015904047139,0.0,0.0,0.0,0.0,0.0
19
+ 17,0.0518292682926829,1.5707963705062866,1.0,1.0,0.0,0.4436815929854624,0.0071616291088416,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0823206790086689,0.00214848873265248,0.0,0.0,0.0,0.0,0.0
20
+ 18,0.0548780487804878,1.5707963705062866,1.0,1.0,0.0,0.4394974027022757,0.0075806629426643,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.08274830013021484,0.00227419888279929,0.0,0.0,0.0,0.0,0.0
21
+ 19,0.0579268292682926,1.5707963705062866,1.0,1.0,0.0,0.4354067629724409,0.0080210616687277,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.08450695128379593,0.0024063185006183096,0.0,0.0,0.0,0.0,0.0
22
+ 20,0.0609756097560975,1.5707963705062866,1.0,1.0,0.0,0.4310467075738961,0.0084901778759902,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.08771899656025095,0.00254705336279706,0.0,0.0,0.0,0.0,0.0
23
+ 21,0.0640243902439024,1.5707963705062866,1.0,1.0,0.0,0.4266348633164158,0.0089857898228067,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0883042841368642,0.00269573694684201,0.0,0.0,0.0,0.0,0.0
24
+ 22,0.0670731707317073,1.5707963705062866,1.0,1.0,0.0,0.4222162791602097,0.0095054558756378,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.08922084864812607,0.0028516367626913396,0.0,0.0,0.0,0.0,0.0
25
+ 23,0.0701219512195122,1.5707963705062866,1.0,1.0,0.0,0.4177127784516032,0.0100578979605912,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09121921609384798,0.00301736938817736,0.0,0.0,0.0,0.0,0.0
26
+ 24,0.073170731707317,1.5707963705062866,1.0,1.0,0.0,0.4130943575508249,0.0106422413254647,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0923618867005821,0.0031926723976394102,0.0,0.0,0.0,0.0,0.0
27
+ 25,0.0762195121951219,1.5707963705062866,1.0,1.0,0.0,0.408476589781545,0.011255167474192,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09358283806790824,0.0033765502422575997,0.0,0.0,0.0,0.0,0.0
28
+ 26,0.0792682926829268,1.5707963705062866,1.0,1.0,0.0,0.4037360737440341,0.0119051642990467,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09497387509826205,0.00357154928971401,0.0,0.0,0.0,0.0,0.0
29
+ 27,0.0823170731707317,1.5707963705062866,1.0,1.0,0.0,0.3989792022717188,0.0125922985715628,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09536013479153671,0.00377768957146884,0.0,0.0,0.0,0.0,0.0
30
+ 28,0.0853658536585365,1.5707963705062866,1.0,1.0,0.0,0.3942000602648804,0.0133140159021262,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09582337658999407,0.00399420477063786,0.0,0.0,0.0,0.0,0.0
31
+ 29,0.0884146341463414,1.5707963705062866,1.0,1.0,0.0,0.3893968646127194,0.0140723473467943,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09681609066388319,0.00422170420403829,0.0,0.0,0.0,0.0,0.0
32
+ 30,0.0914634146341463,1.5707963705062866,1.0,1.0,0.0,0.3845184511984921,0.0148709606705802,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.097206893529444,0.00446128820117406,0.0,0.0,0.0,0.0,0.0
33
+ 31,0.0945121951219512,1.5707963705062866,1.0,1.0,0.0,0.379676175259775,0.0157055427706242,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09711412203007586,0.00471166283118726,0.0,0.0,0.0,0.0,0.0
34
+ 32,0.0975609756097561,1.5707963705062866,1.0,1.0,0.0,0.3748070389954845,0.016584213556683,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0985320820290797,0.004975264067004899,0.0,0.0,0.0,0.0,0.0
35
+ 33,0.1006097560975609,1.5707963705062866,1.0,1.0,0.0,0.369822967056867,0.0175107462101727,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09866793975540189,0.005253223863051809,0.0,0.0,0.0,0.0,0.0
36
+ 34,0.1036585365853658,1.5707963705062866,1.0,1.0,0.0,0.3649402450199443,0.0184807706709905,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09781706813729307,0.00554423120129715,0.0,0.0,0.0,0.0,0.0
37
+ 35,0.1067073170731707,1.5707963705062866,1.0,1.0,0.0,0.3600412602431377,0.0194850931823961,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09738276311663241,0.00584552795471883,0.0,0.0,0.0,0.0,0.0
38
+ 36,0.1097560975609756,1.5707963705062866,1.0,1.0,0.0,0.3552019687082811,0.0205419336832187,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09772300748352725,0.006162580104965609,0.0,0.0,0.0,0.0,0.0
39
+ 37,0.1128048780487804,1.5707963705062866,1.0,1.0,0.0,0.350268959494785,0.0216544717571764,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09864482416935272,0.0064963415271529195,0.0,0.0,0.0,0.0,0.0
40
+ 38,0.1158536585365853,1.5707963705062866,1.0,1.0,0.0,0.3453374862913458,0.0228233834753671,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09701263685025496,0.0068470150426101295,0.0,0.0,0.0,0.0,0.0
41
+ 39,0.1189024390243902,1.5707963705062866,1.0,1.0,0.0,0.3405676958097595,0.0240263872186974,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09549726281180393,0.00720791616560922,0.0,0.0,0.0,0.0,0.0
42
+ 40,0.1219512195121951,1.5707963705062866,1.0,1.0,0.0,0.3357877600101654,0.0252853098699808,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0940695362935956,0.00758559296099424,0.0,0.0,0.0,0.0,0.0
43
+ 41,0.125,1.5707963705062866,1.0,1.0,0.0,0.3311607421803999,0.0265922170025323,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09344992096124438,0.007977665100759689,0.0,0.0,0.0,0.0,0.0
44
+ 42,0.1280487804878048,1.5707963705062866,1.0,1.0,0.0,0.326442767914041,0.0279694377074545,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.09270494500731141,0.00839083131223635,0.0,0.0,0.0,0.0,0.0
45
+ 43,0.1310975609756097,1.5707963705062866,1.0,1.0,0.0,0.3218902476796688,0.0293953450527701,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.089876631293907,0.00881860351583103,0.0,0.0,0.0,0.0,0.0
46
+ 44,0.1341463414634146,1.5707963705062866,1.0,1.0,0.0,0.3174551047846503,0.0308814688761347,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.08693164413050458,0.00926444066284041,0.0,0.0,0.0,0.0,0.0
47
+ 45,0.1371951219512195,1.5707963705062866,1.0,1.0,0.0,0.3131970832666183,0.0324213548103102,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.08532750558924884,0.00972640644309306,0.0,0.0,0.0,0.0,0.0
48
+ 46,0.1402439024390244,1.5707963705062866,1.0,1.0,0.0,0.3089223542257254,0.0340507477136311,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.08346551032889504,0.01021522431408933,0.0,0.0,0.0,0.0,0.0
49
+ 47,0.1432926829268292,1.5707963705062866,1.0,1.0,0.0,0.3048505322337288,0.0357428574027783,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.07954378693459885,0.01072285722083349,0.0,0.0,0.0,0.0,0.0
50
+ 48,0.1463414634146341,1.5707963705062866,1.0,1.0,0.0,0.3009679755322655,0.0375033527158106,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.07566498678597433,0.01125100581474318,0.0,0.0,0.0,0.0,0.0
51
+ 49,0.149390243902439,1.5707963705062866,1.0,1.0,0.0,0.2972840335551314,0.039345513251043,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.07256094369673116,0.011803653975312899,0.0,0.0,0.0,0.0,0.0
52
+ 50,0.1524390243902439,1.5707963705062866,1.0,1.0,0.0,0.2937118811625924,0.0412788238690234,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.06875072696865381,0.01238364716070702,0.0,0.0,0.0,0.0,0.0
53
+ 51,0.1554878048780487,1.5707963705062866,1.0,1.0,0.0,0.290408960858266,0.0432955458082877,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.062278151857899644,0.01298866374248631,0.0,0.0,0.0,0.0,0.0
54
+ 52,0.1585365853658536,1.5707963705062866,1.0,1.0,0.0,0.2874840659768024,0.0452735937260949,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.052491882558824976,0.01358207811782847,0.0,0.0,0.0,0.0,0.0
55
+ 53,0.1615853658536585,1.5707963705062866,1.0,1.0,0.0,0.2851597726023835,0.0470223750497046,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.040255667242644066,0.01410671251491138,0.0,0.0,0.0,0.0,0.0
56
+ 54,0.1646341463414634,1.5707963705062866,1.0,1.0,0.0,0.283458499252538,0.0484077782697374,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.028095090044524262,0.014522333480921218,0.0,0.0,0.0,0.0,0.0
57
+ 55,0.1676829268292683,1.5707963705062866,1.0,1.0,0.0,0.2823502635979311,0.0493643922057822,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.013478887460817157,0.014809317661734659,0.0,0.0,0.0,0.0,0.0
58
+ 56,0.1707317073170731,1.5707963705062866,1.0,1.0,0.0,0.2821106105064563,0.0494553559215154,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0033878777586598963,0.014836606776454618,0.0,0.0,0.0,0.0,0.0
59
+ 57,0.173780487804878,1.5707963705062866,1.0,1.0,0.0,0.2820114758220651,0.0494688945207843,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.004354127540144859,0.014840668356235289,0.0,0.0,0.0,0.0,0.0
60
+ 58,0.1768292682926829,1.5707963705062866,1.0,1.0,0.0,0.2816751977524418,0.0498826893071535,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.004625727994355122,0.014964806792146049,0.0,0.0,0.0,0.0,0.0
61
+ 59,0.1798780487804878,1.5707963705062866,1.0,1.0,0.0,0.2815489030226296,0.0500527432940092,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0013608373801121676,0.01501582298820276,0.0,0.0,0.0,0.0,0.0
62
+ 60,0.1829268292682926,1.5707963705062866,1.0,1.0,0.0,0.2815391140144306,0.0500989572578319,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,1.7484328053707365e-05,0.015029687177349569,0.0,0.0,0.0,0.0,0.0
63
+ 61,0.1859756097560975,1.5707963705062866,1.0,1.0,0.0,0.2815471545898242,0.0501163257006666,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.001988831083530873,0.015034897710199979,0.0,0.0,0.0,0.0,0.0
64
+ 62,0.1890243902439024,1.5707963705062866,1.0,1.0,0.0,0.2813402309060775,0.0501585778993225,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.002793731346449335,0.01504757336979675,0.0,0.0,0.0,0.0,0.0
65
+ 63,0.1920731707317073,1.5707963705062866,1.0,1.0,0.0,0.2812677814551793,0.0501749157715252,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0005729697267931044,0.01505247473145756,0.0,0.0,0.0,0.0,0.0
66
+ 64,0.1951219512195122,1.5707963705062866,1.0,1.0,0.0,0.2812829339333982,0.0502183659142505,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,-0.0005600948756612212,0.01506550977427515,0.0,0.0,0.0,0.0,0.0
67
+ 65,0.198170731707317,1.5707963705062866,1.0,1.0,0.0,0.2813237909427454,0.0502361323685323,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,-0.0005702036217097861,0.015070839710559688,0.0,0.0,0.0,0.0,0.0
68
+ 66,0.2012195121951219,1.5707963705062866,1.0,1.0,0.0,0.2813399542955692,0.0502388457121151,0.0007359186808268,0.0,0.0,1.0,1.0,1.0,1.0,0.0,-0.0006854370146941458,0.015071653713634529,0.0,0.0,0.0,0.0,0.0
69
+ 67,0.2042682926829268,1.5707963705062866,1.0,1.0,0.0,0.2813923346442148,0.050224637039698,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,2.6223667818903174e-05,0.015067391111909398,0.0,0.0,0.0,0.0,0.0
70
+ 68,0.2073170731707317,1.5707963705062866,1.0,1.0,0.0,0.2813373319287873,0.0502487096337167,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0004991750250521454,0.015074612890115009,0.0,0.0,0.0,0.0,0.0
71
+ 69,0.2103658536585365,1.5707963705062866,1.0,1.0,0.0,0.2813424171417096,0.050242903790302,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.00015949292187900088,0.0150728711370906,0.0,0.0,0.0,0.0,0.0
72
+ 70,0.2134146341463414,1.5707963705062866,1.0,1.0,0.0,0.2813213826365994,0.0502476454469746,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0001303902344629293,0.015074293634092378,0.0,0.0,0.0,0.0,0.0
73
+ 71,0.2164634146341463,1.5707963705062866,1.0,1.0,0.0,0.2813293781182633,0.0502451746431518,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,-0.0005287249068919309,0.01507355239294554,0.0,0.0,0.0,0.0,0.0
74
+ 72,0.2195121951219512,1.5707963705062866,1.0,1.0,0.0,0.2813742551272886,0.0502429646916263,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0003287514237593214,0.01507288940748789,0.0,0.0,0.0,0.0,0.0
75
+ 73,0.2225609756097561,1.5707963705062866,1.0,1.0,0.0,0.2812965029758874,0.0502564228363758,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,-0.00032625255159901556,0.015076926850912739,0.0,0.0,0.0,0.0,0.0
76
+ 74,0.2256097560975609,1.5707963705062866,1.0,1.0,0.0,0.2814068803824485,0.0502272633956682,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,-0.0009463404005655152,0.015068179018700459,0.0,0.0,0.0,0.0,0.0
77
+ 75,0.2286585365853658,1.5707963705062866,1.0,1.0,0.0,0.2813911370159439,0.050234729724735,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0007360911661197234,0.0150704189174205,0.0,0.0,0.0,0.0,0.0
78
+ 76,0.2317073170731707,1.5707963705062866,1.0,1.0,0.0,0.2813332712658365,0.0502449571772495,0.0007335344950358,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.00031999285486528084,0.01507348715317485,0.0,0.0,0.0,0.0,0.0
79
+ 77,0.2347560975609756,1.5707963705062866,1.0,1.0,0.0,0.2813591377304574,0.0502399722920326,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,-0.0006472645943977895,0.01507199168760978,0.0,0.0,0.0,0.0,0.0
80
+ 78,0.2378048780487804,1.5707963705062866,1.0,1.0,0.0,0.2813979977252763,0.0502321383538397,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.00036882795740711405,0.01506964150615191,0.0,0.0,0.0,0.0,0.0
81
+ 79,0.2408536585365853,1.5707963705062866,1.0,1.0,0.0,0.2813222549347167,0.0502460681045973,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0006386785019402152,0.01507382043137919,0.0,0.0,0.0,0.0,0.0
82
+ 80,0.2439024390243902,1.5707963705062866,1.0,1.0,0.0,0.2813341298750823,0.0502469961884685,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,-0.00040394865343407194,0.01507409885654055,0.0,0.0,0.0,0.0,0.0
83
+ 81,0.2469512195121951,1.5707963705062866,1.0,1.0,0.0,0.2813626498000601,0.0502412612514243,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,-0.00013670343343319402,0.015072378375427289,0.0,0.0,0.0,0.0,0.0
84
+ 82,0.25,1.5707963705062866,1.0,1.0,0.0,0.2813478002184256,0.050251370308285,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,-0.0003876810189140656,0.015075411092485499,0.0,0.0,0.0,0.0,0.0
85
+ 83,0.2530487804878049,1.5707963705062866,1.0,1.0,0.0,0.2814014179019515,0.0502320120577646,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,-0.00027657367780931086,0.01506960361732938,0.0,0.0,0.0,0.0,0.0
86
+ 84,0.2560975609756097,1.5707963705062866,1.0,1.0,0.0,0.2813754575862065,0.0502355136734207,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.00035569902181398216,0.015070654102026208,0.0,0.0,0.0,0.0,0.0
87
+ 85,0.2591463414634146,1.5707963705062866,1.0,1.0,0.0,0.2813658479997701,0.0502414187981184,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.00014676868495211437,0.015072425639435519,0.0,0.0,0.0,0.0,0.0
88
+ 86,0.2621951219512195,1.5707963705062866,1.0,1.0,0.0,0.2813607807177113,0.0502404381599463,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.00010572860825397434,0.015072131447983889,0.0,0.0,0.0,0.0,0.0
89
+ 87,0.2652439024390244,1.5707963705062866,1.0,1.0,0.0,0.2813552751389447,0.0502403385636816,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.000443351489299304,0.015072101569104478,0.0,0.0,0.0,0.0,0.0
90
+ 88,0.2682926829268293,1.5707963705062866,1.0,1.0,0.0,0.2813164455687814,0.0502531014713827,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,-0.00017694873780171871,0.015075930441414809,0.0,0.0,0.0,0.0,0.0
91
+ 89,0.2713414634146341,1.5707963705062866,1.0,1.0,0.0,0.2813729700127249,0.0502416201875435,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0,-0.0001251986483591372,0.01507248605626305,0.0,0.0,0.0,0.0,0.0
92
+ 90,0.274390243902439,1.5707963705062866,1.0,1.0,0.0,0.2813289654336173,0.0502445768464695,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0024890899658203125,0.005534285264634509,0.01507337305394085,0.0,0.0,0.0,0.0,0.0
93
+ 91,0.2774390243902439,1.5705474615097046,0.0,1.0,0.0,0.2808195414862614,0.0503402021477316,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0015521049499489514,0.003698527875333757,0.015102060644319478,0.0,0.0,0.0,0.0,0.0
94
+ 92,0.2804878048780488,1.5709515810012815,0.0,1.0,0.0,0.2809591126460839,0.0503168908987152,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.010194778442382812,-0.0023269366263806157,0.01509506726961456,0.0,0.0,0.0,0.0,0.0
95
+ 93,0.2835365853658536,1.5695279836654663,0.0,1.0,0.0,0.2810522351488995,0.0502923427598923,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.003266334533689186,-0.0006522298561245643,0.015087702827967689,0.0,0.0,0.0,0.0,0.0
96
+ 94,0.2865853658536585,1.5706249475479126,0.0,1.0,0.0,0.2810243356316964,0.0503000472798072,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.009906291961669922,0.00041053376581168255,0.015090014183942159,0.0,0.0,0.0,0.0,0.0
97
+ 95,0.2896341463414634,1.5705186128616333,0.0,1.0,0.0,0.2810111817723183,0.0503062839147701,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.02365589141845703,-0.0006108054002501584,0.01509188517443103,0.0,0.0,0.0,0.0,0.0
98
+ 96,0.2926829268292683,1.568259358406067,0.0,1.0,0.0,0.2810854161717214,0.0502829816797802,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.07559776306152344,-0.0009636962702747054,0.01508489450393406,0.0,0.0,0.0,0.0,0.0
99
+ 97,0.2957317073170731,1.562958836555481,0.0,1.0,0.0,0.2811075513993458,0.0502786464388068,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.11466026306152344,-0.0008826074113188476,0.015083593931642039,0.0,0.0,0.0,0.0,0.0
100
+ 98,0.298780487804878,1.5567933320999146,0.0,1.0,0.0,0.2811736769128533,0.0502669334187662,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.16804218292236328,0.00028145883508301495,0.01508008002562986,0.0,0.0,0.0,0.0,0.0
101
+ 99,0.3018292682926829,1.5461546182632446,0.0,1.0,0.0,0.2810794055158375,0.0502891619477927,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.2055072784423806,0.0007477129465055521,0.015086748584337808,0.0,0.0,0.0,0.0,0.0
102
+ 100,0.3048780487804878,1.5362426042556765,0.0,1.0,0.0,0.2810989056182027,0.0502855082815597,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.1978611946105957,0.00025213122688882983,0.015085652484467908,0.0,0.0,0.0,0.0,0.0
103
+ 101,0.3079268292682927,1.526368498802185,0.0,1.0,0.0,0.2810541923931486,0.0502993420957198,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.23316383361816406,0.0005418465982720555,0.015089802628715938,0.0,0.0,0.0,0.0,0.0
104
+ 102,0.3109756097560975,1.51292622089386,0.0,1.0,0.0,0.2810447209583755,0.0502981925303792,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.37841320037841797,-0.00014586587694986886,0.015089457759113759,0.0,0.0,0.0,0.0,0.0
105
+ 103,0.3140243902439024,1.4885271787643433,0.0,1.0,0.0,0.2810687789808436,0.0502936221499346,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.5527257919311546,-0.0006075776679387301,0.01508808664498038,0.0,0.0,0.0,0.0,0.0
106
+ 104,0.3170731707317073,1.4576536417007446,0.0,1.0,0.0,0.2811054787251694,0.0502842463144813,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.6206488609313965,-0.00044124965874581257,0.01508527389434439,0.0,0.0,0.0,0.0,0.0
107
+ 105,0.3201219512195122,1.4264622926712036,0.0,1.0,0.0,0.2811129039467182,0.0502842311769085,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.649726390838623,0.0007518844982401518,0.015085269353072549,0.0,0.0,0.0,0.0,0.0
108
+ 106,0.3231707317073171,1.3926810026168823,0.0,1.0,0.0,0.2810302902753454,0.050303854218231,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.6446409225463867,0.0003022905479377336,0.015091156265469299,0.0,0.0,0.0,0.0,0.0
109
+ 107,0.3262195121951219,1.361998200416565,0.0,1.0,0.0,0.2810826748919244,0.0502893993619501,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.5937409400939941,-0.0006351589818370806,0.01508681980858503,0.0,0.0,0.0,0.0,0.0
110
+ 108,0.3292682926829268,1.333306908607483,0.0,1.0,0.0,0.2810938061735291,0.0502847438549709,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.6044220924377464,-0.00019935834096374005,0.015085423156491268,0.0,0.0,0.0,0.0,0.0
111
+ 109,0.3323170731707317,1.3015559911727903,0.0,1.0,0.0,0.2811026107260208,0.0250751221407307,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.6241393089294434,0.0005339480997568202,0.00752253664221921,0.0,0.0,0.0,0.0,0.0
112
+ 110,0.3353658536585366,1.2708929777145386,0.0,1.0,0.0,0.2810404113635534,0.0250933702351759,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.6352806091308572,0.00044890270728181747,0.00752801107055277,0.0,0.0,0.0,0.0,0.0
113
+ 111,0.3384146341463415,1.2380279302597046,0.0,1.0,0.0,0.2810577204552926,0.0250885191571014,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.6475830078125,9.858683605035168e-06,0.00752655574713042,0.0,0.0,0.0,0.0,0.0
114
+ 112,0.3414634146341463,1.2061346769332886,0.0,1.0,0.0,0.2810394254951929,0.0250944476408661,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.6644439697265625,-0.0004903288292679164,0.007528334292259829,0.0,0.0,0.0,0.0,0.0
115
+ 113,0.3445121951219512,1.1715835332870483,0.0,1.0,0.0,0.2811067533382194,0.0250750786553418,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.6639575958251953,-0.00036443257522389416,0.00752252359660254,0.0,0.0,0.0,0.0,0.0
116
+ 114,0.3475609756097561,1.139738917350769,0.0,1.0,0.0,0.2810758687527153,0.0250835439432115,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.6851863861083984,-1.7719433555996034e-05,0.007525063182963449,0.0,0.0,0.0,0.0,0.0
117
+ 115,0.3506097560975609,1.1030648946762085,0.0,1.0,0.0,0.281108525281575,0.0250737556393024,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.6821441650390625,-3.2303834163194267e-06,0.007522126691790719,0.0,0.0,0.0,0.0,0.0
118
+ 116,0.3536585365853658,1.0715245008468628,0.0,1.0,0.0,0.2810761917910569,0.0250837834703716,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.6114912033081055,0.00030192839464870946,0.00752513504111148,0.0,0.0,0.0,0.0,0.0
119
+ 117,0.3567073170731707,1.041915774345398,0.0,1.0,0.0,0.2810783324421101,0.0250829456808943,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.6328201293945312,-0.00018315199420970707,0.00752488370426829,0.0,0.0,0.0,0.0,0.0
120
+ 118,0.3597560975609756,1.0082424879074097,0.0,1.0,0.0,0.2810945069904779,0.0250784185791984,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.6022191047668457,-0.00028325050283606323,0.00752352557375952,0.0,0.0,0.0,0.0,0.0
121
+ 119,0.3628048780487805,0.9816938638687134,0.0,1.0,0.0,0.2811066574923937,0.0250748058885939,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.5958437919616688,0.0006443171211867327,0.007522441766578169,0.0,0.0,0.0,0.0,0.0
122
+ 120,0.3658536585365853,0.9486581087112428,0.0,1.0,0.0,0.2810300752783592,0.025097653983985,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.6099581718444813,0.0007083629445853168,0.007529296195195499,0.0,0.0,0.0,0.0,0.0
123
+ 121,0.3689024390243902,0.9206980466842652,0.0,1.0,0.0,0.2810358211979352,0.0250965434270982,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.5614638328552257,0.00018175973214518137,0.007528963028129459,0.0,0.0,0.0,0.0,0.0
124
+ 122,0.3719512195121951,0.8925117254257202,0.0,1.0,0.0,0.2810118993051447,0.0251035892266669,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.5962872505187999,-0.00025586344024608465,0.007531076768000069,0.0,0.0,0.0,0.0,0.0
125
+ 123,0.375,0.8610693216323853,0.0,1.0,0.0,0.2810614075419598,0.0250881170801913,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.663154125213623,-0.00016695537296995688,0.00752643512405739,0.0,0.0,0.0,0.0,0.0
126
+ 124,0.3780487804878049,0.8261963129043579,0.0,1.0,0.0,0.2810285948424417,0.0250973475440261,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.6862950325012207,0.00021755087105390647,0.00752920426320783,0.0,0.0,0.0,0.0,0.0
127
+ 125,0.3810975609756097,0.7924398183822632,0.0,1.0,0.0,0.2810396524548544,0.0250946486420086,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.5678534507751465,2.1374269837948212e-05,0.00752839459260258,0.0,0.0,0.0,0.0,0.0
128
+ 126,0.3841463414634146,0.7694109678268433,0.0,1.0,0.0,0.2810264574154579,0.0250984755145943,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.43990612030029297,-0.0010243060015291405,0.00752954265437829,0.0,0.0,0.0,0.0,0.0
129
+ 127,0.3871951219512195,0.7484492063522339,0.0,1.0,0.0,0.2811420830550073,0.0250645385907243,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.35784244537353516,-0.00029520839880781136,0.00751936157721729,0.0,0.0,0.0,0.0,0.0
130
+ 128,0.3902439024390244,0.7336267232894897,0.0,1.0,0.0,0.2810559782553387,0.0250896782963338,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.12450933456420898,0.0012452156007564108,0.007526903488900139,0.0,0.0,0.0,0.0,0.0
131
+ 129,0.3932926829268293,0.735998272895813,0.0,1.0,0.0,0.2810175614949317,0.0251014307202337,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.036695003509521484,0.003246238093445597,0.00753042921607011,0.0,0.0,0.0,0.0,0.0
132
+ 130,0.3963414634146341,0.7299572229385376,1.0,1.0,0.0,0.2807313544459941,0.0251903725805302,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.07925748825073242,0.0010164967063258645,0.00755711177415906,0.0,0.0,0.0,0.0,0.0
133
+ 131,0.399390243902439,0.7280725240707397,1.0,1.0,0.0,0.2809159118242991,0.0251328326071387,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0008845329284667969,-0.002778688128904916,0.00753984978214161,0.0,0.0,0.0,0.0,0.0
134
+ 132,0.4024390243902439,0.7298687696456909,1.0,1.0,0.0,0.2810092232588846,0.0251043407298885,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.011527538299560547,-0.0006978082441660982,0.00753130221896655,0.0,0.0,0.0,0.0,0.0
135
+ 133,0.4054878048780488,0.7269197702407837,1.0,1.0,0.0,0.2809856926487157,0.0251102470220144,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.014717578887939453,-0.0020378806378401615,0.00753307410660432,0.0,0.0,0.0,0.0,0.0
136
+ 134,0.4085365853658536,0.728397011756897,1.0,1.0,0.0,0.2812130113226686,0.0250411627426069,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.006787776947021484,-0.003000387546002181,0.007512348822782069,0.0,0.0,0.0,0.0,0.0
137
+ 135,0.4115853658536585,0.7275985479354858,1.0,1.0,0.0,0.2812857314033159,0.0250177026824971,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0019240379333496094,-0.0010541880659947767,0.00750531080474913,0.0,0.0,0.0,0.0,0.0
138
+ 136,0.4146341463414634,0.7285894155502319,1.0,1.0,0.0,0.2813184301292681,0.0250080279300013,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.020041465759277344,-0.00010349368871176434,0.00750240837900039,0.0,0.0,0.0,0.0,0.0
139
+ 137,0.4176829268292683,0.7296026945114136,1.0,1.0,0.0,0.2812960807721871,0.0250138992378899,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0116729736328125,-0.00022738912531683475,0.00750416977136697,0.0,0.0,0.0,0.0,0.0
140
+ 138,0.4207317073170731,0.7274221181869507,1.0,1.0,0.0,0.2813411690417998,0.0250008905786191,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.011415481567382812,-9.691108308895746e-05,0.007500267173585729,0.0,0.0,0.0,0.0,0.0
141
+ 139,0.423780487804878,0.7284611463546753,1.0,1.0,0.0,0.281305771880496,0.0250121253983803,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.026462078094482422,-0.00014361036747512212,0.00750363761951409,0.0,0.0,0.0,0.0,0.0
142
+ 140,0.4268292682926829,0.7300683259963989,1.0,1.0,0.0,0.2813555300785473,0.0249969056714005,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0062274932861328125,-0.00012919391296384308,0.00749907170142015,0.0,0.0,0.0,0.0,0.0
143
+ 141,0.4298780487804878,0.7290838956832886,1.0,1.0,0.0,0.2813186912717924,0.0250077134537433,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.013506412506103516,0.0005369252230941202,0.0075023140361229895,0.0,0.0,0.0,0.0,0.0
144
+ 142,0.4329268292682927,0.7287176847457886,1.0,1.0,0.0,0.2813018375562379,0.0250128783353946,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.006310939788818359,0.00015619186641280258,0.00750386350061838,0.0,0.0,0.0,0.0,0.0
145
+ 143,0.4359756097560975,0.7297149896621704,1.0,1.0,0.0,0.2813030720851511,0.0250124206197953,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.01852273941040039,-0.00013590966656207293,0.00750372618593859,0.0,0.0,0.0,0.0,0.0
146
+ 144,0.4390243902439024,0.7305699586868286,1.0,1.0,0.0,0.2813154285228941,0.0250086878138826,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.002524852752685547,-0.00013399119924206726,0.007502606344164779,0.0,0.0,0.0,0.0,0.0
147
+ 145,0.4420731707317073,0.7294625043869019,1.0,1.0,0.0,0.2813164712050753,0.0250086989891905,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.027599334716796875,2.6609754293915877e-05,0.00750260969675715,0.0,0.0,0.0,0.0,0.0
148
+ 146,0.4451219512195122,0.7278100252151489,1.0,1.0,0.0,0.2813127675474647,0.0250092270704802,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.012359619140625,0.000105610694822178,0.00750276812114406,0.0,0.0,0.0,0.0,0.0
149
+ 147,0.4481707317073171,0.7306984663009644,1.0,1.0,0.0,0.2813059101355931,0.0250112174310465,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0035429000854492188,0.0002317743114249593,0.0075033652293139495,0.0,0.0,0.0,0.0,0.0
150
+ 148,0.4512195121951219,0.7281643152236938,1.0,1.0,0.0,0.2812895901163222,0.0250163243447261,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.003376007080078125,3.72615697297185e-05,0.00750489730341783,0.0,0.0,0.0,0.0,0.0
151
+ 149,0.4542682926829268,0.7303608655929565,1.0,1.0,0.0,0.2813021839786201,0.0250121711325848,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.025835037231445312,-0.0003909997706008639,0.00750365133977544,0.0,0.0,0.0,0.0,0.0
152
+ 150,0.4573170731707317,0.7307478189468384,1.0,1.0,0.0,0.2813286900933823,0.0250045637522811,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.014524459838867188,1.6128374761281705e-05,0.007501369125684329,0.0,0.0,0.0,0.0,0.0
153
+ 151,0.4603658536585366,0.7289084196090698,1.0,1.0,0.0,0.281300571141144,0.0250128438065796,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.015099048614501953,0.0005803714886137845,0.00750385314197388,0.0,0.0,0.0,0.0,0.0
154
+ 152,0.4634146341463415,0.7292379140853882,1.0,1.0,0.0,0.2812706529445209,0.0250217814786006,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0020956993103027344,-2.6731679754199433e-05,0.00750653444358018,0.0,0.0,0.0,0.0,0.0
155
+ 153,0.4664634146341463,0.7291179895401001,1.0,1.0,0.0,0.2813032443091194,0.0250124054210912,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.014748573303222656,-0.0007794284299916798,0.00750372162632736,0.0,0.0,0.0,0.0,0.0
156
+ 154,0.4695121951219512,0.7307127714157104,1.0,1.0,0.0,0.2813485957875201,0.0249991056426951,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.04534006118774414,0.00017861379091987928,0.007499731692808529,0.0,0.0,0.0,0.0,0.0
157
+ 155,0.4725609756097561,0.7336519956588745,1.0,1.0,0.0,0.2812853829300274,0.0250181173059729,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.016705989837646484,0.00040170680839390904,0.007505435191791869,0.0,0.0,0.0,0.0,0.0
158
+ 156,0.4756097560975609,0.7323833703994751,1.0,1.0,0.0,0.2813084251066807,0.0250109601274406,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.05991697311401367,-0.0001580391989408625,0.007503288038232179,0.0,0.0,0.0,0.0,0.0
159
+ 157,0.4786585365853658,0.7276602983474731,1.0,1.0,0.0,0.2813011868499215,0.0250123625329612,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.037539005279541016,1.1242799535793324e-05,0.007503708759888359,0.0,0.0,0.0,0.0,0.0
160
+ 158,0.4817073170731707,0.728629469871521,1.0,1.0,0.0,0.2813073008267271,0.0250111083013084,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0076389312744140625,6.340373938928945e-05,0.00750333249039252,0.0,0.0,0.0,0.0,0.0
161
+ 159,0.4847560975609756,0.7284241914749146,1.0,1.0,0.0,0.2812948464759826,0.0250144495041292,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.007007122039794922,-7.402220340013699e-06,0.00750433485123876,0.0,0.0,0.0,0.0,0.0
162
+ 160,0.4878048780487805,0.7293301820755005,1.0,1.0,0.0,0.2813080410487611,0.0250109051146839,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,2.384185791015625e-06,-0.00033232818605732906,0.00750327153440517,0.0,0.0,0.0,0.0,0.0
163
+ 161,0.4908536585365853,0.7284244298934937,1.0,1.0,0.0,0.2813280792945883,0.0250050510647816,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.011262893676757812,2.5799952022009798e-05,0.00750151531943448,0.0,0.0,0.0,0.0,0.0
164
+ 162,0.4939024390243902,0.7282038927078247,1.0,1.0,0.0,0.2813054610535589,0.0250113218169869,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.027751922607421875,0.00014553674014317064,0.00750339654509607,0.0,0.0,0.0,0.0,0.0
165
+ 163,0.4969512195121951,0.7311996221542358,1.0,1.0,0.0,0.281313525620574,0.0250088794653641,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0023698806762695312,3.971097568111759e-05,0.007502663839609229,0.0,0.0,0.0,0.0,0.0
166
+ 164,0.5,0.7279669046401978,1.0,1.0,0.0,0.2813014899559908,0.0250124123049603,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.025272369384765625,-0.00026409330808718767,0.00750372369148809,0.0,0.0,0.0,0.0,0.0
167
+ 165,0.5030487804878049,0.7286723852157593,1.0,1.0,0.0,0.2813399349513827,0.0250021571712081,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.006177425384521484,0.0002704681617610172,0.00750064715136243,0.0,0.0,0.0,0.0,0.0
168
+ 166,0.5060975609756098,0.7285846471786499,1.0,1.0,0.0,0.2812744431398147,0.0250207502051154,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.01245737075805664,0.0003275933233121142,0.00750622506153462,0.0,0.0,0.0,0.0,0.0
169
+ 167,0.5091463414634146,0.7274266481399536,1.0,1.0,0.0,0.2813071756190515,0.0250108594334287,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.018603801727294922,-0.00031624002629626613,0.007503257830028609,0.0,0.0,0.0,0.0,0.0
170
+ 168,0.5121951219512195,0.7304450273513794,1.0,1.0,0.0,0.2813060671424443,0.0250117390166018,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.00829458236694336,-0.00010549957522976161,0.00750352170498054,0.0,0.0,0.0,0.0,0.0
171
+ 169,0.5152439024390244,0.728256106376648,1.0,1.0,0.0,0.2813177255765745,0.025007915785294,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.026984214782714844,-0.0003502241312736132,0.007502374735588199,0.0,0.0,0.0,0.0,0.0
172
+ 170,0.5182926829268293,0.7277466058731079,1.0,1.0,0.0,0.2813410895555717,0.0250010714565079,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.009417533874511719,0.0003312154588885896,0.00750032143695237,0.0,0.0,0.0,0.0,0.0
173
+ 171,0.5213414634146342,0.7273143529891968,1.0,1.0,0.0,0.2812846040306856,0.0250179820752323,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.02754688262939453,0.0005146280977669226,0.00750539462256969,0.0,0.0,0.0,0.0,0.0
174
+ 172,0.524390243902439,0.7305012941360474,1.0,1.0,0.0,0.281289626745795,0.0250163797833914,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.01882314682006836,-0.0005323985029159761,0.00750491393501742,0.0,0.0,0.0,0.0,0.0
175
+ 173,0.5274390243902439,0.7291966676712036,1.0,1.0,0.0,0.2813378438809772,0.0250017791564179,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.018756389617919922,0.0016075473303239773,0.00750053374692537,0.0,0.0,0.0,0.0,0.0
176
+ 174,0.5304878048780488,0.7286256551742554,1.0,1.0,0.0,0.2811288720127626,0.0250652292928225,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.006880760192871094,0.0026272093352869286,0.0075195687878467496,0.0,0.0,0.0,0.0,0.0
177
+ 175,0.5335365853658537,0.7298847436904907,1.0,1.0,0.0,0.2810751229474485,0.0250825681319464,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.004901885986328125,0.004380962563844126,0.00752477043958392,0.0,0.0,0.0,0.0,0.0
178
+ 176,0.5365853658536586,0.7291158437728882,1.0,1.0,0.0,0.2806907757563782,0.0251882721089459,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0003743171691894531,0.00518891692646517,0.007556481632683769,0.0,0.0,0.0,0.0,0.0
179
+ 177,0.5396341463414634,0.7298473119735718,1.0,1.0,0.0,0.280556231254802,0.0252290567447569,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.012478828430175781,0.01006333260814174,0.00756871702342707,0.0,0.0,0.0,0.0,0.0
180
+ 178,0.5426829268292683,0.7278679609298706,1.0,1.0,0.0014102771842066,0.279684442495564,0.0254702793486217,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.014722347259521484,0.02594662894580213,0.00862827783353113,0.0,0.0,0.0,0.0,0.0
181
+ 179,0.5457317073170732,0.7283750772476196,1.0,1.0,0.0075616540558329,0.2779615683602218,0.0259490014449832,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.017654895782470703,0.04394396166192527,0.01307785827257799,0.0,0.0,0.0,0.0,0.0
182
+ 180,0.5487804878048781,0.7296334505081177,1.0,1.0,0.0171000982234502,0.2752900463293715,0.0267077602274049,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.012710094451904297,0.06467058299690409,0.01998239682463661,0.0,0.0,0.0,0.0,0.0
183
+ 181,0.551829268292683,0.7296460866928101,1.0,1.0,0.0306517404559877,0.2714945100605314,0.0278269315600091,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0005316734313964844,0.08131110439819289,0.029804297787194116,1.0,0.0,0.0,0.0,0.0
184
+ 182,0.5548780487804879,0.7296866178512573,1.0,1.0,0.046131542516801,0.2671589358895522,0.0291594531982719,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0018286705017089844,0.08944336827828969,0.04103991572124227,1.0,0.0,0.0,0.0,0.0
185
+ 183,0.5579268292682927,0.729828953742981,1.0,1.0,0.0625867218110991,0.2625501732327024,0.0306476665752349,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.011799335479736328,0.09425579939220274,0.05300500524033984,1.0,0.0,0.0,0.0,0.0
186
+ 184,0.5609756097560976,0.730866551399231,1.0,1.0,0.0797847810492501,0.2577333559503319,0.0322909959967238,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.018427371978759766,0.09482003147341822,0.0655366455334922,1.0,0.0,0.0,0.0,0.0
187
+ 185,0.5640243902439024,0.727986216545105,1.0,1.0,0.0964414339015691,0.2530681700853606,0.0339681064924881,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.01725912094116211,0.0939333455093222,0.0776994356788448,1.0,0.0,0.0,0.0,0.0
188
+ 186,0.5670731707317073,0.7291406393051147,1.0,1.0,0.1133228902087482,0.2483400213993997,0.0357636220483622,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.015692710876464844,0.09246768417712187,0.0900551097606324,1.0,0.0,0.0,0.0,0.0
189
+ 187,0.5701219512195121,0.7295554876327515,1.0,1.0,0.1294562409723907,0.2438214016676484,0.0375691653950405,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.00929117202758789,0.09048781597885996,0.10189011829918564,1.0,0.0,0.0,0.0,0.0
190
+ 188,0.573170731707317,0.728211522102356,1.0,1.0,0.1456308020115307,0.2392912398015137,0.0394765585706457,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.030248165130615234,0.08953052861734312,0.11378452897926519,1.0,0.0,0.0,0.0,0.0
191
+ 189,0.5762195121951219,0.7265306711196899,1.0,1.0,0.1614223613902105,0.2348683488059141,0.0414356126509136,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0029969215393066406,0.08805190326770601,0.1254263367684214,1.0,0.0,0.0,0.0,0.0
192
+ 190,0.5792682926829268,0.7285112142562866,1.0,1.0,0.1770689917262565,0.2304860494747431,0.043475815629352,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.005202293395996094,0.086441826612626,0.13699103889718514,1.0,0.0,0.0,0.0,0.0
193
+ 191,0.5823170731707317,0.7270509004592896,1.0,1.0,0.1922856868414855,0.2262241661446515,0.0455600930650087,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.0018572807312011719,0.08568177439868013,0.14826800870854245,1.0,0.0,0.0,0.0,0.0
194
+ 192,0.5853658536585366,0.7283254861831665,1.0,1.0,0.2076609469318183,0.2219178720348751,0.0477711796355414,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.02269744873046875,0.0859375491880679,0.15969401674293524,1.0,0.0,0.0,0.0,0.0
195
+ 193,0.5884146341463414,0.7293206453323364,1.0,1.0,0.2229689581124146,0.2176304112258447,0.0500842651851836,0.0007335344950358,0.0,0.0,1.0,1.0,1.0,1.0,0.01842498779296875,0.08507501194363304,0.17110355023424528,1.0,0.0,0.0,0.0,0.0
196
+ 194,0.5914634146341463,0.7301679849624634,1.0,1.0,0.2380362626943253,0.2134103708405118,0.0524738052483856,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.004842281341552734,0.08537723395811408,0.18236752546054336,1.0,0.0,0.0,0.0,0.0
197
+ 195,0.5945121951219512,0.7288364171981812,1.0,1.0,0.2534521858937704,0.2090926878300333,0.0550388161980987,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.012362003326416016,0.0849543215058099,0.19392817498506887,1.0,0.0,0.0,0.0,0.0
198
+ 196,0.5975609756097561,0.7289317846298218,1.0,1.0,0.2683684869875202,0.2049149386899308,0.0576505993238408,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0077056884765625,0.08434502647310493,0.20515312068841635,1.0,0.0,0.0,0.0,0.0
199
+ 197,0.600609756097561,0.7280658483505249,1.0,1.0,0.2835668665103409,0.2006581851827228,0.0604419338314763,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.014400482177734375,0.08577134208955395,0.2166293867066815,1.0,0.0,0.0,0.0,0.0
200
+ 198,0.6036585365853658,0.7274917364120483,1.0,1.0,0.298992421580595,0.1963378044809754,0.0634145535732485,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.03000497817993164,0.08558576487242009,0.22831906117839107,1.0,0.0,0.0,0.0,0.0
201
+ 199,0.6067073170731707,0.7250653505325317,1.0,1.0,0.3141245423080641,0.1920996086954808,0.0664827523028165,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.04314899444580078,0.08776228035440398,0.2398320053064898,1.0,0.0,0.0,0.0,0.0
202
+ 200,0.6097560975609756,0.7231768369674683,1.0,1.0,0.3303272038832607,0.187561576445535,0.0713298848741365,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.019037723541259766,0.09002850749401686,0.25262800818052344,1.0,0.0,0.0,0.0,0.0
203
+ 201,0.6128048780487805,0.7231615781784058,1.0,1.0,0.3462684619170891,0.1830967579460791,0.0862007150876888,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.016238689422607422,0.09087183006389304,0.268248137868269,1.0,0.0,0.0,0.0,0.0
204
+ 202,0.6158536585365854,0.7215529680252075,1.0,1.0,0.3627722246767439,0.1784743934391457,0.1017953899227728,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.03296852111816406,0.09271797121852804,0.2844791742505526,1.0,0.0,0.0,0.0,0.0
205
+ 203,0.6189024390243902,0.7198647260665894,1.0,1.0,0.3793726318811888,0.1738249608242263,0.1177269989458647,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.008540153503417969,0.09408747157290398,0.30087894200059156,1.0,0.0,0.0,0.0,0.0
206
+ 204,0.6219512195121951,0.7206989526748657,1.0,1.0,0.3963653631965582,0.1690656462818553,0.1343106885288478,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.008661746978759766,0.09545285596661096,0.31774896079624504,1.0,0.0,0.0,0.0,0.0
207
+ 205,0.625,0.7207309007644653,1.0,1.0,0.4134532693893602,0.1642796752275652,0.1512914959936471,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.015075206756591797,0.0972019927470269,0.33480473737064625,1.0,0.0,0.0,0.0,0.0
208
+ 206,0.6280487804878049,0.7191914319992065,1.0,1.0,0.431070515277835,0.1593454470071526,0.1690535185271685,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.009691715240478516,0.09930031961393915,0.35246541625263506,1.0,0.0,0.0,0.0,0.0
209
+ 207,0.6310975609756098,0.7197617292404175,1.0,1.0,0.4489076113201543,0.1543496432661713,0.1874262549105914,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.029811859130859375,0.1017661255143501,0.37046320439728536,1.0,0.0,0.0,0.0,0.0
210
+ 208,0.6341463414634146,0.7162102460861206,1.0,1.0,0.4674052524109416,0.1491688344557176,0.2067863034280634,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.01926422119140625,0.104986401359215,0.38921956771607813,1.0,0.0,0.0,0.0,0.0
211
+ 209,0.6371951219512195,0.7178353071212769,1.0,1.0,0.4863921208280306,0.1438510031302498,0.2270743123670211,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.02666473388671875,0.10719913732688713,0.40859677828972774,1.0,0.0,0.0,0.0,0.0
212
+ 210,0.6402439024390244,0.7188767194747925,1.0,1.0,0.5056798006304472,0.1384489207230289,0.2481571507242378,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.013899803161621094,0.10988217007684875,0.42842300565858427,1.0,0.0,0.0,0.0,0.0
213
+ 211,0.6432926829268293,0.719225287437439,1.0,1.0,0.5256246195343869,0.1328627861225649,0.2704442895304122,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.01163482666015625,0.11338403984052198,0.4490705205331944,1.0,0.0,0.0,0.0,0.0
214
+ 212,0.6463414634146342,0.7177132368087769,1.0,1.0,0.5461626161720725,0.1271105167389767,0.2940197517074229,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.01987457275390625,0.11625722701630106,0.47051975683267755,1.0,0.0,0.0,0.0,0.0
215
+ 213,0.649390243902439,0.7172378301620483,1.0,1.0,0.567133286076839,0.1212370634209348,0.3186498214594703,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.004255771636962891,0.12026314246887992,0.4925882466916284,1.0,0.0,0.0,0.0,0.0
216
+ 214,0.6524390243902439,0.7172876596450806,1.0,1.0,0.5891015573012158,0.1150842024920887,0.3449266000952605,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0013828277587890625,0.12341576790540709,0.5158490701394292,1.0,0.0,0.0,1.0,0.0
217
+ 215,0.6554878048780488,0.7173761129379272,1.0,1.0,0.6111978455318907,0.1088954866303941,0.4223995058276863,0.0007339318593343,1.0,0.0,1.0,1.0,1.0,1.0,0.001125335693359375,0.12555432147175902,0.5545583436206294,1.0,1.0,0.0,1.0,1.0
218
+ 216,0.6585365853658537,0.7174001932144165,1.0,1.0,0.6339296692854535,0.1025287703449128,0.454069638100702,0.0007339318593343,1.0,0.0,1.0,1.0,1.0,1.0,0.018002986907958984,0.13030807837693892,0.579971659930028,1.0,1.0,0.0,1.0,1.0
219
+ 217,0.6615853658536586,0.7155758142471313,1.0,1.0,0.6577232436359997,0.0958646787927002,0.4878848264739377,0.0007339318593343,1.0,0.0,1.0,1.0,1.0,1.0,0.0024175643920898438,0.13510799176046903,0.6067717184873811,1.0,1.0,0.0,1.0,1.0
220
+ 218,0.6646341463414634,0.7171584367752075,1.0,1.0,0.6821688386985512,0.0890179711688659,0.5227937174061783,0.0007339318593343,1.0,0.0,1.0,1.0,1.0,1.0,0.007088184356689453,0.137471948189012,0.6343563023108393,1.0,1.0,0.0,1.0,1.0
221
+ 219,0.6676829268292683,0.7162846326828003,1.0,1.0,0.7068064441503517,0.082117483973799,0.52832772211174,0.0007351239522298,1.0,0.0,1.0,1.0,1.0,1.0,0.00202178955078125,0.140701717837714,0.6532628275387682,1.0,1.0,0.0,1.0,1.0
222
+ 220,0.6707317073170732,0.7169562578201294,1.0,1.0,0.7324052008459391,0.0749477993850945,0.5346595129321682,0.0007343292236328,1.0,0.0,1.0,1.0,1.0,1.0,0.007202625274658203,0.14262108189657507,0.6730814944718078,1.0,1.0,0.0,1.0,1.0
223
+ 221,0.6737804878048781,0.7170048952102661,1.0,1.0,0.7577281013870986,0.0678553757841415,0.5493888127541264,0.0007339318593343,1.0,0.0,1.0,1.0,1.0,1.0,0.027806758880615234,0.14460482861008192,0.6952263147972069,1.0,1.0,0.0,1.0,1.0
224
+ 222,0.676829268292683,0.7141755819320679,1.0,1.0,0.7840351358006507,0.0604873165240863,0.568226671393713,0.0007351239522298,1.0,0.0,1.0,1.0,1.0,1.0,0.028438568115234375,0.14779503225098994,0.7192925964785694,1.0,1.0,0.0,1.0,1.0
225
+ 223,0.6798780487804879,0.7141610383987427,1.0,1.0,0.8104970716507057,0.0530758725590425,0.5798400194619151,0.0007339318593343,1.0,0.0,1.0,1.0,1.0,1.0,0.21281957626342773,0.145659858013409,0.7412999559940685,1.0,1.0,0.0,1.0,1.0
226
+ 224,0.6829268292682927,0.6928936243057251,1.0,1.0,0.8360417588029425,0.0459213307227454,0.5873423633537109,0.0007343292236328,1.0,0.0,1.0,1.0,1.0,1.0,0.41469812393188477,0.142599649230873,0.761431940168173,1.0,1.0,0.0,1.0,1.0
227
+ 225,0.6859756097560976,0.6726912260055542,1.0,1.0,0.8614110742004125,0.0388159076359552,0.5931403481591203,0.0007343292236328,1.0,0.0,1.0,1.0,1.0,1.0,0.42354822158813477,0.13851629469025897,0.7809298563880248,1.0,1.0,0.0,1.0,1.0
228
+ 226,0.6890243902439024,0.6505388021469116,1.0,1.0,0.8854978344375096,0.0320697012537195,0.6178986887144712,0.0007339318593343,1.0,0.0,1.0,1.0,1.0,1.0,0.39438486099243164,0.190571408574716,0.805218090720598,1.0,1.0,0.0,1.0,1.0
229
+ 227,0.6920731707317073,0.633252739906311,1.0,1.0,0.929452989004396,0.0197587667784836,0.6024522395754088,0.0007351239522298,1.0,0.0,1.0,1.0,1.0,1.0,0.3260660171508789,0.17838933116270703,0.8313527641756998,1.0,1.0,0.0,1.0,1.0
230
+ 228,0.6951219512195121,0.6179322004318237,1.0,1.0,0.9491902410626208,0.0142307681374488,0.654559454444733,0.0007351239522298,1.0,0.0,1.0,1.0,1.0,1.0,0.28383970260620117,0.180334336713174,0.8608010050772544,1.0,1.0,0.0,1.0,1.0
231
+ 229,0.698170731707317,0.6048687696456909,1.0,1.0,0.9938398435482132,0.0017253331071662,0.6744309856623041,0.0007339318593343,1.0,0.0,1.0,1.0,1.0,1.0,0.23910045623779297,0.016542601172429994,0.8980171861824404,1.0,1.0,0.0,1.0,1.0
232
+ 230,0.7012195121951219,0.5940221548080444,1.0,1.0,0.9550966383910175,0.0125765080202058,0.688481461872948,0.0007351239522298,1.0,0.0,1.0,1.0,1.0,1.0,0.19945859909057617,-0.20083797834656303,0.8751120854355967,0.0,1.0,0.0,1.0,1.0
233
+ 231,0.7042682926829268,0.5849229097366333,1.0,1.0,0.922132335633576,0.0218091309418225,0.7026218785498828,0.0007343292236328,1.0,0.0,1.0,1.0,1.0,1.0,0.1739215850830078,-0.14706125712739698,0.856279198508468,0.0,1.0,0.0,1.0,1.0
234
+ 232,0.7073170731707317,0.5766299962997437,1.0,1.0,0.9025896563506408,0.0272826337329455,0.7342314109644605,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.15069961547851562,-0.07957713154023698,0.8520821827347868,0.0,1.0,0.0,1.0,1.0
235
+ 233,0.7103658536585366,0.5698529481887817,1.0,1.0,0.8937199926833093,0.0297668440958462,0.7390085517057207,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.1085805892944336,-0.025193599420997997,0.8473065603900326,0.0,1.0,0.0,1.0,1.0
236
+ 234,0.7134146341463414,0.5657719373703003,1.0,0.0,0.893594492894221,0.0298019936750453,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.03125190734863281,0.002223501627642982,0.9255161450259546,0.0,1.0,1.0,1.0,1.0
237
+ 235,0.7164634146341463,0.5667277574539185,1.0,0.0,0.8945138736593434,0.0295444939330819,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.006563663482666016,0.0018283458857380058,0.9261597115615403,0.0,1.0,1.0,1.0,1.0
238
+ 236,0.7195121951219512,0.5651155710220337,1.0,0.0,0.8942472865103727,0.0296191590864715,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.013582706451416016,-8.186486788797076e-05,0.9259731005572609,0.0,1.0,1.0,1.0,1.0
239
+ 237,0.7225609756097561,0.5653694868087769,1.0,0.0,0.8944846452735403,0.0295526804198707,1.0,1.0,1.0,1.0,1.0,0.9981309538547488,1.0,0.9998784723549352,0.0012922286987304688,0.0010386804507899958,0.9261392516914781,0.0,1.0,1.0,1.0,1.0
240
+ 238,0.725609756097561,0.5652447938919067,1.0,0.0,0.8946181398687825,0.0295152910413925,1.0,1.0,1.0,1.0,1.0,0.9975697449620808,1.0,0.9998359780251598,0.05249977111816406,-0.00012967908497401454,0.9262326979081477,0.0,1.0,1.0,1.0,1.0
241
+ 239,0.7286585365853658,0.5601195096969604,1.0,0.0,0.8944383439728432,0.0295656483283681,1.0,1.0,1.0,1.0,1.0,0.9980125095705308,1.0,0.999869056403538,0.1368093490600586,-7.536218631400138e-05,0.9261068407809903,0.0,1.0,1.0,1.0,1.0
242
+ 240,0.7317073170731707,0.5515638589859009,1.0,0.0,0.8945912340380718,0.0295228272600239,1.0,1.0,1.0,1.0,1.0,0.9978240414020232,1.0,0.9998566379719624,0.19321680068969727,0.0015332342347329844,0.9262138638266502,0.0,1.0,1.0,1.0,1.0
243
+ 241,0.7347560975609756,0.5407978296279907,1.0,0.0,0.8949857720675397,0.0294123249048948,1.0,1.0,1.0,1.0,1.0,0.997977211624632,1.0,0.9998331845985908,0.22546052932739258,-0.0005394619754120131,0.9264900404472778,0.0,1.0,1.0,1.0,1.0
244
+ 242,0.7378048780487805,0.5290178060531616,1.0,0.0,0.8943986202289975,0.0295767734575651,1.0,1.0,1.0,1.0,1.0,0.997690199199784,1.0,0.9997507050311704,0.23253679275512695,-0.0018023442200079676,0.9260790341602982,0.0,1.0,1.0,1.0,1.0
245
+ 243,0.7408536585365854,0.517544150352478,1.0,0.0,0.8943422592936238,0.0295925593268956,1.0,1.0,1.0,1.0,1.0,0.9976027548182282,1.0,0.9997601439207482,0.2314615249633789,4.729962106899549e-05,0.9260395815055367,0.0,1.0,1.0,1.0,1.0
246
+ 244,0.7439024390243902,0.5058716535568237,1.0,0.0,0.8944155096123694,0.0295720434954582,1.0,1.0,1.0,1.0,1.0,0.996775739228954,1.0,0.9995930658676894,0.21686315536499023,-0.001951988382869023,0.9260908567286585,0.0,1.0,1.0,1.0,1.0
247
+ 245,0.7469512195121951,0.495857834815979,1.0,0.0,0.8936453192039543,0.0297877581651825,1.0,1.0,1.0,1.0,1.0,0.9970954331883456,1.0,0.9995457257590444,0.13487100601196345,0.001487322280895008,0.9255517234427679,0.0,1.0,1.0,1.0,1.0
248
+ 246,0.75,0.4923845529556274,1.0,0.0,0.8949465469012324,0.0294233112673687,1.0,1.0,1.0,1.0,1.0,0.996354931492743,1.0,0.9994603872672416,0.05344390869140625,0.0018143191559390204,0.9264625828308626,0.0,1.0,1.0,1.0,1.0
249
+ 247,0.7530487804878049,0.4905134439468384,1.0,0.0,0.8942931070847704,0.0296063262495886,1.0,1.0,1.0,1.0,1.0,0.9964965670503168,1.0,0.999339056385844,0.021858215332030695,-0.0016426351063840092,0.9260051749593392,0.0,1.0,1.0,1.0,1.0
250
+ 248,0.7560975609756098,0.4901987314224243,1.0,0.0,0.8943600580840779,0.0295875747780071,1.0,1.0,1.0,1.0,1.0,0.995363662706462,1.0,0.9990113701795188,0.0005483627319335938,0.0014872416710839942,0.9260520406588546,0.0,1.0,1.0,1.0,1.0
251
+ 249,0.7591463414634146,0.490458607673645,1.0,0.0,0.8948241139967935,0.0294576020824802,1.0,1.0,1.0,1.0,1.0,0.9957990867579908,1.0,0.9988686010038642,0.003952980041503906,0.0005985049873230217,0.9263768797977554,0.0,1.0,1.0,1.0,1.0
252
+ 250,0.7621951219512195,0.4905940294265747,1.0,0.0,0.8945737488387131,0.0295277242792748,1.0,1.0,1.0,1.0,1.0,0.9952733138799892,1.0,0.9985753918087816,0.010023117065430243,-0.002136492336808002,0.9262016241870992,0.0,1.0,1.0,1.0,1.0
253
+ 251,0.7652439024390244,0.489456295967102,1.0,0.0,0.8940612989355451,0.029671251316161,1.0,1.0,1.0,1.0,1.0,0.995480366960268,1.0,0.998323355720887,0.16467571258544922,-0.0010079927129109933,0.9258429092548814,0.0,1.0,1.0,1.0,1.0
254
+ 252,0.7682926829268293,0.4741264581680298,1.0,0.0,0.8942138532613899,0.0296285235505659,1.0,1.0,1.0,1.0,1.0,0.9955111209309176,1.0,0.9981049394602002,0.2875280380249018,0.0025655400225699926,0.9259496972829728,0.0,1.0,1.0,1.0,1.0
255
+ 253,0.7713414634146342,0.4607034921646118,1.0,0.0,0.8949773016178141,0.029414697313904,1.0,1.0,1.0,1.0,1.0,0.9953089856393644,1.0,0.997854986503342,0.25584936141967773,-4.555103297301105e-05,0.9264841111324698,0.0,1.0,1.0,1.0,1.0
256
+ 254,0.774390243902439,0.448541522026062,1.0,0.0,0.8941975888238702,0.0296330786538632,1.0,1.0,1.0,1.0,1.0,0.995996154770488,1.0,0.9979601775656272,0.24806261062622126,-0.0017880105281600084,0.9259383121767091,0.0,1.0,1.0,1.0,1.0
257
+ 255,0.7774390243902439,0.4358972311019897,1.0,0.0,0.894338908478012,0.02959349836672,1.0,1.0,1.0,1.0,1.0,0.9944930124710158,1.0,0.9968631200632508,0.23119211196899414,0.002904454848028995,0.9260372359346083,0.0,1.0,1.0,1.0,1.0
258
+ 256,0.7804878048780488,0.4254223108291626,1.0,0.0,0.8952346017679291,0.0293426331690603,1.0,1.0,1.0,1.0,1.0,0.9948755044593304,1.0,0.9968103441729655,0.20719289779663086,0.0005119122942720197,0.9266642212375504,0.0,1.0,1.0,1.0,1.0
259
+ 257,0.7835365853658537,0.4151779413223266,1.0,0.0,0.8945216819121092,0.0295423071372928,1.0,0.8188127358754472,1.0,1.0,1.0,0.995344182183956,1.0,0.9968549767105492,0.18686056137085016,-0.003011623339552981,0.9261651773384765,0.0,1.0,1.0,1.0,1.0
260
+ 258,0.7865853658536586,0.4067362546920776,1.0,0.0,0.8941593275364192,0.0296437955030156,1.0,0.8344967047373449,1.0,1.0,1.0,0.9950774028288228,1.0,0.9967649581037358,0.07913589477539007,-0.0011426581051920265,0.9259115292754934,0.0,1.0,1.0,1.0,1.0
261
+ 259,0.7896341463414634,0.4072643518447876,1.0,0.0,0.8941137071774273,0.029656572947812,1.0,0.8512177944183346,1.0,1.0,1.0,0.9942946649868064,1.0,0.9963829892899574,0.06866455078125,0.0011181964161969746,0.9258795950241991,0.0,1.0,1.0,1.0,1.0
262
+ 260,0.7926829268292683,0.3998697996139526,1.0,0.0,0.8945585684143049,0.0295319758613959,1.0,0.8658070246378576,1.0,1.0,1.0,0.9945979865951028,1.0,0.996948474344118,0.12090444564819391,0.0010611952083600107,0.9261909978900134,0.0,1.0,1.0,1.0,1.0
263
+ 261,0.7957317073170732,0.3951739072799682,1.0,0.0,0.8944925973286895,0.029550453426976,1.0,0.8777726570765173,1.0,1.0,1.0,0.9940111570603946,1.0,0.9967970000283932,0.05896329879760687,-0.0012481471036229763,0.9261448181300826,0.0,1.0,1.0,1.0,1.0
264
+ 262,0.7987804878048781,0.3939734697341919,1.0,0.0,0.8941129286692873,0.0296567905717582,1.0,0.8893925825754797,1.0,1.0,1.0,0.9941349568746828,1.0,0.9967306809506012,0.021727085113524836,-0.0020388320823720024,0.925879050068501,0.0,1.0,1.0,1.0,1.0
265
+ 263,0.801829268292683,0.3930011987686157,1.0,0.0,0.8937646477348092,0.0297543366352132,1.0,0.8979309479395544,1.0,1.0,1.0,0.994130604778462,1.0,0.996704354711348,0.015587806701660156,0.0011304852904159973,0.9256352534143664,0.0,1.0,1.0,1.0,1.0
266
+ 264,0.8048780487804879,0.3924146890640259,1.0,0.0,0.8945165585848273,0.0295437420427166,1.0,0.8984167257944738,1.0,1.0,1.0,0.993474299359055,1.0,0.9962003906607584,0.016314983367920477,0.0031414710259700107,0.926161591009379,0.0,1.0,1.0,1.0,1.0
267
+ 265,0.8079268292682927,0.3913697004318237,1.0,0.0,0.8948862842210801,0.0294401895326162,1.0,0.8922069152196245,1.0,1.0,1.0,0.9927899751881736,1.0,0.9957737265711132,0.012123584747315008,-0.0007171442008430118,0.9264203989547559,0.0,1.0,1.0,1.0,1.0
268
+ 266,0.8109756097560976,0.3912023305892944,1.0,0.0,0.8942605091463285,0.0296154564628009,1.0,0.8942861239115393,1.0,1.0,1.0,0.9925977127057936,1.0,0.9958181793651616,0.005779266357421875,-0.0017473887706909857,0.9259823564024299,0.0,1.0,1.0,1.0,1.0
269
+ 267,0.8140243902439024,0.3907917737960815,1.0,0.0,0.894262393881382,0.0296149284096853,1.0,0.8951374769210811,1.0,1.0,1.0,0.9925977127057936,1.0,0.9958042862733516,0.0034189224243169614,-0.0005481362211959967,0.9259836757169673,0.0,1.0,1.0,1.0,1.0
270
+ 268,0.8170731707317073,0.3915442228317261,1.0,0.0,0.8940647995334049,0.0296702700849205,1.0,0.8993366241455074,1.0,1.0,1.0,0.9925977127057936,1.0,0.9957884702622596,0.005900859832764227,-0.0008016909677020095,0.9258453596733833,0.0,1.0,1.0,1.0,1.0
271
+ 269,0.8201219512195121,0.3913818597793579,1.0,0.0,0.8939761565552895,0.0296950975064555,1.0,0.923199343681335,1.0,1.0,1.0,0.993715446747796,1.0,0.996315717024838,0.0024247169494628906,0.002144216215702009,0.9257833095887027,0.0,1.0,1.0,1.0,1.0
272
+ 270,0.823170731707317,0.3913017511367798,1.0,0.0,0.8948303768193887,0.0294558484633503,1.0,0.9609966357549028,1.0,1.0,1.0,0.9924408879244088,1.0,0.995655597348449,0.002064704895018976,0.0019005472242249882,0.926381263773572,0.0,1.0,1.0,1.0,1.0
273
+ 271,0.8262195121951219,0.3915883302688598,1.0,0.0,0.8946547289397461,0.029505042784033,1.0,1.0,1.0,1.0,1.0,0.9931062569418734,1.0,0.9962227279267472,0.0012230873107910156,0.0004017677822139992,0.9262583102578221,0.0,1.0,1.0,1.0,1.0
274
+ 272,0.8292682926829268,0.3914240598678589,1.0,0.0,0.894973821835206,0.0294156716851289,1.0,1.0,1.0,1.0,0.9860234720317024,0.9943227757903615,0.9860234720317024,0.996965852203016,0.0032472610473632812,-0.00031806035355998186,0.9264816752846441,0.0,1.0,1.0,1.0,1.0
275
+ 273,0.8323170731707317,0.3912636041641235,1.0,0.0,0.8945411684180443,0.029536848819389,1.0,1.0,1.0,1.0,0.7222664228014023,0.9964277862337224,0.7222664228014023,0.9979716594541616,0.005166530609130859,-0.0016193002723939934,0.9261788178926309,0.0,1.0,1.0,1.0,1.0
276
+ 274,0.8353658536585366,0.391940712928772,1.0,0.0,0.8943956674253929,0.0295776017123683,1.0,1.0,1.0,1.0,0.2887019255194837,0.9960045662100456,0.2887019255194837,0.997759013773534,0.0015497207641601562,0.001026353646017969,0.9260769671977749,0.0,1.0,1.0,1.0,1.0
277
+ 275,0.8384146341463414,0.3914185762405395,1.0,0.0,0.8949076214648166,0.0294342134547872,1.0,1.0,1.0,1.0,0.2264593811918914,0.9903007400409384,0.2264593811918914,0.9943439183921936,0.006802082061767578,0.006125294355955983,0.9264353350253716,0.0,1.0,1.0,1.0,1.0
278
+ 276,0.8414634146341463,0.3912605047225952,1.0,0.0,0.8965826518440602,0.0289650722767727,1.0,1.0,1.0,1.0,0.5324357481170898,0.9730046033337044,0.5324357481170898,0.9830935449025764,0.006539821624755859,0.013666339505031024,0.9276078562908421,1.0,1.0,1.0,1.0,1.0
279
+ 277,0.8445121951219512,0.3920725584030151,1.0,0.0,0.899787072109903,0.0280675795042841,1.0,1.0,1.0,1.0,0.6655562087660853,0.9424202662747774,0.6655562087660853,0.9602173435678368,0.0036072731018066406,0.017746525773347996,0.9298509504769321,1.0,1.0,1.0,1.0,1.0
280
+ 278,0.8475609756097561,0.3916212320327759,1.0,0.0,0.9029188963180984,0.0271904196994379,1.0,1.0,1.0,1.0,0.7483644914756025,0.6046185312024352,0.7483644914756025,0.7196661432529892,0.0048828125,0.014488971645541006,0.9320432274226689,1.0,1.0,1.0,1.0,1.0
281
+ 279,0.850609756097561,0.3915842771530151,1.0,0.0,0.9049602387049096,0.02661868233973,1.0,1.0,1.0,1.0,0.76,0.50380658436214,0.76,0.606351942914032,0.00501632690429632,0.01411673237135199,0.9334721670934367,1.0,1.0,1.0,1.0,1.0
282
+ 280,0.8536585365853658,0.3921228647232055,1.0,0.0,0.9079591595770848,0.0257787464623027,1.0,1.0,1.0,1.0,0.7494310134310135,0.5043724279835391,0.7494310134310135,0.5724308389892001,0.0005531311035150699,-0.017425388160916024,0.9355714117039593,0.0,1.0,1.0,1.0,1.0
283
+ 281,0.8567073170731707,0.3915289640426636,1.0,0.0,0.8987386493790444,0.0283612211558216,1.0,1.0,1.0,1.0,0.5543859649122806,0.7179549114331722,0.5543859649122806,0.7680582457458224,0.006923675537109375,-0.03802428436985698,0.9291170545653309,0.0,1.0,1.0,1.0,1.0
284
+ 282,0.8597560975609756,0.3914304971694946,1.0,0.0,0.894382905544303,0.0295811748992884,1.0,1.0,1.0,1.0,0.6600322061191627,0.9281045751633988,0.6600322061191627,0.9400121717204716,0.0015282630920410156,-0.011905726777266985,0.9260680338810121,0.0,1.0,1.0,1.0,1.0
285
+ 283,0.8628048780487805,0.3916817903518677,1.0,0.0,0.8944878115023689,0.0295517938335483,1.0,1.0,1.0,1.0,0.3876543209876543,0.9166666666666669,0.3876543209876543,0.9332729468599034,0.0009131431579589844,-0.0009834038189230135,0.9261414680516582,0.0,1.0,1.0,1.0,1.0
286
+ 284,0.8658536585365854,0.3913391828536987,1.0,0.0,0.8940317913454535,0.0296795152811807,1.0,1.0,1.0,1.0,0.1801801801801801,0.8788888888888889,0.1801801801801801,0.9086075109448284,0.0007724761962896176,-0.003938598542066012,0.9258222539418175,0.0,1.0,1.0,1.0,1.0
287
+ 285,0.8689024390243902,0.3916045427322387,1.0,0.0,0.893081567113763,0.0299456536877549,1.0,1.0,1.0,1.0,0.1171171171171171,0.5216137566137566,0.1171171171171171,0.6371838976678524,0.0011992454528814145,-0.002056757175336009,0.9251570969796341,0.0,1.0,1.0,1.0,1.0
288
+ 286,0.8719512195121951,0.3914591073989868,1.0,0.0,0.8932974440357666,0.0298851909987143,1.0,1.0,1.0,1.0,0.1801801801801801,0.2963888888888889,0.1801801801801801,0.4753619733756359,0.0008034706115722656,-0.00461635714771598,0.9253082108250366,0.0,1.0,1.0,1.0,1.0
289
+ 287,0.875,0.3915241956710815,1.0,0.0,0.8914333362466271,0.0304072894025265,1.0,1.0,1.0,1.0,0.1351351351351351,0.5904761904761905,0.1351351351351351,0.6946417963618918,0.0003409385681152344,0.0008403197059780182,0.9240033353726389,0.0,1.0,1.0,1.0,1.0
290
+ 288,0.8780487804878049,0.3914250135421753,1.0,0.0,0.8935974731585705,0.0298011590281165,1.0,1.0,1.0,1.0,0.0810810810810811,0.5925925925925926,0.0810810810810811,0.7212436236674806,0.002434253692626953,0.008289826563991978,0.9255182312109993,0.0,1.0,1.0,1.0,1.0
291
+ 289,0.8810975609756098,0.3917676210403442,1.0,0.0,0.8943931501874732,0.0295783067461273,1.0,1.0,1.0,1.0,0.036697247706422,0.1064814814814815,0.036697247706422,0.4298094633044919,0.0002074241638189145,0.0038775164971920073,0.9260752051312313,0.0,1.0,1.0,1.0,1.0
292
+ 290,0.8841463414634146,0.3914042711257934,1.0,0.0,0.8949819054303781,0.0294134073783973,1.0,1.0,1.0,1.0,0.0370370370370369,0.0,0.0370370370370369,0.3503787878787878,0.0034308433532709293,-0.0005854170693679953,0.9264873338012647,0.0,1.0,1.0,1.0,1.0
293
+ 291,0.8871951219512195,0.3914245367050171,1.0,0.0,0.8941841319266499,0.0296368484530641,1.0,1.0,1.0,1.0,0.0370370370370369,0.0,0.0370370370370369,0.3814992025518342,0.0011301040649408511,1.392198658297511e-05,0.9259288923486548,0.0,1.0,1.0,1.0,1.0
294
+ 292,0.8902439024390244,0.3912912607192993,1.0,0.0,0.894986878348621,0.029412015179739,1.0,1.0,1.0,1.0,0.0185185185185184,0.0,0.0185185185185184,0.3890639589169001,0.00025510787963811676,0.001416906263840001,0.9264908148440347,0.0,1.0,1.0,1.0,1.0
295
+ 293,0.8932926829268293,0.3914500474929809,1.0,0.0,0.8946900253442049,0.0294951578266801,1.0,1.0,1.0,1.0,0.0185185185185184,0.0,0.0185185185185184,0.3992773261065944,3.5762786864679263e-05,-0.001653447286202002,0.9262830177409433,0.0,1.0,1.0,1.0,1.0
296
+ 294,0.8963414634146342,0.3912948369979858,1.0,0.0,0.8943965283022035,0.0295773599083592,1.0,1.0,1.0,1.0,0.0185185185185184,0.0,0.0185185185185184,0.4013851249623607,0.00014543533325195312,-0.0005821578864620078,0.9260775698115424,0.0,1.0,1.0,1.0,1.0
297
+ 295,0.899390243902439,0.3914355039596557,1.0,0.0,0.8944821722383709,0.0295533736153263,1.0,1.0,1.0,1.0,0.0185185185185184,0.0,0.0185185185185184,0.3984725301798472,0.0017929077148443051,-0.0012572711218280033,0.9261375205668596,0.0,1.0,1.0,1.0,1.0
298
+ 296,0.902439024390244,0.3914741277694702,1.0,0.0,0.8939476308435097,0.029703087020542,1.0,1.0,1.0,1.0,0.0185185185185184,0.0,0.0185185185185184,0.3991058122205663,0.00133514404296875,-0.0006496729145289912,0.9257633415904567,0.0,1.0,1.0,1.0,1.0
299
+ 297,0.9054878048780488,0.3915690183639526,1.0,0.0,0.8942502099397533,0.0296183409067792,1.0,1.0,1.0,1.0,0.0185185185185184,0.0,0.0185185185185184,0.3984725301798472,0.0006389617919916324,0.0015813024073650303,0.9259751469578272,0.0,1.0,1.0,1.0,1.0
300
+ 298,0.9085365853658536,0.3915380239486694,1.0,0.0,0.8945122198555856,0.0295449567798055,1.0,1.0,1.0,1.0,0.0188679245283018,0.0,0.0188679245283018,0.4010959201388889,0.003616809844970703,-0.0013325876950119955,0.9261585538989099,0.0,1.0,1.0,1.0,1.0
301
+ 299,0.9115853658536586,0.3912073373794555,1.0,0.0,0.893774421531571,0.0297515996762804,1.0,1.0,1.0,1.0,0.019047619047619,0.0,0.019047619047619,0.3729762789545398,0.003006458282470703,0.00020068568490898275,0.9256420950720996,0.0,1.0,1.0,1.0,1.0
302
+ 300,0.9146341463414634,0.3912373781204223,1.0,0.0,0.8945838748832303,0.0295248882113146,1.0,1.0,1.0,1.0,0.0192307692307692,0.0,0.0192307692307692,0.3648809523809525,0.0006890296936029605,0.002729400449317,0.9262087124182612,0.0,1.0,1.0,1.0,1.0
303
+ 301,0.9176829268292684,0.3911384344100952,1.0,0.0,0.8947489282394846,0.0294786596313487,1.0,1.0,1.0,1.0,0.0196078431372549,0.0,0.0196078431372549,0.3164582010582011,0.005402565002441961,0.0008189151096800115,0.9263242497676392,0.0,1.0,1.0,1.0,1.0
304
+ 302,0.9207317073170732,0.3917776346206665,1.0,0.0,0.8948762618561807,0.0294429967003466,1.0,1.0,1.0,1.0,0.01010101010101,0.0,0.017433595211373,0.3124742016585987,0.010287761688231867,-0.0010570992476819849,0.9264133832993264,0.0,1.0,1.0,1.0,1.0
305
+ 303,0.923780487804878,0.3921672105789184,1.0,0.0,0.8943715025501187,0.0295843695561169,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.3171257391845626,0.0003528594970703125,-0.0032857992700779937,0.926060051785083,0.0,1.0,1.0,1.0,1.0
306
+ 304,0.926829268292683,0.3917423486709595,1.0,0.0,0.8937030958376664,0.0297715766273544,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.3232380952380952,0.007979869842528742,-0.0003914960344970214,0.9255921670863665,0.0,1.0,1.0,1.0,1.0
307
+ 305,0.929878048780488,0.3913692235946655,1.0,0.0,0.8942317195469944,0.0296235191595666,1.0,1.0,1.0,1.0,0.0,0.0,0.0370370370370369,0.2888494318181818,0.006835460662841797,0.0014991966883109997,0.9259622036828961,0.0,1.0,1.0,1.0,1.0
308
+ 306,0.9329268292682928,0.3910588026046753,1.0,0.0,0.8942383701514391,0.0296216569585233,1.0,1.0,1.0,1.0,0.0,0.0,0.0148148148148148,0.3867324561403509,0.00048160552978460114,0.0009206857778570193,0.9259668591060073,0.0,1.0,1.0,1.0,1.0
309
+ 307,0.9359756097560976,0.391417384147644,1.0,0.0,0.8945604440686599,0.0295314505817809,1.0,1.0,1.0,1.0,0.0,0.0,0.0222222222222222,0.248081841432225,0.0005698204040521793,0.0016765359317149828,0.9261923108480619,0.0,1.0,1.0,1.0,1.0
310
+ 308,0.9390243902439024,0.3911157846450805,1.0,0.0,0.8948369631969071,0.0294540033653518,1.0,1.0,1.0,1.0,0.0,0.0,0.0444444444444444,0.595770202020202,0.0005531311035150699,0.000754236609702974,0.9263858742378348,0.0,1.0,1.0,1.0,1.0
311
+ 309,0.9420731707317072,0.3913620710372925,1.0,0.0,0.8948297397403624,0.0294560269208106,1.0,1.0,1.0,1.0,0.0,0.0,0.0074074074074074,0.6026041666666666,0.006084442138671875,-0.002607768117737011,0.9263808178182535,0.0,1.0,1.0,1.0,1.0
312
+ 310,0.945121951219512,0.3917242288589477,1.0,0.0,0.893905882513074,0.0297147801771255,1.0,1.0,1.0,1.0,0.0,0.0,0.0296296296296296,1.0,0.0009632110595703125,-0.002555838304064001,0.9257341177591518,0.0,1.0,1.0,1.0,1.0
313
+ 311,0.948170731707317,0.3914583921432495,1.0,0.0,0.8939171977000793,0.029711610751217,1.0,1.0,1.0,1.0,0.0,0.0,0.0222222222222222,0.4222222222222221,0.00331878662109375,-0.000544407407634985,0.9257420383900554,0.0,1.0,1.0,1.0,1.0
314
+ 312,0.951219512195122,0.3920561075210571,1.0,0.0,0.8937115053219723,0.029769220917889,1.0,1.0,1.0,1.0,0.0,0.0185185185185184,0.0222222222222222,0.4474622770919066,0.0015854835510248355,0.000593289978106995,0.9255980537253805,0.0,1.0,1.0,1.0,1.0
315
+ 313,0.9542682926829268,0.391616940498352,1.0,0.0,0.8941290273710614,0.0296522817534063,1.0,1.0,1.0,1.0,0.0,0.074074074074074,0.0518518518518518,0.4667352537722907,0.009520053863524836,0.002601757286471995,0.925890319159743,0.0,1.0,1.0,1.0,1.0
316
+ 314,0.9573170731707316,0.3911041021347046,1.0,0.0,0.8946404399680645,0.0295090451892418,1.0,1.0,1.0,1.0,0.0,0.1157407407407407,0.0296296296296296,0.566712962962963,0.0015664100646967105,0.03323981448030502,0.9262483079776451,1.0,1.0,1.0,1.0,1.0
317
+ 315,0.9603658536585366,0.3914602994918823,1.0,1.0,0.9059970234001096,0.0263283003053758,0.7547424919077979,1.0,1.0,1.0,0.9142857142857144,0.0313390313390313,0.9261893004115226,0.5272011938678606,0.007107257843017023,0.048611156548003,0.860620663952416,1.0,1.0,1.0,1.0,1.0
318
+ 316,0.9634146341463414,0.3918148279190063,1.0,1.0,0.9119966442659512,0.0246479295344415,0.7485339187555786,1.0,1.0,1.0,0.9428571428571428,0.0284900284900284,0.9519028022731726,0.509747282895431,0.001933574676514227,0.015323904069459993,0.8629578266128393,1.0,1.0,1.0,1.0,1.0
319
+ 317,0.9664634146341464,0.3912669420242309,1.0,1.0,0.9114682917748704,0.0247959098984298,0.7485158670080193,1.0,1.0,1.0,0.9444444444444444,0.0284900284900284,0.9524798049077884,0.524831981883264,0.004470348358153742,-0.03019006024930198,0.8625825643448151,0.0,1.0,1.0,1.0,1.0
320
+ 318,0.9695121951219512,0.3913677930831909,1.0,1.0,0.901217538410478,0.0276669355593717,0.7584120430788449,1.0,1.0,1.0,0.9428571428571428,0.0256410256410256,0.9508430335097,0.5273199023199024,0.0006508827209478207,-0.013527439696873998,0.8583758898109881,0.0,1.0,1.0,1.0,1.0
321
+ 319,0.972560975609756,0.3913320302963257,1.0,1.0,0.9066384364223752,0.0261486538681172,0.751670110431458,1.0,1.0,1.0,0.9444444444444444,0.0284900284900284,0.9521170553269318,0.5219257554727641,0.005414485931395929,-0.0023506505561480054,0.8601479386251,0.0,1.0,1.0,1.0,1.0
322
+ 320,0.975609756097561,0.3919092416763305,1.0,1.0,0.900378258577776,0.0279020006149865,0.757920223322718,1.0,1.0,1.0,0.925925925925926,0.0370370370370369,0.9340994767057867,0.558641975308642,0.0016808509826660156,-0.025100096936220007,0.8576408480012585,0.0,1.0,1.0,1.0,1.0
323
+ 321,0.9786585365853658,0.3915001153945923,1.0,1.0,0.8976766577866835,0.0286586635617392,0.7610809558014039,1.0,1.0,1.0,0.9074074074074074,0.0370370370370369,0.9176954732510288,0.5328483245149911,0.002460479736328125,-0.002797879648635017,0.8566979471910996,0.0,1.0,1.0,1.0,1.0
324
+ 322,0.9817073170731708,0.3916631937026977,1.0,1.0,0.8993793003031135,0.02818178857985,0.7587438286971109,1.0,1.0,1.0,0.923809523809524,0.0341880341880341,0.9333369913123,0.5257173382173383,0.003941059112548273,0.015273866077249003,0.8571886588213127,1.0,1.0,1.0,1.0,1.0
325
+ 323,0.9847560975609756,0.3918942213058471,1.0,1.0,0.9031300606571404,0.0271312769540143,0.7550383455608409,1.0,1.0,1.0,0.925925925925926,0.0284900284900284,0.935188741553625,0.524831981883264,0.001900196075438898,0.001242853260909997,0.8587025461282505,0.0,1.0,1.0,1.0,1.0
326
+ 324,0.9878048780487804,0.3914731740951538,1.0,1.0,0.8998230484472695,0.028057503253759,0.7589882107506394,1.0,1.0,1.0,0.9074074074074074,0.0341880341880341,0.9189859269420312,0.5271545584045585,0.0011444091796869449,0.011946751071086996,0.8575725971382804,1.0,1.0,1.0,1.0,1.0
327
+ 325,0.9908536585365854,0.3917797803878784,1.0,1.0,0.9073955497501148,0.0259366018469056,0.751629800878126,1.0,1.0,1.0,0.9444444444444444,0.0284900284900284,0.9521170553269318,0.5233788686780141,0.0019025802612310239,0.008517380979159994,0.8606658250885182,0.0,1.0,1.0,1.0,1.0
328
+ 326,0.9939024390243902,0.3912829160690307,1.0,1.0,0.9028641082266968,0.027205765155843,0.7559080772400589,1.0,1.0,1.0,0.9351851851851852,0.0341880341880341,0.9442432556012804,0.5423323133199676,0.0016617774963384457,0.0022508916760429973,0.8587772989307054,0.0,1.0,1.0,1.0,1.0
329
+ 327,0.9969512195121952,0.3916136026382446,1.0,1.0,0.9081992109410524,0.0257115126793013,0.7516271068086917,1.0,1.0,1.0,0.9523809523809524,0.0313390313390313,0.9615389640080998,0.5300841134174468,0.0014209747314458676,-0.0033680672126370007,0.8612275797013441,0.0,1.0,1.0,1.0,1.0
330
+ 328,1.0,0.3914250135421753,1.0,1.0,0.9016615670558528,0.0275425718771067,0.7553027732971624,1.0,1.0,1.0,0.925925925925926,0.0370370370370369,0.934644109129706,0.5261316872427984,0.0037717819213856085,-0.036621183956108,0.8577539289282456,0.0,1.0,1.0,1.0,1.0
artifacts/results/oven_episode0_iter16_gif_suite/episode0.keyframes.csv ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ frame_index,time_norm,door_angle,right_gripper_open,left_gripper_open,pregrasp_progress,pregrasp_distance,p_pre,p_ext,y_pre,y_ext,three_view_visibility,three_view_whole_tray_visibility,full_view_visibility,full_view_whole_tray_visibility,door_speed_abs,pregrasp_speed,phase_score,approach_active,y_retrieve,y_ready,phase_switch,y_pre_progress_seed,keyframe_ordinal
2
+ 61,0.1859756097560975,1.5707963705062866,1.0,1.0,0.0,0.2815471545898242,0.0501163257006666,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.001988831083530873,0.015034897710199979,0.0,0.0,0.0,0.0,0.0,0
3
+ 91,0.2774390243902439,1.5705474615097046,0.0,1.0,0.0,0.2808195414862614,0.0503402021477316,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.0015521049499489514,0.003698527875333757,0.015102060644319478,0.0,0.0,0.0,0.0,0.0,1
4
+ 93,0.2835365853658536,1.5695279836654663,0.0,1.0,0.0,0.2810522351488995,0.0502923427598923,0.0007343292236328,0.0,0.0,1.0,1.0,1.0,1.0,0.003266334533689186,-0.0006522298561245643,0.015087702827967689,0.0,0.0,0.0,0.0,0.0,2
5
+ 130,0.3963414634146341,0.7299572229385376,1.0,1.0,0.0,0.2807313544459941,0.0251903725805302,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.07925748825073242,0.0010164967063258645,0.00755711177415906,0.0,0.0,0.0,0.0,0.0,3
6
+ 132,0.4024390243902439,0.7298687696456909,1.0,1.0,0.0,0.2810092232588846,0.0251043407298885,0.0007351239522298,0.0,0.0,1.0,1.0,1.0,1.0,0.011527538299560547,-0.0006978082441660982,0.00753130221896655,0.0,0.0,0.0,0.0,0.0,4
7
+ 175,0.5335365853658537,0.7298847436904907,1.0,1.0,0.0,0.2810751229474485,0.0250825681319464,0.0007339318593343,0.0,0.0,1.0,1.0,1.0,1.0,0.004901885986328125,0.004380962563844126,0.00752477043958392,0.0,0.0,0.0,0.0,0.0,5
8
+ 234,0.7134146341463414,0.5657719373703003,1.0,0.0,0.893594492894221,0.0298019936750453,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.03125190734863281,0.002223501627642982,0.9255161450259546,0.0,1.0,1.0,1.0,1.0,6
9
+ 236,0.7195121951219512,0.5651155710220337,1.0,0.0,0.8942472865103727,0.0296191590864715,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.013582706451416016,-8.186486788797076e-05,0.9259731005572609,0.0,1.0,1.0,1.0,1.0,7
10
+ 266,0.8109756097560976,0.3912023305892944,1.0,0.0,0.8942605091463285,0.0296154564628009,1.0,0.8942861239115393,1.0,1.0,1.0,0.9925977127057936,1.0,0.9958181793651616,0.005779266357421875,-0.0017473887706909857,0.9259823564024299,0.0,1.0,1.0,1.0,1.0,8
11
+ 295,0.899390243902439,0.3914355039596557,1.0,0.0,0.8944821722383709,0.0295533736153263,1.0,1.0,1.0,1.0,0.0185185185185184,0.0,0.0185185185185184,0.3984725301798472,0.0017929077148443051,-0.0012572711218280033,0.9261375205668596,0.0,1.0,1.0,1.0,1.0,9
12
+ 315,0.9603658536585366,0.3914602994918823,1.0,1.0,0.9059970234001096,0.0263283003053758,0.7547424919077979,1.0,1.0,1.0,0.9142857142857144,0.0313390313390313,0.9261893004115226,0.5272011938678606,0.007107257843017023,0.048611156548003,0.860620663952416,1.0,1.0,1.0,1.0,1.0,10
13
+ 317,0.9664634146341464,0.3912669420242309,1.0,1.0,0.9114682917748704,0.0247959098984298,0.7485158670080193,1.0,1.0,1.0,0.9444444444444444,0.0284900284900284,0.9524798049077884,0.524831981883264,0.004470348358153742,-0.03019006024930198,0.8625825643448151,0.0,1.0,1.0,1.0,1.0,11
14
+ 322,0.9817073170731708,0.3916631937026977,1.0,1.0,0.8993793003031135,0.02818178857985,0.7587438286971109,1.0,1.0,1.0,0.923809523809524,0.0341880341880341,0.9333369913123,0.5257173382173383,0.003941059112548273,0.015273866077249003,0.8571886588213127,1.0,1.0,1.0,1.0,1.0,12
15
+ 328,1.0,0.3914250135421753,1.0,1.0,0.9016615670558528,0.0275425718771067,0.7553027732971624,1.0,1.0,1.0,0.925925925925926,0.0370370370370369,0.934644109129706,0.5261316872427984,0.0037717819213856085,-0.036621183956108,0.8577539289282456,0.0,1.0,1.0,1.0,1.0,13
artifacts/results/oven_episode0_iter16_gif_suite/episode0.metrics.json ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "episode_name": "episode0",
3
+ "description": "take tray out of oven",
4
+ "num_dense_frames": 329,
5
+ "num_keyframes": 14,
6
+ "phase_switch_rises": 1,
7
+ "phase_switch_falls": 0,
8
+ "ppre_cross_frame": 216,
9
+ "pext_cross_frame": 232,
10
+ "phase_cross_frame": 214,
11
+ "retrieve_cross_frame": 215,
12
+ "ready_cross_frame": 234,
13
+ "ordering_ok": true,
14
+ "dense_boundary_error_to_retrieve_frames": 1.0,
15
+ "dense_boundary_error_frames": 20.0,
16
+ "dense_boundary_error_fraction": 0.060790273556231005,
17
+ "key_boundary_error_to_retrieve_keyframes": 0.0,
18
+ "key_boundary_error_keyframes": 0.0,
19
+ "auroc_vret_ypre_three": 0.25,
20
+ "auprc_vret_ypre_three": 0.24826186034776737,
21
+ "auroc_vret_ypre_full": 0.25,
22
+ "auprc_vret_ypre_full": 0.2470367977331313,
23
+ "auroc_ppre_ypre": 1.0,
24
+ "auprc_ppre_ypre": 1.0,
25
+ "auroc_pext_yext": 1.0,
26
+ "auprc_pext_yext": 1.0,
27
+ "auroc_phase_yretrieve": 1.0,
28
+ "auprc_phase_yretrieve": 1.0,
29
+ "f1_phase_yretrieve": 0.9956331877729258,
30
+ "auroc_phase_yready": 0.9982456140350877,
31
+ "auprc_phase_yready": 0.9955174255664128,
32
+ "f1_phase_yready": 0.9047619047619047,
33
+ "baseline_auroc_door_yext": 0.0,
34
+ "baseline_auprc_door_yext": 0.16605628948799386,
35
+ "baseline_auroc_time_yext": 1.0,
36
+ "baseline_auprc_time_yext": 1.0,
37
+ "baseline_auroc_whole_vis_yext": 0.030927835051546393,
38
+ "baseline_auprc_whole_vis_yext": 0.16672328515787038,
39
+ "pre_ready_open_more_increases_pext": 2.0,
40
+ "pre_ready_open_more_trials": 2.0,
41
+ "pre_ready_hold_open_increases_pext": 0.0,
42
+ "pre_ready_hold_open_trials": 2.0,
43
+ "pre_ready_extract_success": 0.0,
44
+ "pre_ready_extract_trials": 2.0,
45
+ "pre_ready_wait_extract_success": 0.0,
46
+ "pre_ready_wait_trials": 2.0,
47
+ "post_ready_extract_success": 2.0,
48
+ "post_ready_extract_trials": 2.0,
49
+ "post_ready_open_more_low_gain": 2.0,
50
+ "post_ready_open_more_trials": 2.0,
51
+ "post_ready_hold_open_low_gain": 2.0,
52
+ "post_ready_hold_open_trials": 2.0
53
+ }
artifacts/results/oven_episode0_iter16_gif_suite/summary.json ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "num_episodes": 1,
3
+ "mean_metrics": {
4
+ "num_dense_frames": 329.0,
5
+ "num_keyframes": 14.0,
6
+ "phase_switch_rises": 1.0,
7
+ "phase_switch_falls": 0.0,
8
+ "ppre_cross_frame": 216.0,
9
+ "pext_cross_frame": 232.0,
10
+ "phase_cross_frame": 214.0,
11
+ "retrieve_cross_frame": 215.0,
12
+ "ready_cross_frame": 234.0,
13
+ "dense_boundary_error_to_retrieve_frames": 1.0,
14
+ "dense_boundary_error_frames": 20.0,
15
+ "dense_boundary_error_fraction": 0.060790273556231005,
16
+ "key_boundary_error_to_retrieve_keyframes": 0.0,
17
+ "key_boundary_error_keyframes": 0.0,
18
+ "auroc_vret_ypre_three": 0.25,
19
+ "auprc_vret_ypre_three": 0.24826186034776737,
20
+ "auroc_vret_ypre_full": 0.25,
21
+ "auprc_vret_ypre_full": 0.2470367977331313,
22
+ "auroc_ppre_ypre": 1.0,
23
+ "auprc_ppre_ypre": 1.0,
24
+ "auroc_pext_yext": 1.0,
25
+ "auprc_pext_yext": 1.0,
26
+ "auroc_phase_yretrieve": 1.0,
27
+ "auprc_phase_yretrieve": 1.0,
28
+ "f1_phase_yretrieve": 0.9956331877729258,
29
+ "auroc_phase_yready": 0.9982456140350877,
30
+ "auprc_phase_yready": 0.9955174255664128,
31
+ "f1_phase_yready": 0.9047619047619047,
32
+ "baseline_auroc_door_yext": 0.0,
33
+ "baseline_auprc_door_yext": 0.16605628948799386,
34
+ "baseline_auroc_time_yext": 1.0,
35
+ "baseline_auprc_time_yext": 1.0,
36
+ "baseline_auroc_whole_vis_yext": 0.030927835051546393,
37
+ "baseline_auprc_whole_vis_yext": 0.16672328515787038,
38
+ "pre_ready_open_more_increases_pext": 2.0,
39
+ "pre_ready_open_more_trials": 2.0,
40
+ "pre_ready_hold_open_increases_pext": 0.0,
41
+ "pre_ready_hold_open_trials": 2.0,
42
+ "pre_ready_extract_success": 0.0,
43
+ "pre_ready_extract_trials": 2.0,
44
+ "pre_ready_wait_extract_success": 0.0,
45
+ "pre_ready_wait_trials": 2.0,
46
+ "post_ready_extract_success": 2.0,
47
+ "post_ready_extract_trials": 2.0,
48
+ "post_ready_open_more_low_gain": 2.0,
49
+ "post_ready_open_more_trials": 2.0,
50
+ "post_ready_hold_open_low_gain": 2.0,
51
+ "post_ready_hold_open_trials": 2.0
52
+ },
53
+ "median_metrics": {
54
+ "num_dense_frames": 329.0,
55
+ "num_keyframes": 14.0,
56
+ "phase_switch_rises": 1.0,
57
+ "phase_switch_falls": 0.0,
58
+ "ppre_cross_frame": 216.0,
59
+ "pext_cross_frame": 232.0,
60
+ "phase_cross_frame": 214.0,
61
+ "retrieve_cross_frame": 215.0,
62
+ "ready_cross_frame": 234.0,
63
+ "dense_boundary_error_to_retrieve_frames": 1.0,
64
+ "dense_boundary_error_frames": 20.0,
65
+ "dense_boundary_error_fraction": 0.060790273556231005,
66
+ "key_boundary_error_to_retrieve_keyframes": 0.0,
67
+ "key_boundary_error_keyframes": 0.0,
68
+ "auroc_vret_ypre_three": 0.25,
69
+ "auprc_vret_ypre_three": 0.24826186034776737,
70
+ "auroc_vret_ypre_full": 0.25,
71
+ "auprc_vret_ypre_full": 0.2470367977331313,
72
+ "auroc_ppre_ypre": 1.0,
73
+ "auprc_ppre_ypre": 1.0,
74
+ "auroc_pext_yext": 1.0,
75
+ "auprc_pext_yext": 1.0,
76
+ "auroc_phase_yretrieve": 1.0,
77
+ "auprc_phase_yretrieve": 1.0,
78
+ "f1_phase_yretrieve": 0.9956331877729258,
79
+ "auroc_phase_yready": 0.9982456140350877,
80
+ "auprc_phase_yready": 0.9955174255664128,
81
+ "f1_phase_yready": 0.9047619047619047,
82
+ "baseline_auroc_door_yext": 0.0,
83
+ "baseline_auprc_door_yext": 0.16605628948799386,
84
+ "baseline_auroc_time_yext": 1.0,
85
+ "baseline_auprc_time_yext": 1.0,
86
+ "baseline_auroc_whole_vis_yext": 0.030927835051546393,
87
+ "baseline_auprc_whole_vis_yext": 0.16672328515787038,
88
+ "pre_ready_open_more_increases_pext": 2.0,
89
+ "pre_ready_open_more_trials": 2.0,
90
+ "pre_ready_hold_open_increases_pext": 0.0,
91
+ "pre_ready_hold_open_trials": 2.0,
92
+ "pre_ready_extract_success": 0.0,
93
+ "pre_ready_extract_trials": 2.0,
94
+ "pre_ready_wait_extract_success": 0.0,
95
+ "pre_ready_wait_trials": 2.0,
96
+ "post_ready_extract_success": 2.0,
97
+ "post_ready_extract_trials": 2.0,
98
+ "post_ready_open_more_low_gain": 2.0,
99
+ "post_ready_open_more_trials": 2.0,
100
+ "post_ready_hold_open_low_gain": 2.0,
101
+ "post_ready_hold_open_trials": 2.0
102
+ },
103
+ "single_switch_rate": 1.0,
104
+ "reversion_rate": 0.0,
105
+ "ordering_ok_rate": 1.0
106
+ }
artifacts/results/oven_episode0_iter16_gif_suite/templates.json ADDED
@@ -0,0 +1,234 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "templates": {
3
+ "approach_rel_poses": [
4
+ [
5
+ -0.3625197505146321,
6
+ 0.08372429131714548,
7
+ 0.13691903626392898,
8
+ 0.6416348447407467,
9
+ 0.6410872565393582,
10
+ 0.29868034011062794,
11
+ 0.2968196589661076
12
+ ],
13
+ [
14
+ -0.32979445983162176,
15
+ 0.08659364792515764,
16
+ 0.12045077578809749,
17
+ 0.6287469690798895,
18
+ 0.6287301318727057,
19
+ 0.3243430018231259,
20
+ 0.32276506520462594
21
+ ],
22
+ [
23
+ -0.2910925493361141,
24
+ 0.08985276158129711,
25
+ 0.10101096601604831,
26
+ 0.6124184244028302,
27
+ 0.6122709767290938,
28
+ 0.35430518709849695,
29
+ 0.35289624381998647
30
+ ],
31
+ [
32
+ -0.244818538450706,
33
+ 0.09371070170750202,
34
+ 0.07770067425331129,
35
+ 0.5909841767637374,
36
+ 0.5908549510320831,
37
+ 0.3889344056030255,
38
+ 0.38776043866540033
39
+ ],
40
+ [
41
+ -0.19036243621330934,
42
+ 0.09824358579289771,
43
+ 0.04990667629200307,
44
+ 0.5635900638946065,
45
+ 0.5631538374566398,
46
+ 0.4277702591171187,
47
+ 0.4268917903310006
48
+ ],
49
+ [
50
+ -0.12217129631756263,
51
+ 0.09345070134195246,
52
+ -0.006546997831216039,
53
+ 0.5503450945485194,
54
+ 0.5264249147312487,
55
+ 0.4450459711257041,
56
+ 0.47109571176286236
57
+ ],
58
+ [
59
+ -0.11087643306877748,
60
+ 0.09014108451750254,
61
+ -0.031580235354697894,
62
+ 0.5622041544757288,
63
+ 0.5226343775452266,
64
+ 0.43323659021636735,
65
+ 0.472319651291199
66
+ ]
67
+ ],
68
+ "pregrasp_rel_pose": [
69
+ -0.12217129631756263,
70
+ 0.09345070134195246,
71
+ -0.006546997831216039,
72
+ 0.5503450945485194,
73
+ 0.5264249147312487,
74
+ 0.4450459711257041,
75
+ 0.47109571176286236
76
+ ],
77
+ "grasp_rel_pose": [
78
+ -0.09865615619553114,
79
+ 0.09471180553609355,
80
+ -0.023587008474192483,
81
+ 0.5452601219922814,
82
+ 0.5150377871073674,
83
+ 0.45379910210390734,
84
+ 0.48113808012481835
85
+ ],
86
+ "retreat_rel_poses": [
87
+ [
88
+ 0.2548525929450989,
89
+ 0.23748670518398285,
90
+ 0.292730450630188,
91
+ 0.3300291728725241,
92
+ 0.627796734434498,
93
+ 0.6244628081014154,
94
+ 0.3271058033489361
95
+ ],
96
+ [
97
+ 0.22123366594314575,
98
+ 0.20692090690135956,
99
+ 0.3001290559768677,
100
+ 0.3293369490711715,
101
+ 0.6272174893562581,
102
+ 0.6253236114995244,
103
+ 0.3272701879538016
104
+ ],
105
+ [
106
+ 0.17805954813957214,
107
+ 0.16776257753372192,
108
+ 0.3092261552810669,
109
+ 0.3292203946981642,
110
+ 0.627092205167199,
111
+ 0.6254558193462786,
112
+ 0.3273748859934127
113
+ ],
114
+ [
115
+ 0.132161945104599,
116
+ 0.1261904537677765,
117
+ 0.31862151622772217,
118
+ 0.32922833561062037,
119
+ 0.6270130163004302,
120
+ 0.6255370861132601,
121
+ 0.32736330630941085
122
+ ],
123
+ [
124
+ 0.05666536092758179,
125
+ 0.058310166001319885,
126
+ 0.33417391777038574,
127
+ 0.3290531759368521,
128
+ 0.6267400620289424,
129
+ 0.6259557840834131,
130
+ 0.3272617582705744
131
+ ],
132
+ [
133
+ 0.0558415949344635,
134
+ 0.05751470848917961,
135
+ 0.3844491243362427,
136
+ 0.32944931283048395,
137
+ 0.6271554580797323,
138
+ 0.6255767695203596,
139
+ 0.3267918100454689
140
+ ],
141
+ [
142
+ 0.05576580762863159,
143
+ 0.053012214601039886,
144
+ 0.5137358903884888,
145
+ 0.3352571906446373,
146
+ 0.6275228042160846,
147
+ 0.6205178281888475,
148
+ 0.329811114442256
149
+ ],
150
+ [
151
+ 0.05594903230667114,
152
+ 0.05725332349538803,
153
+ 0.6016567945480347,
154
+ 0.3290406683903203,
155
+ 0.6269357648722236,
156
+ 0.625839814295268,
157
+ 0.3271212498634039
158
+ ],
159
+ [
160
+ 0.11017268896102905,
161
+ 0.09445947408676147,
162
+ 0.6008111238479614,
163
+ 0.3295905054305836,
164
+ 0.6274618621218736,
165
+ 0.6252874250360436,
166
+ 0.3266149819043174
167
+ ],
168
+ [
169
+ 0.1597837209701538,
170
+ 0.1288578361272812,
171
+ 0.6011183261871338,
172
+ 0.3293548308249215,
173
+ 0.627458650421648,
174
+ 0.6253267712318655,
175
+ 0.32678351642036935
176
+ ],
177
+ [
178
+ 0.19115081429481506,
179
+ 0.15017743408679962,
180
+ 0.6012866497039795,
181
+ 0.3296702831570499,
182
+ 0.6273651178974856,
183
+ 0.6251746471824625,
184
+ 0.3269360392628933
185
+ ]
186
+ ],
187
+ "grasp_local_center": [
188
+ -0.09865615619553109,
189
+ 0.09471180553609354,
190
+ -0.02358700847419226
191
+ ],
192
+ "grasp_region_extents": [
193
+ 0.03,
194
+ 0.015,
195
+ 0.004
196
+ ],
197
+ "hold_open_angle": 0.7285879850387573,
198
+ "open_more_delta": 0.12,
199
+ "reference_tray_height": 1.0472617149353027,
200
+ "mask_handle_ids": [
201
+ 163
202
+ ]
203
+ },
204
+ "template_episode": "episode0",
205
+ "template_frames": {
206
+ "pregrasp": 229,
207
+ "grasp": 234,
208
+ "right_close": 91,
209
+ "right_open": 130,
210
+ "approach": [
211
+ 177,
212
+ 187,
213
+ 197,
214
+ 208,
215
+ 218,
216
+ 229,
217
+ 232
218
+ ],
219
+ "retreat": [
220
+ 239,
221
+ 244,
222
+ 249,
223
+ 254,
224
+ 264,
225
+ 274,
226
+ 284,
227
+ 295,
228
+ 305,
229
+ 310,
230
+ 315
231
+ ]
232
+ },
233
+ "episode_offset": 0
234
+ }
code/rr_label_study/oven_study.py CHANGED
@@ -53,6 +53,7 @@ DEFAULT_DOOR_SPEED_TAU = 0.08
53
  DEFAULT_PHASE_SCORE_TAU = 0.5
54
  DEFAULT_APPROACH_SPEED_TAU = 0.01
55
  DEFAULT_APPROACH_PROGRESS_TAU = 0.02
 
56
  DEFAULT_APPROACH_ONSET_WINDOW = 96
57
  DEFAULT_PREGRASP_CANDIDATE_COUNT = 4
58
  DEFAULT_PLAN_TRIALS = 48
@@ -63,6 +64,7 @@ DEFAULT_PLAN_ATTEMPTS = 2
63
  DEFAULT_PLAN_MIN_SUCCESSES = 2
64
  DEFAULT_READY_PERSISTENCE = 3
65
  DEFAULT_RETRIEVE_PERSISTENCE = 3
 
66
  DEFAULT_MASK_HANDLE_COUNT = 2
67
 
68
 
@@ -1013,16 +1015,61 @@ def _pregrasp_score_and_success(task, templates: MotionTemplates) -> Tuple[float
1013
  current_pose, tray_pose, templates
1014
  )
1015
  best = progress
1016
- success = distance_to_pregrasp <= 0.08 or progress >= 0.50
1017
- for pose in _pregrasp_candidates(tray_pose, templates):
1018
- proximity = math.exp(-float(np.linalg.norm(current_pose[:3] - pose[:3])) / 0.09)
1019
- best = max(best, 0.7 * progress + 0.3 * proximity)
1020
- path = _plan_path(task._scene, "left", pose, ignore_collisions=False)
1021
- length = _path_length(path)
1022
- if np.isfinite(length):
1023
- success = True
1024
- planner_score = math.exp(-length / DEFAULT_PATH_SCALE)
1025
- best = max(best, 0.6 * progress + 0.25 * planner_score + 0.15 * proximity)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1026
  return best, success
1027
 
1028
 
@@ -1202,6 +1249,8 @@ def _compute_frame_rows_sequential(
1202
  "pregrasp_distance": pregrasp_distance,
1203
  "p_pre": p_pre,
1204
  "p_ext": p_ext,
 
 
1205
  "y_pre": float(bool(y_pre)),
1206
  "y_ext": float(bool(y_ext)),
1207
  **visibility,
@@ -1267,8 +1316,11 @@ def _annotate_phase_columns(frame_df: pd.DataFrame) -> pd.DataFrame:
1267
  door_speed = np.gradient(frame_df["door_angle"].to_numpy(dtype=float), DEMO_DT)
1268
  frame_df["door_speed_abs"] = np.abs(door_speed)
1269
 
1270
- y_pre_binary = frame_df["y_pre"].to_numpy(dtype=bool)
1271
- y_ext_binary = frame_df["y_ext"].to_numpy(dtype=bool)
 
 
 
1272
  pregrasp_progress = (
1273
  frame_df["pregrasp_progress"].to_numpy(dtype=float)
1274
  if "pregrasp_progress" in frame_df
@@ -1282,6 +1334,17 @@ def _annotate_phase_columns(frame_df: pd.DataFrame) -> pd.DataFrame:
1282
  pregrasp_speed = -np.gradient(pregrasp_distance, DEMO_DT)
1283
  frame_df["pregrasp_speed"] = pregrasp_speed
1284
 
 
 
 
 
 
 
 
 
 
 
 
1285
  frame_df["phase_score"] = np.clip(
1286
  0.7 * pregrasp_progress + 0.3 * frame_df["p_pre"].to_numpy(dtype=float),
1287
  0.0,
@@ -1563,6 +1626,8 @@ def _analyze_episode(
1563
  "pregrasp_distance": pregrasp_distance,
1564
  "p_pre": p_pre,
1565
  "p_ext": p_ext,
 
 
1566
  "y_pre": float(bool(y_pre)),
1567
  "y_ext": float(bool(y_ext)),
1568
  **visibility,
@@ -1632,6 +1697,7 @@ def run_study(
1632
  max_frames: Optional[int] = None,
1633
  episode_offset: int = 0,
1634
  template_episode_index: int = 0,
 
1635
  independent_replay: bool = False,
1636
  ) -> Dict[str, object]:
1637
  dataset_path = Path(dataset_root)
@@ -1646,12 +1712,31 @@ def run_study(
1646
  f"template_episode_index {template_episode_index} outside available range 0..{len(all_episode_dirs) - 1}"
1647
  )
1648
 
1649
- episode_dirs = all_episode_dirs[episode_offset:]
1650
- if max_episodes is not None:
1651
- episode_dirs = episode_dirs[:max_episodes]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1652
  if not episode_dirs:
1653
  raise RuntimeError(
1654
- f"no episodes selected under {dataset_root} with offset={episode_offset} max_episodes={max_episodes}"
1655
  )
1656
 
1657
  template_episode_dir = all_episode_dirs[template_episode_index]
@@ -1663,6 +1748,7 @@ def run_study(
1663
  "template_episode": template_episode_dir.name,
1664
  "template_frames": template_frames,
1665
  "episode_offset": episode_offset,
 
1666
  },
1667
  handle,
1668
  indent=2,
@@ -1696,6 +1782,17 @@ def run_study(
1696
 
1697
 
1698
  def main(argv: Optional[Sequence[str]] = None) -> int:
 
 
 
 
 
 
 
 
 
 
 
1699
  parser = argparse.ArgumentParser()
1700
  parser.add_argument(
1701
  "--dataset-root",
@@ -1710,6 +1807,7 @@ def main(argv: Optional[Sequence[str]] = None) -> int:
1710
  parser.add_argument("--max-frames", type=int)
1711
  parser.add_argument("--episode-offset", type=int, default=0)
1712
  parser.add_argument("--template-episode-index", type=int, default=0)
 
1713
  parser.add_argument("--independent-replay", action="store_true")
1714
  args = parser.parse_args(argv)
1715
 
@@ -1721,6 +1819,7 @@ def main(argv: Optional[Sequence[str]] = None) -> int:
1721
  max_frames=args.max_frames,
1722
  episode_offset=args.episode_offset,
1723
  template_episode_index=args.template_episode_index,
 
1724
  independent_replay=args.independent_replay,
1725
  )
1726
  print(json.dumps(summary, indent=2))
 
53
  DEFAULT_PHASE_SCORE_TAU = 0.5
54
  DEFAULT_APPROACH_SPEED_TAU = 0.01
55
  DEFAULT_APPROACH_PROGRESS_TAU = 0.02
56
+ DEFAULT_PREGRASP_LABEL_PROGRESS_TAU = 0.60
57
  DEFAULT_APPROACH_ONSET_WINDOW = 96
58
  DEFAULT_PREGRASP_CANDIDATE_COUNT = 4
59
  DEFAULT_PLAN_TRIALS = 48
 
64
  DEFAULT_PLAN_MIN_SUCCESSES = 2
65
  DEFAULT_READY_PERSISTENCE = 3
66
  DEFAULT_RETRIEVE_PERSISTENCE = 3
67
+ DEFAULT_PREGRASP_PERSISTENCE = 3
68
  DEFAULT_MASK_HANDLE_COUNT = 2
69
 
70
 
 
1015
  current_pose, tray_pose, templates
1016
  )
1017
  best = progress
1018
+ success = False
1019
+ late_approach_poses = [
1020
+ _apply_relative_pose(tray_pose, rel_pose)
1021
+ for rel_pose in templates.approach_rel_poses[-min(1, len(templates.approach_rel_poses)) :]
1022
+ ]
1023
+ corridor_targets = _dedupe_pose_list(late_approach_poses)
1024
+ if not corridor_targets:
1025
+ corridor_targets = [_apply_relative_pose(tray_pose, templates.pregrasp_rel_pose)]
1026
+
1027
+ snapshot = _capture_snapshot(task)
1028
+ try:
1029
+ for start_index, start_pose in enumerate(corridor_targets):
1030
+ start_distance = float(np.linalg.norm(current_pose[:3] - start_pose[:3]))
1031
+ if start_index > 0 and start_distance > 0.08:
1032
+ continue
1033
+
1034
+ _restore_snapshot(task, snapshot)
1035
+ stage_scores: List[float] = []
1036
+ reliable_stage_count = 0
1037
+ stage_success = True
1038
+
1039
+ for target_pose in corridor_targets[start_index:]:
1040
+ live_pose = np.asarray(task._scene.robot.left_gripper.get_pose(), dtype=np.float64)
1041
+ proximity = math.exp(-float(np.linalg.norm(live_pose[:3] - target_pose[:3])) / 0.09)
1042
+ path, length, reliability = _stable_plan(
1043
+ task._scene,
1044
+ "left",
1045
+ target_pose,
1046
+ ignore_collisions=False,
1047
+ )
1048
+ if path is None or not np.isfinite(length):
1049
+ stage_scores.append(0.25 * proximity)
1050
+ stage_success = False
1051
+ break
1052
+
1053
+ planner_score = reliability * math.exp(-length / DEFAULT_PATH_SCALE)
1054
+ stage_scores.append(0.7 * planner_score + 0.3 * proximity)
1055
+ if not _plan_is_reliable(reliability):
1056
+ stage_success = False
1057
+ break
1058
+
1059
+ path.set_to_end(disable_dynamics=True)
1060
+ task._pyrep.step()
1061
+ reliable_stage_count += 1
1062
+
1063
+ if stage_scores:
1064
+ normalized_stage_score = float(np.mean(stage_scores))
1065
+ best = max(best, 0.35 * progress + 0.65 * normalized_stage_score)
1066
+ else:
1067
+ best = max(best, 0.75 * progress)
1068
+
1069
+ if stage_success and reliable_stage_count == len(corridor_targets[start_index:]):
1070
+ success = True
1071
+ finally:
1072
+ _restore_snapshot(task, snapshot)
1073
  return best, success
1074
 
1075
 
 
1249
  "pregrasp_distance": pregrasp_distance,
1250
  "p_pre": p_pre,
1251
  "p_ext": p_ext,
1252
+ "y_pre_raw": float(bool(y_pre)),
1253
+ "y_ext_raw": float(bool(y_ext)),
1254
  "y_pre": float(bool(y_pre)),
1255
  "y_ext": float(bool(y_ext)),
1256
  **visibility,
 
1316
  door_speed = np.gradient(frame_df["door_angle"].to_numpy(dtype=float), DEMO_DT)
1317
  frame_df["door_speed_abs"] = np.abs(door_speed)
1318
 
1319
+ y_ext_raw = (
1320
+ frame_df["y_ext_raw"].to_numpy(dtype=bool)
1321
+ if "y_ext_raw" in frame_df
1322
+ else frame_df["y_ext"].to_numpy(dtype=bool)
1323
+ )
1324
  pregrasp_progress = (
1325
  frame_df["pregrasp_progress"].to_numpy(dtype=float)
1326
  if "pregrasp_progress" in frame_df
 
1334
  pregrasp_speed = -np.gradient(pregrasp_distance, DEMO_DT)
1335
  frame_df["pregrasp_speed"] = pregrasp_speed
1336
 
1337
+ y_pre_seed = pregrasp_progress >= DEFAULT_PREGRASP_LABEL_PROGRESS_TAU
1338
+ y_pre_binary = _monotone_after_first(
1339
+ _persistent_rise_mask(y_pre_seed, DEFAULT_PREGRASP_PERSISTENCE)
1340
+ )
1341
+ y_ext_binary = _monotone_after_first(
1342
+ _persistent_rise_mask(y_ext_raw, DEFAULT_READY_PERSISTENCE)
1343
+ )
1344
+ frame_df["y_pre_progress_seed"] = y_pre_seed.astype(float)
1345
+ frame_df["y_pre"] = y_pre_binary.astype(float)
1346
+ frame_df["y_ext"] = y_ext_binary.astype(float)
1347
+
1348
  frame_df["phase_score"] = np.clip(
1349
  0.7 * pregrasp_progress + 0.3 * frame_df["p_pre"].to_numpy(dtype=float),
1350
  0.0,
 
1626
  "pregrasp_distance": pregrasp_distance,
1627
  "p_pre": p_pre,
1628
  "p_ext": p_ext,
1629
+ "y_pre_raw": float(bool(y_pre)),
1630
+ "y_ext_raw": float(bool(y_ext)),
1631
  "y_pre": float(bool(y_pre)),
1632
  "y_ext": float(bool(y_ext)),
1633
  **visibility,
 
1697
  max_frames: Optional[int] = None,
1698
  episode_offset: int = 0,
1699
  template_episode_index: int = 0,
1700
+ episode_indices: Optional[Sequence[int]] = None,
1701
  independent_replay: bool = False,
1702
  ) -> Dict[str, object]:
1703
  dataset_path = Path(dataset_root)
 
1712
  f"template_episode_index {template_episode_index} outside available range 0..{len(all_episode_dirs) - 1}"
1713
  )
1714
 
1715
+ selected_episode_indices: List[int]
1716
+ if episode_indices is not None:
1717
+ selected_episode_indices = []
1718
+ seen_episode_indices = set()
1719
+ for raw_index in episode_indices:
1720
+ episode_index = int(raw_index)
1721
+ if not (0 <= episode_index < len(all_episode_dirs)):
1722
+ raise ValueError(
1723
+ f"episode index {episode_index} outside available range 0..{len(all_episode_dirs) - 1}"
1724
+ )
1725
+ if episode_index in seen_episode_indices:
1726
+ continue
1727
+ selected_episode_indices.append(episode_index)
1728
+ seen_episode_indices.add(episode_index)
1729
+ episode_dirs = [all_episode_dirs[index] for index in selected_episode_indices]
1730
+ else:
1731
+ episode_dirs = all_episode_dirs[episode_offset:]
1732
+ if max_episodes is not None:
1733
+ episode_dirs = episode_dirs[:max_episodes]
1734
+ selected_episode_indices = [
1735
+ all_episode_dirs.index(episode_dir) for episode_dir in episode_dirs
1736
+ ]
1737
  if not episode_dirs:
1738
  raise RuntimeError(
1739
+ f"no episodes selected under {dataset_root} with offset={episode_offset} max_episodes={max_episodes} episode_indices={episode_indices}"
1740
  )
1741
 
1742
  template_episode_dir = all_episode_dirs[template_episode_index]
 
1748
  "template_episode": template_episode_dir.name,
1749
  "template_frames": template_frames,
1750
  "episode_offset": episode_offset,
1751
+ "selected_episode_indices": selected_episode_indices,
1752
  },
1753
  handle,
1754
  indent=2,
 
1782
 
1783
 
1784
  def main(argv: Optional[Sequence[str]] = None) -> int:
1785
+ def _parse_episode_indices(value: str) -> List[int]:
1786
+ indices: List[int] = []
1787
+ for chunk in value.split(","):
1788
+ chunk = chunk.strip()
1789
+ if not chunk:
1790
+ continue
1791
+ indices.append(int(chunk))
1792
+ if not indices:
1793
+ raise argparse.ArgumentTypeError("episode-indices must contain at least one integer")
1794
+ return indices
1795
+
1796
  parser = argparse.ArgumentParser()
1797
  parser.add_argument(
1798
  "--dataset-root",
 
1807
  parser.add_argument("--max-frames", type=int)
1808
  parser.add_argument("--episode-offset", type=int, default=0)
1809
  parser.add_argument("--template-episode-index", type=int, default=0)
1810
+ parser.add_argument("--episode-indices", type=_parse_episode_indices)
1811
  parser.add_argument("--independent-replay", action="store_true")
1812
  args = parser.parse_args(argv)
1813
 
 
1819
  max_frames=args.max_frames,
1820
  episode_offset=args.episode_offset,
1821
  template_episode_index=args.template_episode_index,
1822
+ episode_indices=args.episode_indices,
1823
  independent_replay=args.independent_replay,
1824
  )
1825
  print(json.dumps(summary, indent=2))
code/scripts/launch_parallel_oven_label_study.py CHANGED
@@ -7,35 +7,72 @@ import subprocess
7
  import sys
8
  import time
9
  from pathlib import Path
10
- from typing import Dict, List, Optional, Tuple
11
 
12
 
13
  PROJECT_ROOT = Path(__file__).resolve().parents[1]
14
  if str(PROJECT_ROOT) not in sys.path:
15
  sys.path.insert(0, str(PROJECT_ROOT))
16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  from rr_label_study.oven_study import _aggregate_summary, _episode_dirs
18
 
19
 
20
- def _chunk_specs(
21
  total_episodes: int,
22
  episode_offset: int,
23
  max_episodes: Optional[int],
24
- num_workers: int,
25
- ) -> List[Tuple[int, int]]:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  remaining = max(0, total_episodes - episode_offset)
27
  if max_episodes is not None:
28
  remaining = min(remaining, max_episodes)
29
  if remaining <= 0:
30
  return []
31
- worker_count = min(num_workers, remaining)
32
- chunk_size = math.ceil(remaining / worker_count)
33
- specs: List[Tuple[int, int]] = []
 
 
 
 
 
 
 
 
 
34
  for worker_index in range(worker_count):
35
- start = episode_offset + worker_index * chunk_size
36
- count = min(chunk_size, episode_offset + remaining - start)
37
- if count > 0:
38
- specs.append((start, count))
39
  return specs
40
 
41
 
@@ -63,12 +100,12 @@ def _launch_worker(
63
  worker_dir: Path,
64
  display_num: int,
65
  dataset_root: str,
66
- episode_offset: int,
67
- max_episodes: int,
68
  checkpoint_stride: int,
69
  template_episode_index: int,
70
  max_frames: Optional[int],
71
  independent_replay: bool,
 
72
  ) -> Tuple[subprocess.Popen, subprocess.Popen]:
73
  worker_dir.mkdir(parents=True, exist_ok=True)
74
  xvfb = _launch_xvfb(display_num, worker_dir.joinpath("xvfb.log"))
@@ -84,14 +121,12 @@ def _launch_worker(
84
  dataset_root,
85
  "--result-dir",
86
  str(worker_dir),
87
- "--episode-offset",
88
- str(episode_offset),
89
- "--max-episodes",
90
- str(max_episodes),
91
  "--checkpoint-stride",
92
  str(checkpoint_stride),
93
  "--template-episode-index",
94
  str(template_episode_index),
 
 
95
  ]
96
  if max_frames is not None:
97
  command.extend(["--max-frames", str(max_frames)])
@@ -101,6 +136,22 @@ def _launch_worker(
101
  env = os.environ.copy()
102
  env["DISPLAY"] = f":{display_num}"
103
  env["XDG_RUNTIME_DIR"] = str(runtime_dir)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
 
105
  worker_log = worker_dir.joinpath("worker.log").open("w", encoding="utf-8")
106
  process = subprocess.Popen(
@@ -155,15 +206,27 @@ def main(argv: Optional[List[str]] = None) -> int:
155
  parser.add_argument("--template-episode-index", type=int, default=0)
156
  parser.add_argument("--base-display", type=int, default=110)
157
  parser.add_argument("--max-frames", type=int)
 
 
 
158
  parser.add_argument("--independent-replay", action="store_true")
159
  args = parser.parse_args(argv)
160
 
161
  dataset_root = Path(args.dataset_root)
162
  all_episodes = _episode_dirs(dataset_root)
163
- chunk_specs = _chunk_specs(
 
 
 
 
 
164
  total_episodes=len(all_episodes),
165
  episode_offset=args.episode_offset,
166
  max_episodes=args.max_episodes,
 
 
 
 
167
  num_workers=args.num_workers,
168
  )
169
  if not chunk_specs:
@@ -175,29 +238,30 @@ def main(argv: Optional[List[str]] = None) -> int:
175
  workers: List[Tuple[subprocess.Popen, subprocess.Popen]] = []
176
  worker_meta: List[Dict[str, object]] = []
177
  try:
178
- for worker_index, (episode_offset, episode_count) in enumerate(chunk_specs):
179
  display_num = args.base_display + worker_index
180
  worker_dir = result_dir.joinpath(f"worker_{worker_index:02d}")
181
  xvfb, process = _launch_worker(
182
  worker_dir=worker_dir,
183
  display_num=display_num,
184
  dataset_root=args.dataset_root,
185
- episode_offset=episode_offset,
186
- max_episodes=episode_count,
187
  checkpoint_stride=args.checkpoint_stride,
188
  template_episode_index=args.template_episode_index,
189
  max_frames=args.max_frames,
190
  independent_replay=args.independent_replay,
 
191
  )
192
  workers.append((xvfb, process))
193
  worker_meta.append(
194
  {
195
  "worker_index": worker_index,
196
  "display_num": display_num,
197
- "episode_offset": episode_offset,
198
- "episode_count": episode_count,
199
  }
200
  )
 
 
201
 
202
  for meta, (_, process) in zip(worker_meta, workers):
203
  return_code = process.wait()
 
7
  import sys
8
  import time
9
  from pathlib import Path
10
+ from typing import Dict, List, Optional, Sequence, Tuple
11
 
12
 
13
  PROJECT_ROOT = Path(__file__).resolve().parents[1]
14
  if str(PROJECT_ROOT) not in sys.path:
15
  sys.path.insert(0, str(PROJECT_ROOT))
16
 
17
+
18
+ def _configure_coppeliasim_env() -> None:
19
+ coppeliasim_root = os.environ.setdefault("COPPELIASIM_ROOT", "/workspace/coppelia_sim")
20
+ ld_library_path_parts = [
21
+ part for part in os.environ.get("LD_LIBRARY_PATH", "").split(":") if part
22
+ ]
23
+ if coppeliasim_root not in ld_library_path_parts:
24
+ ld_library_path_parts.insert(0, coppeliasim_root)
25
+ os.environ["LD_LIBRARY_PATH"] = ":".join(ld_library_path_parts)
26
+
27
+
28
+ _configure_coppeliasim_env()
29
+
30
  from rr_label_study.oven_study import _aggregate_summary, _episode_dirs
31
 
32
 
33
+ def _select_episode_indices(
34
  total_episodes: int,
35
  episode_offset: int,
36
  max_episodes: Optional[int],
37
+ episode_indices: Optional[Sequence[int]],
38
+ ) -> List[int]:
39
+ if episode_indices is not None:
40
+ selected: List[int] = []
41
+ seen = set()
42
+ for raw_index in episode_indices:
43
+ episode_index = int(raw_index)
44
+ if not (0 <= episode_index < total_episodes):
45
+ raise ValueError(
46
+ f"episode index {episode_index} outside available range 0..{total_episodes - 1}"
47
+ )
48
+ if episode_index in seen:
49
+ continue
50
+ selected.append(episode_index)
51
+ seen.add(episode_index)
52
+ return selected
53
+
54
  remaining = max(0, total_episodes - episode_offset)
55
  if max_episodes is not None:
56
  remaining = min(remaining, max_episodes)
57
  if remaining <= 0:
58
  return []
59
+ return list(range(episode_offset, episode_offset + remaining))
60
+
61
+
62
+ def _chunk_episode_indices(
63
+ episode_indices: Sequence[int],
64
+ num_workers: int,
65
+ ) -> List[List[int]]:
66
+ if not episode_indices:
67
+ return []
68
+ worker_count = min(num_workers, len(episode_indices))
69
+ chunk_size = math.ceil(len(episode_indices) / worker_count)
70
+ specs: List[List[int]] = []
71
  for worker_index in range(worker_count):
72
+ start = worker_index * chunk_size
73
+ chunk = list(episode_indices[start : start + chunk_size])
74
+ if chunk:
75
+ specs.append(chunk)
76
  return specs
77
 
78
 
 
100
  worker_dir: Path,
101
  display_num: int,
102
  dataset_root: str,
103
+ episode_indices: Sequence[int],
 
104
  checkpoint_stride: int,
105
  template_episode_index: int,
106
  max_frames: Optional[int],
107
  independent_replay: bool,
108
+ thread_count: int,
109
  ) -> Tuple[subprocess.Popen, subprocess.Popen]:
110
  worker_dir.mkdir(parents=True, exist_ok=True)
111
  xvfb = _launch_xvfb(display_num, worker_dir.joinpath("xvfb.log"))
 
121
  dataset_root,
122
  "--result-dir",
123
  str(worker_dir),
 
 
 
 
124
  "--checkpoint-stride",
125
  str(checkpoint_stride),
126
  "--template-episode-index",
127
  str(template_episode_index),
128
+ "--episode-indices",
129
+ ",".join(str(index) for index in episode_indices),
130
  ]
131
  if max_frames is not None:
132
  command.extend(["--max-frames", str(max_frames)])
 
136
  env = os.environ.copy()
137
  env["DISPLAY"] = f":{display_num}"
138
  env["XDG_RUNTIME_DIR"] = str(runtime_dir)
139
+ env["PYTHONUNBUFFERED"] = "1"
140
+ coppeliasim_root = env.get("COPPELIASIM_ROOT", "/workspace/coppelia_sim")
141
+ env["COPPELIASIM_ROOT"] = coppeliasim_root
142
+ ld_library_path_parts = [
143
+ part for part in env.get("LD_LIBRARY_PATH", "").split(":") if part
144
+ ]
145
+ if coppeliasim_root not in ld_library_path_parts:
146
+ ld_library_path_parts.insert(0, coppeliasim_root)
147
+ env["LD_LIBRARY_PATH"] = ":".join(ld_library_path_parts)
148
+ thread_count_str = str(thread_count)
149
+ env["OMP_NUM_THREADS"] = thread_count_str
150
+ env["OPENBLAS_NUM_THREADS"] = thread_count_str
151
+ env["MKL_NUM_THREADS"] = thread_count_str
152
+ env["NUMEXPR_NUM_THREADS"] = thread_count_str
153
+ env["VECLIB_MAXIMUM_THREADS"] = thread_count_str
154
+ env["BLIS_NUM_THREADS"] = thread_count_str
155
 
156
  worker_log = worker_dir.joinpath("worker.log").open("w", encoding="utf-8")
157
  process = subprocess.Popen(
 
206
  parser.add_argument("--template-episode-index", type=int, default=0)
207
  parser.add_argument("--base-display", type=int, default=110)
208
  parser.add_argument("--max-frames", type=int)
209
+ parser.add_argument("--episode-indices")
210
+ parser.add_argument("--thread-count", type=int, default=1)
211
+ parser.add_argument("--stagger-seconds", type=float, default=0.5)
212
  parser.add_argument("--independent-replay", action="store_true")
213
  args = parser.parse_args(argv)
214
 
215
  dataset_root = Path(args.dataset_root)
216
  all_episodes = _episode_dirs(dataset_root)
217
+ explicit_episode_indices = None
218
+ if args.episode_indices:
219
+ explicit_episode_indices = [
220
+ int(chunk.strip()) for chunk in args.episode_indices.split(",") if chunk.strip()
221
+ ]
222
+ selected_episode_indices = _select_episode_indices(
223
  total_episodes=len(all_episodes),
224
  episode_offset=args.episode_offset,
225
  max_episodes=args.max_episodes,
226
+ episode_indices=explicit_episode_indices,
227
+ )
228
+ chunk_specs = _chunk_episode_indices(
229
+ episode_indices=selected_episode_indices,
230
  num_workers=args.num_workers,
231
  )
232
  if not chunk_specs:
 
238
  workers: List[Tuple[subprocess.Popen, subprocess.Popen]] = []
239
  worker_meta: List[Dict[str, object]] = []
240
  try:
241
+ for worker_index, worker_episode_indices in enumerate(chunk_specs):
242
  display_num = args.base_display + worker_index
243
  worker_dir = result_dir.joinpath(f"worker_{worker_index:02d}")
244
  xvfb, process = _launch_worker(
245
  worker_dir=worker_dir,
246
  display_num=display_num,
247
  dataset_root=args.dataset_root,
248
+ episode_indices=worker_episode_indices,
 
249
  checkpoint_stride=args.checkpoint_stride,
250
  template_episode_index=args.template_episode_index,
251
  max_frames=args.max_frames,
252
  independent_replay=args.independent_replay,
253
+ thread_count=args.thread_count,
254
  )
255
  workers.append((xvfb, process))
256
  worker_meta.append(
257
  {
258
  "worker_index": worker_index,
259
  "display_num": display_num,
260
+ "episode_indices": list(worker_episode_indices),
 
261
  }
262
  )
263
+ if args.stagger_seconds > 0:
264
+ time.sleep(args.stagger_seconds)
265
 
266
  for meta, (_, process) in zip(worker_meta, workers):
267
  return_code = process.wait()
code/scripts/render_oven_metric_frame.py CHANGED
@@ -119,7 +119,12 @@ def _draw_segmented_polyline(
119
  def _bar(draw: ImageDraw.ImageDraw, x: int, y: int, w: int, h: int, value: float, label: str, color: Tuple[int, int, int], threshold: Optional[float] = None) -> None:
120
  draw.text((x, y - 18), f"{label}: {value:.3f}", fill=(255, 255, 255), font=FONT_SM)
121
  draw.rounded_rectangle((x, y, x + w, y + h), radius=5, outline=(120, 120, 120), fill=(20, 20, 20))
122
- draw.rounded_rectangle((x, y, x + int(max(0.0, min(1.0, value)) * w), y + h), radius=5, fill=color)
 
 
 
 
 
123
  if threshold is not None:
124
  tx = x + int(max(0.0, min(1.0, threshold)) * w)
125
  draw.line((tx, y - 2, tx, y + h + 2), fill=(255, 255, 255), width=2)
@@ -450,6 +455,15 @@ def _save_if_requested(image: Image.Image, path: Optional[Path]) -> None:
450
  image.save(path)
451
 
452
 
 
 
 
 
 
 
 
 
 
453
  def main() -> int:
454
  parser = argparse.ArgumentParser()
455
  parser.add_argument("--episode-dir", required=True)
@@ -463,8 +477,7 @@ def main() -> int:
463
  args = parser.parse_args()
464
 
465
  episode_dir = Path(args.episode_dir)
466
- with Path(args.templates_pkl).open("rb") as handle:
467
- templates = pickle.load(handle)
468
  frame_df = pd.read_csv(args.dense_csv)
469
  if "frame_index" in frame_df.columns:
470
  matches = frame_df.loc[frame_df["frame_index"] == int(args.frame_index)]
 
119
  def _bar(draw: ImageDraw.ImageDraw, x: int, y: int, w: int, h: int, value: float, label: str, color: Tuple[int, int, int], threshold: Optional[float] = None) -> None:
120
  draw.text((x, y - 18), f"{label}: {value:.3f}", fill=(255, 255, 255), font=FONT_SM)
121
  draw.rounded_rectangle((x, y, x + w, y + h), radius=5, outline=(120, 120, 120), fill=(20, 20, 20))
122
+ filled_w = int(max(0.0, min(1.0, value)) * w)
123
+ if filled_w > 0:
124
+ if filled_w >= 12:
125
+ draw.rounded_rectangle((x, y, x + filled_w, y + h), radius=5, fill=color)
126
+ else:
127
+ draw.rectangle((x, y, x + filled_w, y + h), fill=color)
128
  if threshold is not None:
129
  tx = x + int(max(0.0, min(1.0, threshold)) * w)
130
  draw.line((tx, y - 2, tx, y + h + 2), fill=(255, 255, 255), width=2)
 
455
  image.save(path)
456
 
457
 
458
+ def _load_templates(path: Path) -> MotionTemplates:
459
+ if path.suffix.lower() == ".json":
460
+ with path.open("r", encoding="utf-8") as handle:
461
+ payload = json.load(handle)
462
+ return MotionTemplates.from_json(payload["templates"])
463
+ with path.open("rb") as handle:
464
+ return pickle.load(handle)
465
+
466
+
467
  def main() -> int:
468
  parser = argparse.ArgumentParser()
469
  parser.add_argument("--episode-dir", required=True)
 
477
  args = parser.parse_args()
478
 
479
  episode_dir = Path(args.episode_dir)
480
+ templates = _load_templates(Path(args.templates_pkl))
 
481
  frame_df = pd.read_csv(args.dense_csv)
482
  if "frame_index" in frame_df.columns:
483
  matches = frame_df.loc[frame_df["frame_index"] == int(args.frame_index)]
code/scripts/run_oven_label_study.py CHANGED
@@ -1,3 +1,4 @@
 
1
  from pathlib import Path
2
  import sys
3
 
@@ -6,6 +7,34 @@ PROJECT_ROOT = Path(__file__).resolve().parents[1]
6
  if str(PROJECT_ROOT) not in sys.path:
7
  sys.path.insert(0, str(PROJECT_ROOT))
8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  from rr_label_study.oven_study import main
10
 
11
 
 
1
+ import os
2
  from pathlib import Path
3
  import sys
4
 
 
7
  if str(PROJECT_ROOT) not in sys.path:
8
  sys.path.insert(0, str(PROJECT_ROOT))
9
 
10
+
11
+ def _configure_thread_env() -> None:
12
+ # Keep BLAS/OpenMP libraries from spawning machine-wide thread pools per worker.
13
+ defaults = {
14
+ "OMP_NUM_THREADS": "1",
15
+ "OPENBLAS_NUM_THREADS": "1",
16
+ "MKL_NUM_THREADS": "1",
17
+ "NUMEXPR_NUM_THREADS": "1",
18
+ "VECLIB_MAXIMUM_THREADS": "1",
19
+ "BLIS_NUM_THREADS": "1",
20
+ }
21
+ for key, value in defaults.items():
22
+ os.environ.setdefault(key, value)
23
+
24
+
25
+ def _configure_coppeliasim_env() -> None:
26
+ coppeliasim_root = os.environ.setdefault("COPPELIASIM_ROOT", "/workspace/coppelia_sim")
27
+ ld_library_path_parts = [
28
+ part for part in os.environ.get("LD_LIBRARY_PATH", "").split(":") if part
29
+ ]
30
+ if coppeliasim_root not in ld_library_path_parts:
31
+ ld_library_path_parts.insert(0, coppeliasim_root)
32
+ os.environ["LD_LIBRARY_PATH"] = ":".join(ld_library_path_parts)
33
+
34
+
35
+ _configure_thread_env()
36
+ _configure_coppeliasim_env()
37
+
38
  from rr_label_study.oven_study import main
39
 
40
 
code/scripts/status_parallel_oven_label_study.py ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import argparse
2
+ import json
3
+ import re
4
+ import subprocess
5
+ from pathlib import Path
6
+ from typing import Dict, List, Optional
7
+
8
+
9
+ def _active_worker_dirs(result_dir: Path) -> Dict[str, int]:
10
+ command = [
11
+ "pgrep",
12
+ "-af",
13
+ f"{result_dir}/worker_",
14
+ ]
15
+ try:
16
+ output = subprocess.check_output(command, text=True)
17
+ except subprocess.CalledProcessError:
18
+ return {}
19
+
20
+ active: Dict[str, int] = {}
21
+ for line in output.splitlines():
22
+ pid_match = re.match(r"\s*(\d+)\s+", line)
23
+ worker_match = re.search(r"(worker_\d+)", line)
24
+ if not pid_match or not worker_match:
25
+ continue
26
+ active[worker_match.group(1)] = int(pid_match.group(1))
27
+ return active
28
+
29
+
30
+ def _selected_episode_indices(worker_dir: Path) -> Optional[List[int]]:
31
+ templates_path = worker_dir.joinpath("templates.json")
32
+ if not templates_path.exists():
33
+ worker_match = re.fullmatch(r"worker_(\d+)", worker_dir.name)
34
+ if worker_match:
35
+ return [int(worker_match.group(1))]
36
+ return None
37
+ with templates_path.open("r", encoding="utf-8") as handle:
38
+ payload = json.load(handle)
39
+ selected = payload.get("selected_episode_indices")
40
+ if isinstance(selected, list):
41
+ return [int(index) for index in selected]
42
+ episode_offset = payload.get("episode_offset")
43
+ if episode_offset is not None:
44
+ return [int(episode_offset)]
45
+ return None
46
+
47
+
48
+ def _worker_status(worker_dir: Path, active_workers: Dict[str, int]) -> Dict[str, object]:
49
+ name = worker_dir.name
50
+ summary_path = worker_dir.joinpath("summary.json")
51
+ worker_log = worker_dir.joinpath("worker.log")
52
+ selected_episode_indices = _selected_episode_indices(worker_dir)
53
+ log_text = worker_log.read_text(encoding="utf-8", errors="ignore") if worker_log.exists() else ""
54
+
55
+ if summary_path.exists():
56
+ status = "completed"
57
+ elif name in active_workers:
58
+ status = "running"
59
+ elif re.search(r"Traceback|RuntimeError|signal 11", log_text):
60
+ status = "crashed"
61
+ elif worker_log.exists():
62
+ status = "stalled"
63
+ else:
64
+ status = "empty"
65
+
66
+ return {
67
+ "worker": name,
68
+ "status": status,
69
+ "pid": active_workers.get(name),
70
+ "selected_episode_indices": selected_episode_indices,
71
+ "summary_path": str(summary_path) if summary_path.exists() else None,
72
+ "worker_log": str(worker_log) if worker_log.exists() else None,
73
+ }
74
+
75
+
76
+ def main() -> int:
77
+ parser = argparse.ArgumentParser()
78
+ parser.add_argument("--result-dir", required=True)
79
+ args = parser.parse_args()
80
+
81
+ result_dir = Path(args.result_dir)
82
+ worker_dirs = sorted(path for path in result_dir.glob("worker_*") if path.is_dir())
83
+ active_workers = _active_worker_dirs(result_dir)
84
+ worker_rows = [_worker_status(worker_dir, active_workers) for worker_dir in worker_dirs]
85
+
86
+ rerun_episode_indices: List[int] = []
87
+ for row in worker_rows:
88
+ if row["status"] != "crashed":
89
+ continue
90
+ selected = row.get("selected_episode_indices") or []
91
+ rerun_episode_indices.extend(int(index) for index in selected)
92
+
93
+ counts: Dict[str, int] = {}
94
+ for row in worker_rows:
95
+ status = str(row["status"])
96
+ counts[status] = counts.get(status, 0) + 1
97
+
98
+ payload = {
99
+ "result_dir": str(result_dir),
100
+ "counts": counts,
101
+ "rerun_episode_indices": sorted(set(rerun_episode_indices)),
102
+ "workers": worker_rows,
103
+ }
104
+ print(json.dumps(payload, indent=2))
105
+ return 0
106
+
107
+
108
+ if __name__ == "__main__":
109
+ raise SystemExit(main())