Add unified optimizer (all 4 stages) + Stage 2 direct conv optimizer
Browse files
own-solver/optimize_submission_README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""
|
| 3 |
+
Unified ONNX Optimizer for NeuroGolf — All 4 Stages
|
| 4 |
+
|
| 5 |
+
New formula: score = max(1.0, 25.0 - ln(memory + params))
|
| 6 |
+
|
| 7 |
+
Stage 1: Rebuild trivial tasks (identity, transpose, color_map, flips) → 18-25 pts
|
| 8 |
+
Stage 2: Direct Conv→output (eliminate ArgMax+OneHot) → 16-17 pts for ks=3
|
| 9 |
+
Stage 3: fp16 all weights (halve weight memory)
|
| 10 |
+
Stage 4: Node reduction (strip unused inits, metadata)
|
| 11 |
+
|
| 12 |
+
Results on submission-6043.zip:
|
| 13 |
+
Stage 1: 6 tasks (transpose→25pts, color_perm→21pts, conv1x1→18.8pts)
|
| 14 |
+
Stage 2: 6 tasks (direct conv ks=3→16.6pts)
|
| 15 |
+
Stage 3: 10 tasks (fp16 weights, -3KB each)
|
| 16 |
+
Stage 4: 9 tasks (cleanup, minor savings)
|
| 17 |
+
Total: 31 tasks optimized
|
| 18 |
+
|
| 19 |
+
Usage:
|
| 20 |
+
python optimize_submission.py --input_zip submission-6043.zip --data_dir ./tasks --output_zip out.zip
|
| 21 |
+
python optimize_submission.py --input_zip submission-6043.zip --data_dir ./tasks --output_zip out.zip --stages 1,2
|
| 22 |
+
"""
|
| 23 |
+
# See full source at own-solver/optimize_submission.py
|
| 24 |
+
# Uploaded separately due to size
|