arabellako22 commited on
Commit
8cc704a
·
verified ·
1 Parent(s): 172afdd

Add 10-seed headless ONNX evaluation

Browse files
Files changed (3) hide show
  1. README.md +57 -0
  2. evaluation.json +148 -0
  3. evaluation_by_seed.csv +11 -0
README.md CHANGED
@@ -7,6 +7,28 @@ tags:
7
  - mujoco
8
  - ppo
9
  - microduck
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  ---
11
 
12
  # Microduck flat-walking PPO — Colab study run
@@ -43,6 +65,41 @@ This repository documents a personal study run that installs Pollen Robotics' Mi
43
 
44
  The video was reviewed before publication as a qualitative success check. This run has not been tested on a physical Microduck. One video and one seed are not a statistical performance benchmark.
45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  ## Files
47
 
48
  - `policy.onnx` — deployable policy with observation normalization
 
7
  - mujoco
8
  - ppo
9
  - microduck
10
+ # MULTI_SEED_MODEL_INDEX_START
11
+ model-index:
12
+ - name: Microduck flat-walking PPO seed42
13
+ results:
14
+ - task:
15
+ type: reinforcement-learning
16
+ name: Flat-ground locomotion
17
+ dataset:
18
+ name: Microduck simulator seeds 100-109
19
+ type: microduck-simulator-seeds-100-109
20
+ metrics:
21
+ - type: success_rate_no_termination
22
+ name: Success rate without termination
23
+ value: 1.000000
24
+ - type: mean_forward_velocity_mps
25
+ name: Mean forward velocity (m/s)
26
+ value: 0.258120
27
+ - type: mean_reward_per_step
28
+ name: Mean reward per step
29
+ value: 0.147762
30
+ # MULTI_SEED_MODEL_INDEX_END
31
+
32
  ---
33
 
34
  # Microduck flat-walking PPO — Colab study run
 
65
 
66
  The video was reviewed before publication as a qualitative success check. This run has not been tested on a physical Microduck. One video and one seed are not a statistical performance benchmark.
67
 
68
+
69
+ <!-- MULTI_SEED_EVAL_START -->
70
+ ## Multi-seed headless evaluation
71
+
72
+ The uploaded `policy.onnx` was evaluated without rendering across 10 deterministic evaluation seeds. This tests one policy trained with seed 42; it is not a multiple-training-seed study.
73
+
74
+ | Eval seed | Mean reward/step | Mean velocity (m/s) | Mean absolute velocity error (m/s) | Terminations | Success |
75
+ |---:|---:|---:|---:|---:|:---:|
76
+ | 100 | 0.1413 | 0.236 | 0.264 | 0 | ✅ |
77
+ | 101 | 0.1487 | 0.271 | 0.232 | 0 | ✅ |
78
+ | 102 | 0.1460 | 0.225 | 0.276 | 0 | ✅ |
79
+ | 103 | 0.1482 | 0.291 | 0.212 | 0 | ✅ |
80
+ | 104 | 0.1444 | 0.227 | 0.274 | 0 | ✅ |
81
+ | 105 | 0.1447 | 0.221 | 0.279 | 0 | ✅ |
82
+ | 106 | 0.1480 | 0.276 | 0.228 | 0 | ✅ |
83
+ | 107 | 0.1524 | 0.250 | 0.250 | 0 | ✅ |
84
+ | 108 | 0.1500 | 0.290 | 0.215 | 0 | ✅ |
85
+ | 109 | 0.1540 | 0.295 | 0.207 | 0 | ✅ |
86
+
87
+ ### Aggregate results
88
+
89
+ | Metric | Result |
90
+ |---|---:|
91
+ | Evaluation seeds | 10 (`100`–`109`) |
92
+ | Steps per seed | 400 |
93
+ | Mean reward per step | 0.1478 ± 0.0036 |
94
+ | Mean forward velocity | 0.258 ± 0.028 m/s |
95
+ | Mean absolute velocity error | 0.244 ± 0.027 m/s |
96
+ | Total terminations | 0 |
97
+ | Success rate without termination | 100.0% |
98
+
99
+ Raw, machine-readable results: [`evaluation.json`](evaluation.json) and [`evaluation_by_seed.csv`](evaluation_by_seed.csv). No new video was generated because the policy did not change.
100
+
101
+ <!-- MULTI_SEED_EVAL_END -->
102
+
103
  ## Files
104
 
105
  - `policy.onnx` — deployable policy with observation normalization
evaluation.json ADDED
@@ -0,0 +1,148 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "evaluation_type": "single_trained_policy_multiple_evaluation_seeds",
4
+ "generated_at_utc": "2026-09-07T03:01:09.935197+00:00",
5
+ "policy_file": "policy.onnx",
6
+ "policy_sha256": "82a2369fe642eda505ee6d60c7ed26aafd177eb7484030834cd04e5a53035213",
7
+ "training_seed": 42,
8
+ "source_checkpoint": "model_3999.pt",
9
+ "protocol": {
10
+ "task_id": "Mjlab-Velocity-Flat-MicroDuck",
11
+ "evaluation_seeds": [
12
+ 100,
13
+ 101,
14
+ 102,
15
+ 103,
16
+ 104,
17
+ 105,
18
+ 106,
19
+ 107,
20
+ 108,
21
+ 109
22
+ ],
23
+ "num_seeds": 10,
24
+ "steps_per_seed": 400,
25
+ "commanded_forward_velocity_mps": 0.5,
26
+ "rendering": false,
27
+ "video_generated": false,
28
+ "policy_runtime": "onnxruntime-cpu",
29
+ "actions": "deterministic"
30
+ },
31
+ "per_seed": [
32
+ {
33
+ "seed": 100,
34
+ "rollout_steps": 400,
35
+ "commanded_forward_velocity_mps": 0.5,
36
+ "mean_reward_per_step": 0.14128163651563228,
37
+ "mean_forward_velocity_mps": 0.23589461453258992,
38
+ "mean_absolute_velocity_error_mps": 0.2643511279672384,
39
+ "termination_count": 0,
40
+ "success_no_termination": true
41
+ },
42
+ {
43
+ "seed": 101,
44
+ "rollout_steps": 400,
45
+ "commanded_forward_velocity_mps": 0.5,
46
+ "mean_reward_per_step": 0.14869166431948544,
47
+ "mean_forward_velocity_mps": 0.27104998455848545,
48
+ "mean_absolute_velocity_error_mps": 0.23166746033821256,
49
+ "termination_count": 0,
50
+ "success_no_termination": true
51
+ },
52
+ {
53
+ "seed": 102,
54
+ "rollout_steps": 400,
55
+ "commanded_forward_velocity_mps": 0.5,
56
+ "mean_reward_per_step": 0.14602043539285658,
57
+ "mean_forward_velocity_mps": 0.2245279321074486,
58
+ "mean_absolute_velocity_error_mps": 0.2757411253452301,
59
+ "termination_count": 0,
60
+ "success_no_termination": true
61
+ },
62
+ {
63
+ "seed": 103,
64
+ "rollout_steps": 400,
65
+ "commanded_forward_velocity_mps": 0.5,
66
+ "mean_reward_per_step": 0.14819012811407448,
67
+ "mean_forward_velocity_mps": 0.29148244574753335,
68
+ "mean_absolute_velocity_error_mps": 0.2116375322631211,
69
+ "termination_count": 0,
70
+ "success_no_termination": true
71
+ },
72
+ {
73
+ "seed": 104,
74
+ "rollout_steps": 400,
75
+ "commanded_forward_velocity_mps": 0.5,
76
+ "mean_reward_per_step": 0.14435075111687184,
77
+ "mean_forward_velocity_mps": 0.22676853544602638,
78
+ "mean_absolute_velocity_error_mps": 0.273739144433639,
79
+ "termination_count": 0,
80
+ "success_no_termination": true
81
+ },
82
+ {
83
+ "seed": 105,
84
+ "rollout_steps": 400,
85
+ "commanded_forward_velocity_mps": 0.5,
86
+ "mean_reward_per_step": 0.14471292811096645,
87
+ "mean_forward_velocity_mps": 0.22117613712325693,
88
+ "mean_absolute_velocity_error_mps": 0.2788238628767431,
89
+ "termination_count": 0,
90
+ "success_no_termination": true
91
+ },
92
+ {
93
+ "seed": 106,
94
+ "rollout_steps": 400,
95
+ "commanded_forward_velocity_mps": 0.5,
96
+ "mean_reward_per_step": 0.14796128492802382,
97
+ "mean_forward_velocity_mps": 0.2755377550085541,
98
+ "mean_absolute_velocity_error_mps": 0.22814512956538238,
99
+ "termination_count": 0,
100
+ "success_no_termination": true
101
+ },
102
+ {
103
+ "seed": 107,
104
+ "rollout_steps": 400,
105
+ "commanded_forward_velocity_mps": 0.5,
106
+ "mean_reward_per_step": 0.15238978615030646,
107
+ "mean_forward_velocity_mps": 0.24962244590977206,
108
+ "mean_absolute_velocity_error_mps": 0.2504566774680279,
109
+ "termination_count": 0,
110
+ "success_no_termination": true
111
+ },
112
+ {
113
+ "seed": 108,
114
+ "rollout_steps": 400,
115
+ "commanded_forward_velocity_mps": 0.5,
116
+ "mean_reward_per_step": 0.14997595064342023,
117
+ "mean_forward_velocity_mps": 0.28972968977410346,
118
+ "mean_absolute_velocity_error_mps": 0.21514052021782845,
119
+ "termination_count": 0,
120
+ "success_no_termination": true
121
+ },
122
+ {
123
+ "seed": 109,
124
+ "rollout_steps": 400,
125
+ "commanded_forward_velocity_mps": 0.5,
126
+ "mean_reward_per_step": 0.1540444320999086,
127
+ "mean_forward_velocity_mps": 0.29541337831818965,
128
+ "mean_absolute_velocity_error_mps": 0.2067692495981464,
129
+ "termination_count": 0,
130
+ "success_no_termination": true
131
+ }
132
+ ],
133
+ "summary": {
134
+ "mean_reward_per_step": 0.1477618997391546,
135
+ "std_reward_per_step_population": 0.0036446650806754564,
136
+ "mean_forward_velocity_mps": 0.258120291852596,
137
+ "std_forward_velocity_mps_population": 0.02831245410335961,
138
+ "mean_absolute_velocity_error_mps": 0.24364718300735694,
139
+ "std_absolute_velocity_error_mps_population": 0.026886847320684554,
140
+ "total_terminations": 0,
141
+ "successful_seeds_no_termination": 10,
142
+ "success_rate_no_termination": 1.0
143
+ },
144
+ "limitations": [
145
+ "This evaluates one policy trained with seed 42; it does not measure training-seed variance.",
146
+ "The test covers one fixed forward command and simulation only, not physical hardware."
147
+ ]
148
+ }
evaluation_by_seed.csv ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ seed,rollout_steps,commanded_forward_velocity_mps,mean_reward_per_step,mean_forward_velocity_mps,mean_absolute_velocity_error_mps,termination_count,success_no_termination
2
+ 100,400,0.5,0.14128163651563228,0.23589461453258992,0.2643511279672384,0,True
3
+ 101,400,0.5,0.14869166431948544,0.27104998455848545,0.23166746033821256,0,True
4
+ 102,400,0.5,0.14602043539285658,0.2245279321074486,0.2757411253452301,0,True
5
+ 103,400,0.5,0.14819012811407448,0.29148244574753335,0.2116375322631211,0,True
6
+ 104,400,0.5,0.14435075111687184,0.22676853544602638,0.273739144433639,0,True
7
+ 105,400,0.5,0.14471292811096645,0.22117613712325693,0.2788238628767431,0,True
8
+ 106,400,0.5,0.14796128492802382,0.2755377550085541,0.22814512956538238,0,True
9
+ 107,400,0.5,0.15238978615030646,0.24962244590977206,0.2504566774680279,0,True
10
+ 108,400,0.5,0.14997595064342023,0.28972968977410346,0.21514052021782845,0,True
11
+ 109,400,0.5,0.1540444320999086,0.29541337831818965,0.2067692495981464,0,True