Upload folder using huggingface_hub
Browse files- __pycache__/predict.cpython-311.pyc +0 -0
- predict.py +3 -3
- sweep.py +27 -19
__pycache__/predict.cpython-311.pyc
CHANGED
|
Binary files a/__pycache__/predict.cpython-311.pyc and b/__pycache__/predict.cpython-311.pyc differ
|
|
|
predict.py
CHANGED
|
@@ -174,7 +174,7 @@ def predict_next_frame(ens, context_frames: np.ndarray) -> np.ndarray:
|
|
| 174 |
ens.direct_cache = []
|
| 175 |
for i in range(PRED_FRAMES):
|
| 176 |
frame = np.transpose(predicted_np[i], (1, 2, 0))
|
| 177 |
-
frame = np.round(frame * 255 + 0.
|
| 178 |
ens.direct_cache.append(frame)
|
| 179 |
|
| 180 |
result = ens.direct_cache[ens.cache_step]
|
|
@@ -241,7 +241,7 @@ def predict_next_frame(ens, context_frames: np.ndarray) -> np.ndarray:
|
|
| 241 |
ens.direct_cache = []
|
| 242 |
for i in range(PRED_FRAMES):
|
| 243 |
frame = np.transpose(predicted_np[i], (1, 2, 0))
|
| 244 |
-
frame = np.round(frame * 255 + 0.
|
| 245 |
ens.direct_cache.append(frame)
|
| 246 |
|
| 247 |
result = ens.direct_cache[ens.cache_step]
|
|
@@ -273,7 +273,7 @@ def predict_next_frame(ens, context_frames: np.ndarray) -> np.ndarray:
|
|
| 273 |
ens.direct_cache = []
|
| 274 |
for i in range(PRED_FRAMES):
|
| 275 |
frame = np.transpose(predicted_np[i], (1, 2, 0))
|
| 276 |
-
frame = np.round(frame * 255 + 0.
|
| 277 |
ens.direct_cache.append(frame)
|
| 278 |
|
| 279 |
result = ens.direct_cache[ens.cache_step]
|
|
|
|
| 174 |
ens.direct_cache = []
|
| 175 |
for i in range(PRED_FRAMES):
|
| 176 |
frame = np.transpose(predicted_np[i], (1, 2, 0))
|
| 177 |
+
frame = np.round(frame * 255 + 0.2).clip(0, 255).astype(np.uint8)
|
| 178 |
ens.direct_cache.append(frame)
|
| 179 |
|
| 180 |
result = ens.direct_cache[ens.cache_step]
|
|
|
|
| 241 |
ens.direct_cache = []
|
| 242 |
for i in range(PRED_FRAMES):
|
| 243 |
frame = np.transpose(predicted_np[i], (1, 2, 0))
|
| 244 |
+
frame = np.round(frame * 255 + 0.2).clip(0, 255).astype(np.uint8)
|
| 245 |
ens.direct_cache.append(frame)
|
| 246 |
|
| 247 |
result = ens.direct_cache[ens.cache_step]
|
|
|
|
| 273 |
ens.direct_cache = []
|
| 274 |
for i in range(PRED_FRAMES):
|
| 275 |
frame = np.transpose(predicted_np[i], (1, 2, 0))
|
| 276 |
+
frame = np.round(frame * 255 + 0.2).clip(0, 255).astype(np.uint8)
|
| 277 |
ens.direct_cache.append(frame)
|
| 278 |
|
| 279 |
result = ens.direct_cache[ens.cache_step]
|
sweep.py
CHANGED
|
@@ -1,42 +1,50 @@
|
|
| 1 |
-
"""Sweep
|
| 2 |
import subprocess
|
| 3 |
import json
|
| 4 |
import re
|
| 5 |
|
| 6 |
-
predict_path = "/home/coder/experiments/2026-04-12-
|
| 7 |
|
| 8 |
results = {}
|
| 9 |
-
for
|
| 10 |
with open(predict_path, 'r') as f:
|
| 11 |
content = f.read()
|
| 12 |
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
|
| 20 |
with open(predict_path, 'w') as f:
|
| 21 |
f.write(content)
|
| 22 |
|
| 23 |
result = subprocess.run(
|
| 24 |
-
['python', 'task/score.py', '--model_path', '/home/coder/experiments/2026-04-12-
|
| 25 |
capture_output=True, text=True, cwd='/home/coder'
|
| 26 |
)
|
| 27 |
|
| 28 |
for line in result.stdout.strip().split('\n'):
|
| 29 |
if '"score"' in line:
|
| 30 |
data = json.loads(line)
|
| 31 |
-
results[
|
| 32 |
-
|
| 33 |
-
'pong': data['per_game']['pong']['ssim'],
|
| 34 |
-
'sonic': data['per_game']['sonic']['ssim'],
|
| 35 |
-
'pp': data['per_game']['pole_position']['ssim']
|
| 36 |
-
}
|
| 37 |
-
print(f"Scale {scale}: overall={data['score']:.4f} pong={data['per_game']['pong']['ssim']:.4f}")
|
| 38 |
break
|
| 39 |
|
| 40 |
print("\n=== Summary ===")
|
| 41 |
-
|
| 42 |
-
print(f"Best
|
|
|
|
| 1 |
+
"""Sweep rounding bias."""
|
| 2 |
import subprocess
|
| 3 |
import json
|
| 4 |
import re
|
| 5 |
|
| 6 |
+
predict_path = "/home/coder/experiments/2026-04-12-332000-bias-resweep/predict.py"
|
| 7 |
|
| 8 |
results = {}
|
| 9 |
+
for bias in [0.0, 0.05, 0.10, 0.15, 0.20, 0.25, 0.30, 0.40, 0.50]:
|
| 10 |
with open(predict_path, 'r') as f:
|
| 11 |
content = f.read()
|
| 12 |
|
| 13 |
+
if bias == 0.0:
|
| 14 |
+
content = re.sub(
|
| 15 |
+
r'np\.round\(frame \* 255 \+ [\d.]+\)',
|
| 16 |
+
'np.round(frame * 255)',
|
| 17 |
+
content
|
| 18 |
+
)
|
| 19 |
+
else:
|
| 20 |
+
# First handle the case where there's already a bias
|
| 21 |
+
content = re.sub(
|
| 22 |
+
r'np\.round\(frame \* 255 \+ [\d.]+\)',
|
| 23 |
+
f'np.round(frame * 255 + {bias})',
|
| 24 |
+
content
|
| 25 |
+
)
|
| 26 |
+
# Then handle the case where there's no bias (from bias=0.0 step)
|
| 27 |
+
content = re.sub(
|
| 28 |
+
r'np\.round\(frame \* 255\)\.clip',
|
| 29 |
+
f'np.round(frame * 255 + {bias}).clip',
|
| 30 |
+
content
|
| 31 |
+
)
|
| 32 |
|
| 33 |
with open(predict_path, 'w') as f:
|
| 34 |
f.write(content)
|
| 35 |
|
| 36 |
result = subprocess.run(
|
| 37 |
+
['python', 'task/score.py', '--model_path', '/home/coder/experiments/2026-04-12-332000-bias-resweep'],
|
| 38 |
capture_output=True, text=True, cwd='/home/coder'
|
| 39 |
)
|
| 40 |
|
| 41 |
for line in result.stdout.strip().split('\n'):
|
| 42 |
if '"score"' in line:
|
| 43 |
data = json.loads(line)
|
| 44 |
+
results[bias] = data['score']
|
| 45 |
+
print(f"Bias {bias:.2f}: overall={data['score']:.4f} pong={data['per_game']['pong']['ssim']:.4f} sonic={data['per_game']['sonic']['ssim']:.4f} pp={data['per_game']['pole_position']['ssim']:.4f}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
break
|
| 47 |
|
| 48 |
print("\n=== Summary ===")
|
| 49 |
+
best_bias = max(results.keys(), key=lambda b: results[b])
|
| 50 |
+
print(f"Best bias: {best_bias} with overall={results[best_bias]:.4f}")
|