ojaffe commited on
Commit
c998913
·
verified ·
1 Parent(s): 5c2ff29

Upload folder using huggingface_hub

Browse files
Files changed (3) hide show
  1. __pycache__/predict.cpython-311.pyc +0 -0
  2. predict.py +3 -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.1).clip(0, 255).astype(np.uint8)
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.1).clip(0, 255).astype(np.uint8)
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.1).clip(0, 255).astype(np.uint8)
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 Pong AR residual scale."""
2
  import subprocess
3
  import json
4
  import re
5
 
6
- predict_path = "/home/coder/experiments/2026-04-12-330000-pong-amp-sweep/predict.py"
7
 
8
  results = {}
9
- for scale in [1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07]:
10
  with open(predict_path, 'r') as f:
11
  content = f.read()
12
 
13
- # Replace Pong AR residual_scale (only in Pong section, identified by "pong" model)
14
- content = re.sub(
15
- r'_predict_ar_frame\(ens\.models\["pong"\], ctx, last_t, residual_scale=[\d.]+\)',
16
- f'_predict_ar_frame(ens.models["pong"], ctx, last_t, residual_scale={scale})',
17
- content
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-330000-pong-amp-sweep'],
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[scale] = {
32
- 'score': data['score'],
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
- best_scale = max(results.keys(), key=lambda s: results[s]['pong'])
42
- print(f"Best Pong scale: {best_scale} with pong={results[best_scale]['pong']:.4f}, overall={results[best_scale]['score']:.4f}")
 
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}")