ojaffe commited on
Commit
7cf6bed
·
verified ·
1 Parent(s): 57b5f2a

Upload folder using huggingface_hub

Browse files
__pycache__/predict.cpython-311.pyc ADDED
Binary file (5.84 kB). View file
 
model_pole_position.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6b3405e455825e092f04054afabbc1504a86dcfd072b1bb182686629aeae2d14
3
+ size 2970182
model_pong.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b1af4b741b84430029f7b1e3a499002f46ae0a02c2608435cf05fc99151620ef
3
+ size 2435368
model_sonic.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:033c9ab9ac538f6abdca242f6d1b7ebeb02090148b8df76f332700a3d000e0bf
3
+ size 6180566
predict.py ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Prediction with test-time augmentation (horizontal flip averaging)."""
2
+ import sys
3
+ import os
4
+ import numpy as np
5
+ import torch
6
+
7
+ sys.path.insert(0, "/home/coder/code")
8
+ from unet_model import UNet
9
+
10
+ CONTEXT_FRAMES = 8
11
+ DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
12
+
13
+ GAME_CONFIGS = {
14
+ "pong": {"enc_channels": (32, 64, 128), "bottleneck": 128},
15
+ "sonic": {"enc_channels": (48, 96, 192), "bottleneck": 256},
16
+ "pole_position": {"enc_channels": (32, 64, 128), "bottleneck": 192},
17
+ }
18
+
19
+
20
+ def detect_game(context_frames: np.ndarray) -> str:
21
+ first_8 = context_frames[:CONTEXT_FRAMES]
22
+ mean_val = first_8.mean()
23
+ std_val = first_8.std()
24
+ b_mean = first_8[:, :, :, 2].mean()
25
+ r_mean = first_8[:, :, :, 0].mean()
26
+ if mean_val > 100 and std_val < 80 and b_mean > r_mean * 1.5:
27
+ return "pole_position"
28
+ elif mean_val < 5 and 10 < std_val < 20:
29
+ return "pong"
30
+ else:
31
+ return "sonic"
32
+
33
+
34
+ def load_model(model_dir: str):
35
+ models = {}
36
+ for game, cfg in GAME_CONFIGS.items():
37
+ model = UNet(in_channels=24, out_channels=3,
38
+ enc_channels=cfg["enc_channels"],
39
+ bottleneck_channels=cfg["bottleneck"],
40
+ upsample_mode="bilinear").to(DEVICE)
41
+ state_dict = torch.load(os.path.join(model_dir, f"model_{game}.pt"),
42
+ map_location=DEVICE, weights_only=True)
43
+ state_dict = {k: v.float() for k, v in state_dict.items()}
44
+ model.load_state_dict(state_dict)
45
+ model.eval()
46
+ models[game] = model
47
+ return models
48
+
49
+
50
+ def predict_next_frame(models, context_frames: np.ndarray) -> np.ndarray:
51
+ game = detect_game(context_frames)
52
+ model = models[game]
53
+
54
+ n = len(context_frames)
55
+ if n < CONTEXT_FRAMES:
56
+ padding = np.stack([context_frames[0]] * (CONTEXT_FRAMES - n), axis=0)
57
+ frames = np.concatenate([padding, context_frames], axis=0)
58
+ else:
59
+ frames = context_frames[-CONTEXT_FRAMES:]
60
+
61
+ frames_norm = frames.astype(np.float32) / 255.0
62
+ frames_t = np.transpose(frames_norm, (0, 3, 1, 2))
63
+ context = frames_t.reshape(1, -1, 64, 64)
64
+
65
+ last_frame = frames_norm[-1]
66
+ last_frame_t = np.transpose(last_frame, (2, 0, 1))[np.newaxis]
67
+
68
+ with torch.no_grad():
69
+ context_tensor = torch.from_numpy(context).to(DEVICE)
70
+ last_tensor = torch.from_numpy(last_frame_t).to(DEVICE)
71
+
72
+ # Original prediction
73
+ residual_orig = model(context_tensor)
74
+ predicted_orig = torch.clamp(last_tensor + residual_orig, 0, 1)
75
+
76
+ if game == "pong":
77
+ # Pong is asymmetric (paddles on left/right), skip TTA
78
+ predicted = predicted_orig
79
+ else:
80
+ # Flipped prediction for Sonic and PP
81
+ context_flipped = torch.flip(context_tensor, dims=[3])
82
+ last_flipped = torch.flip(last_tensor, dims=[3])
83
+ residual_flipped = model(context_flipped)
84
+ predicted_flipped = torch.clamp(last_flipped + residual_flipped, 0, 1)
85
+ predicted_flipped = torch.flip(predicted_flipped, dims=[3])
86
+ predicted = (predicted_orig + predicted_flipped) / 2.0
87
+
88
+ predicted_np = predicted[0].cpu().numpy()
89
+ predicted_np = np.transpose(predicted_np, (1, 2, 0))
90
+ predicted_np = (predicted_np * 255).clip(0, 255).astype(np.uint8)
91
+ return predicted_np
train.log ADDED
@@ -0,0 +1,190 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [2026-04-11 12:26:10] Starting scheduled sampling training for 2026-04-11-150000-scheduled-sampling
2
+ [2026-04-11 12:26:10] Device: cuda
3
+ [2026-04-11 12:26:10] === pong ===
4
+ [2026-04-11 12:26:10] pong: 1,198,531 params (2.3 MB fp16)
5
+ [2026-04-11 12:26:10] Phase 1: single-step, 60 epochs
6
+ [2026-04-11 12:26:11] pong train: 8432 seqs (len=9)
7
+ [2026-04-11 12:26:11] pong val: 992 seqs (len=9)
8
+ [2026-04-11 12:26:19] pong P1 E1/60 | T:0.090025(S:0.8236) V:0.075482(S:0.8523) LR:3.00e-04
9
+ [2026-04-11 12:26:26] pong P1 E2/60 | T:0.072277(S:0.8585) V:0.070897(S:0.8611) LR:2.99e-04
10
+ [2026-04-11 12:26:32] pong P1 E3/60 | T:0.066975(S:0.8689) V:0.068666(S:0.8654) LR:2.98e-04
11
+ [2026-04-11 12:26:39] pong P1 E4/60 | T:0.062348(S:0.8780) V:0.063710(S:0.8752) LR:2.97e-04
12
+ [2026-04-11 12:26:52] pong P1 E6/60 | T:0.054025(S:0.8943) V:0.059450(S:0.8837) LR:2.93e-04
13
+ [2026-04-11 12:26:59] pong P1 E7/60 | T:0.049712(S:0.9028) V:0.053012(S:0.8964) LR:2.90e-04
14
+ [2026-04-11 12:27:05] pong P1 E8/60 | T:0.045638(S:0.9108) V:0.051558(S:0.8991) LR:2.87e-04
15
+ [2026-04-11 12:27:11] pong P1 E9/60 | T:0.042137(S:0.9177) V:0.051453(S:0.8992) LR:2.84e-04
16
+ [2026-04-11 12:27:18] pong P1 E10/60 | T:0.038925(S:0.9240) V:0.053147(S:0.8959) LR:2.80e-04
17
+ [2026-04-11 12:27:25] pong P1 E11/60 | T:0.036263(S:0.9292) V:0.047987(S:0.9062) LR:2.76e-04
18
+ [2026-04-11 12:27:32] pong P1 E12/60 | T:0.034478(S:0.9327) V:0.046398(S:0.9092) LR:2.71e-04
19
+ [2026-04-11 12:27:39] pong P1 E13/60 | T:0.032172(S:0.9373) V:0.045100(S:0.9117) LR:2.67e-04
20
+ [2026-04-11 12:27:45] pong P1 E14/60 | T:0.030633(S:0.9403) V:0.043247(S:0.9154) LR:2.62e-04
21
+ [2026-04-11 12:27:59] pong P1 E16/60 | T:0.027356(S:0.9467) V:0.041513(S:0.9188) LR:2.51e-04
22
+ [2026-04-11 12:28:05] pong P1 E17/60 | T:0.025827(S:0.9497) V:0.040022(S:0.9217) LR:2.45e-04
23
+ [2026-04-11 12:28:19] pong P1 E19/60 | T:0.023328(S:0.9546) V:0.038916(S:0.9238) LR:2.32e-04
24
+ [2026-04-11 12:28:25] pong P1 E20/60 | T:0.022577(S:0.9561) V:0.037068(S:0.9275) LR:2.25e-04
25
+ [2026-04-11 12:28:31] pong P1 E21/60 | T:0.022103(S:0.9570) V:0.036532(S:0.9285) LR:2.18e-04
26
+ [2026-04-11 12:28:38] pong P1 E22/60 | T:0.020353(S:0.9604) V:0.035475(S:0.9305) LR:2.11e-04
27
+ [2026-04-11 12:28:44] pong P1 E23/60 | T:0.019738(S:0.9616) V:0.035370(S:0.9308) LR:2.04e-04
28
+ [2026-04-11 12:28:57] pong P1 E25/60 | T:0.018601(S:0.9639) V:0.034335(S:0.9328) LR:1.89e-04
29
+ [2026-04-11 12:29:04] pong P1 E26/60 | T:0.017655(S:0.9657) V:0.033006(S:0.9354) LR:1.82e-04
30
+ [2026-04-11 12:29:23] pong P1 E29/60 | T:0.016323(S:0.9683) V:0.032940(S:0.9355) LR:1.58e-04
31
+ [2026-04-11 12:29:30] pong P1 E30/60 | T:0.015362(S:0.9702) V:0.032098(S:0.9371) LR:1.50e-04
32
+ [2026-04-11 12:29:37] pong P1 E31/60 | T:0.014933(S:0.9710) V:0.031838(S:0.9377) LR:1.43e-04
33
+ [2026-04-11 12:29:44] pong P1 E32/60 | T:0.014428(S:0.9720) V:0.031547(S:0.9382) LR:1.35e-04
34
+ [2026-04-11 12:29:51] pong P1 E33/60 | T:0.013774(S:0.9733) V:0.031321(S:0.9386) LR:1.27e-04
35
+ [2026-04-11 12:30:04] pong P1 E35/60 | T:0.013131(S:0.9745) V:0.030856(S:0.9396) LR:1.12e-04
36
+ [2026-04-11 12:30:10] pong P1 E36/60 | T:0.012507(S:0.9758) V:0.030616(S:0.9400) LR:1.04e-04
37
+ [2026-04-11 12:30:23] pong P1 E38/60 | T:0.011943(S:0.9769) V:0.029855(S:0.9415) LR:8.97e-05
38
+ [2026-04-11 12:30:36] pong P1 E40/60 | T:0.011202(S:0.9783) V:0.030073(S:0.9410) LR:7.58e-05
39
+ [2026-04-11 12:30:43] pong P1 E41/60 | T:0.010886(S:0.9789) V:0.029447(S:0.9423) LR:6.91e-05
40
+ [2026-04-11 12:30:50] pong P1 E42/60 | T:0.010551(S:0.9796) V:0.029423(S:0.9424) LR:6.26e-05
41
+ [2026-04-11 12:31:04] pong P1 E44/60 | T:0.010115(S:0.9804) V:0.029379(S:0.9424) LR:5.05e-05
42
+ [2026-04-11 12:31:10] pong P1 E45/60 | T:0.009767(S:0.9811) V:0.029152(S:0.9429) LR:4.48e-05
43
+ [2026-04-11 12:31:17] pong P1 E46/60 | T:0.009521(S:0.9816) V:0.028957(S:0.9432) LR:3.94e-05
44
+ [2026-04-11 12:31:30] pong P1 E48/60 | T:0.009104(S:0.9824) V:0.028762(S:0.9436) LR:2.96e-05
45
+ [2026-04-11 12:31:43] pong P1 E50/60 | T:0.008768(S:0.9830) V:0.028728(S:0.9437) LR:2.10e-05
46
+ [2026-04-11 12:31:50] pong P1 E51/60 | T:0.008649(S:0.9833) V:0.028720(S:0.9437) LR:1.73e-05
47
+ [2026-04-11 12:31:57] pong P1 E52/60 | T:0.008490(S:0.9836) V:0.028621(S:0.9439) LR:1.39e-05
48
+ [2026-04-11 12:32:50] pong P1 E60/60 | T:0.008136(S:0.9843) V:0.028645(S:0.9438) LR:1.00e-06
49
+ [2026-04-11 12:32:50] Phase 1 done. Best: 0.028621
50
+ [2026-04-11 12:32:50] Phase 2: scheduled sampling, 60 epochs
51
+ [2026-04-11 12:32:50] pong train: 8194 seqs (len=16)
52
+ [2026-04-11 12:32:51] pong val: 964 seqs (len=16)
53
+ [2026-04-11 12:33:24] pong P2 E1/60 p=0.10 | T:0.010036(S:0.9806) V:0.101197(S:0.8007) LR:9.99e-05
54
+ [2026-04-11 12:33:56] pong P2 E2/60 p=0.11 | T:0.009690(S:0.9813) V:0.096376(S:0.8102) LR:9.97e-05
55
+ [2026-04-11 12:34:29] pong P2 E3/60 p=0.11 | T:0.009228(S:0.9822) V:0.096769(S:0.8094) LR:9.94e-05
56
+ [2026-04-11 12:35:03] pong P2 E4/60 p=0.12 | T:0.008641(S:0.9833) V:0.092677(S:0.8175) LR:9.89e-05
57
+ [2026-04-11 12:35:35] pong P2 E5/60 p=0.13 | T:0.008365(S:0.9838) V:0.087723(S:0.8273) LR:9.83e-05
58
+ [2026-04-11 12:36:09] pong P2 E6/60 p=0.13 | T:0.008026(S:0.9845) V:0.086152(S:0.8304) LR:9.76e-05
59
+ [2026-04-11 12:36:41] pong P2 E7/60 p=0.14 | T:0.007764(S:0.9850) V:0.084980(S:0.8327) LR:9.67e-05
60
+ [2026-04-11 12:37:15] pong P2 E8/60 p=0.15 | T:0.007650(S:0.9852) V:0.082643(S:0.8373) LR:9.57e-05
61
+ [2026-04-11 12:38:21] pong P2 E10/60 p=0.16 | T:0.006944(S:0.9866) V:0.082117(S:0.8383) LR:9.34e-05
62
+ [2026-04-11 12:38:53] pong P2 E11/60 p=0.17 | T:0.006760(S:0.9870) V:0.080626(S:0.8412) LR:9.20e-05
63
+ [2026-04-11 12:40:27] pong P2 E14/60 p=0.19 | T:0.006280(S:0.9879) V:0.079367(S:0.8437) LR:8.73e-05
64
+ [2026-04-11 12:41:00] pong P2 E15/60 p=0.19 | T:0.006258(S:0.9879) V:0.076667(S:0.8490) LR:8.55e-05
65
+ [2026-04-11 12:41:33] pong P2 E16/60 p=0.20 | T:0.006128(S:0.9882) V:0.076360(S:0.8496) LR:8.36e-05
66
+ [2026-04-11 12:42:05] pong P2 E17/60 p=0.21 | T:0.006085(S:0.9883) V:0.075371(S:0.8516) LR:8.17e-05
67
+ [2026-04-11 12:43:11] pong P2 E19/60 p=0.22 | T:0.005856(S:0.9887) V:0.074465(S:0.8534) LR:7.75e-05
68
+ [2026-04-11 12:43:42] pong P2 E20/60 p=0.23 | T:0.005635(S:0.9892) V:0.073587(S:0.8551) LR:7.52e-05
69
+ [2026-04-11 12:44:16] pong P2 E21/60 p=0.24 | T:0.005699(S:0.9890) V:0.073296(S:0.8557) LR:7.30e-05
70
+ [2026-04-11 12:45:22] pong P2 E23/60 p=0.25 | T:0.005380(S:0.9897) V:0.073032(S:0.8562) LR:6.82e-05
71
+ [2026-04-11 12:45:56] pong P2 E24/60 p=0.26 | T:0.005348(S:0.9897) V:0.072857(S:0.8565) LR:6.58e-05
72
+ [2026-04-11 12:46:29] pong P2 E25/60 p=0.26 | T:0.005277(S:0.9899) V:0.071514(S:0.8592) LR:6.33e-05
73
+ [2026-04-11 12:47:35] pong P2 E27/60 p=0.28 | T:0.005084(S:0.9902) V:0.071162(S:0.8599) LR:5.82e-05
74
+ [2026-04-11 12:48:07] pong P2 E28/60 p=0.28 | T:0.005036(S:0.9903) V:0.070915(S:0.8603) LR:5.57e-05
75
+ [2026-04-11 12:48:39] pong P2 E29/60 p=0.29 | T:0.004981(S:0.9904) V:0.070757(S:0.8606) LR:5.31e-05
76
+ [2026-04-11 12:49:13] pong P2 E30/60 p=0.30 | T:0.004838(S:0.9907) V:0.070519(S:0.8611) LR:5.05e-05
77
+ [2026-04-11 12:50:51] pong P2 E33/60 p=0.32 | T:0.004750(S:0.9909) V:0.070180(S:0.8618) LR:4.28e-05
78
+ [2026-04-11 12:51:23] pong P2 E34/60 p=0.32 | T:0.004641(S:0.9911) V:0.069753(S:0.8626) LR:4.02e-05
79
+ [2026-04-11 12:51:56] pong P2 E35/60 p=0.33 | T:0.004533(S:0.9913) V:0.069474(S:0.8632) LR:3.77e-05
80
+ [2026-04-11 12:53:35] pong P2 E38/60 p=0.35 | T:0.004404(S:0.9915) V:0.068415(S:0.8652) LR:3.04e-05
81
+ [2026-04-11 12:54:08] pong P2 E39/60 p=0.36 | T:0.004369(S:0.9916) V:0.067941(S:0.8662) LR:2.80e-05
82
+ [2026-04-11 12:54:42] pong P2 E40/60 p=0.36 | T:0.004299(S:0.9917) V:0.068663(S:0.8647) LR:2.58e-05
83
+ [2026-04-11 13:00:12] pong P2 E50/60 p=0.43 | T:0.004263(S:0.9918) V:0.068010(S:0.8660) LR:7.63e-06
84
+ [2026-04-11 13:00:46] pong P2 E51/60 p=0.44 | T:0.004230(S:0.9919) V:0.067890(S:0.8663) LR:6.40e-06
85
+ [2026-04-11 13:01:52] pong P2 E53/60 p=0.45 | T:0.004318(S:0.9917) V:0.067517(S:0.8670) LR:4.29e-06
86
+ [2026-04-11 13:04:04] pong P2 E57/60 p=0.48 | T:0.004302(S:0.9917) V:0.067187(S:0.8677) LR:1.61e-06
87
+ [2026-04-11 13:05:44] pong P2 E60/60 p=0.50 | T:0.004447(S:0.9914) V:0.067815(S:0.8664) LR:1.00e-06
88
+ [2026-04-11 13:05:44] Phase 2 done. Best: 0.067187
89
+ [2026-04-11 13:05:44] pong done.
90
+ [2026-04-11 13:05:44] === pole_position ===
91
+ [2026-04-11 13:05:44] pole_position: 1,465,155 params (2.8 MB fp16)
92
+ [2026-04-11 13:05:44] Phase 1: single-step, 60 epochs
93
+ [2026-04-11 13:05:45] pole_position train: 4216 seqs (len=9)
94
+ [2026-04-11 13:05:45] pole_position val: 496 seqs (len=9)
95
+ [2026-04-11 13:05:49] pole_position P1 E1/60 | T:0.037252(S:0.9416) V:0.029159(S:0.9564) LR:3.00e-04
96
+ [2026-04-11 13:05:52] pole_position P1 E2/60 | T:0.027650(S:0.9586) V:0.025044(S:0.9641) LR:2.99e-04
97
+ [2026-04-11 13:05:56] pole_position P1 E3/60 | T:0.024184(S:0.9646) V:0.021534(S:0.9696) LR:2.98e-04
98
+ [2026-04-11 13:06:07] pole_position P1 E6/60 | T:0.020115(S:0.9714) V:0.018734(S:0.9744) LR:2.93e-04
99
+ [2026-04-11 13:06:10] pole_position P1 E7/60 | T:0.019072(S:0.9731) V:0.018231(S:0.9752) LR:2.90e-04
100
+ [2026-04-11 13:06:18] pole_position P1 E9/60 | T:0.018433(S:0.9741) V:0.017916(S:0.9756) LR:2.84e-04
101
+ [2026-04-11 13:06:21] pole_position P1 E10/60 | T:0.017596(S:0.9755) V:0.017696(S:0.9762) LR:2.80e-04
102
+ [2026-04-11 13:06:24] pole_position P1 E11/60 | T:0.017178(S:0.9761) V:0.017356(S:0.9763) LR:2.76e-04
103
+ [2026-04-11 13:06:28] pole_position P1 E12/60 | T:0.017075(S:0.9763) V:0.016975(S:0.9773) LR:2.71e-04
104
+ [2026-04-11 13:06:31] pole_position P1 E13/60 | T:0.016618(S:0.9770) V:0.016731(S:0.9777) LR:2.67e-04
105
+ [2026-04-11 13:06:35] pole_position P1 E14/60 | T:0.016097(S:0.9779) V:0.016519(S:0.9779) LR:2.62e-04
106
+ [2026-04-11 13:06:42] pole_position P1 E16/60 | T:0.015453(S:0.9789) V:0.015770(S:0.9789) LR:2.51e-04
107
+ [2026-04-11 13:06:50] pole_position P1 E19/60 | T:0.014909(S:0.9798) V:0.015583(S:0.9793) LR:2.32e-04
108
+ [2026-04-11 13:06:53] pole_position P1 E20/60 | T:0.014630(S:0.9803) V:0.016502(S:0.9779) LR:2.25e-04
109
+ [2026-04-11 13:06:57] pole_position P1 E21/60 | T:0.014342(S:0.9807) V:0.015434(S:0.9795) LR:2.18e-04
110
+ [2026-04-11 13:07:07] pole_position P1 E24/60 | T:0.013604(S:0.9819) V:0.014749(S:0.9805) LR:1.97e-04
111
+ [2026-04-11 13:07:11] pole_position P1 E25/60 | T:0.013415(S:0.9822) V:0.014486(S:0.9809) LR:1.89e-04
112
+ [2026-04-11 13:07:24] pole_position P1 E29/60 | T:0.012692(S:0.9833) V:0.014053(S:0.9817) LR:1.58e-04
113
+ [2026-04-11 13:07:28] pole_position P1 E30/60 | T:0.012512(S:0.9837) V:0.013963(S:0.9817) LR:1.50e-04
114
+ [2026-04-11 13:07:49] pole_position P1 E36/60 | T:0.011523(S:0.9852) V:0.013798(S:0.9819) LR:1.04e-04
115
+ [2026-04-11 13:08:03] pole_position P1 E40/60 | T:0.011022(S:0.9860) V:0.013559(S:0.9823) LR:7.58e-05
116
+ [2026-04-11 13:08:39] pole_position P1 E50/60 | T:0.010179(S:0.9874) V:0.013684(S:0.9820) LR:2.10e-05
117
+ [2026-04-11 13:08:43] pole_position P1 E51/60 | T:0.010153(S:0.9874) V:0.013540(S:0.9822) LR:1.73e-05
118
+ [2026-04-11 13:09:15] pole_position P1 E60/60 | T:0.009967(S:0.9877) V:0.013765(S:0.9819) LR:1.00e-06
119
+ [2026-04-11 13:09:15] Phase 1 done. Best: 0.013540
120
+ [2026-04-11 13:09:15] Phase 2: scheduled sampling, 60 epochs
121
+ [2026-04-11 13:09:16] pole_position train: 4097 seqs (len=16)
122
+ [2026-04-11 13:09:16] pole_position val: 482 seqs (len=16)
123
+ [2026-04-11 13:09:32] pole_position P2 E1/60 p=0.10 | T:0.011101(S:0.9860) V:0.042673(S:0.9339) LR:9.99e-05
124
+ [2026-04-11 13:09:49] pole_position P2 E2/60 p=0.11 | T:0.011041(S:0.9861) V:0.043682(S:0.9319) LR:9.97e-05
125
+ [2026-04-11 13:10:07] pole_position P2 E3/60 p=0.11 | T:0.010996(S:0.9862) V:0.038148(S:0.9416) LR:9.94e-05
126
+ [2026-04-11 13:10:57] pole_position P2 E6/60 p=0.13 | T:0.010697(S:0.9867) V:0.037619(S:0.9424) LR:9.76e-05
127
+ [2026-04-11 13:12:04] pole_position P2 E10/60 p=0.16 | T:0.010188(S:0.9874) V:0.045133(S:0.9292) LR:9.34e-05
128
+ [2026-04-11 13:14:52] pole_position P2 E20/60 p=0.23 | T:0.009660(S:0.9883) V:0.041715(S:0.9351) LR:7.52e-05
129
+ [2026-04-11 13:16:16] pole_position P2 E25/60 p=0.26 | T:0.009767(S:0.9881) V:0.037325(S:0.9427) LR:6.33e-05
130
+ [2026-04-11 13:17:40] pole_position P2 E30/60 p=0.30 | T:0.009451(S:0.9886) V:0.039174(S:0.9398) LR:5.05e-05
131
+ [2026-04-11 13:20:28] pole_position P2 E40/60 p=0.36 | T:0.009126(S:0.9891) V:0.039122(S:0.9398) LR:2.58e-05
132
+ [2026-04-11 13:23:18] pole_position P2 E50/60 p=0.43 | T:0.009801(S:0.9881) V:0.039060(S:0.9395) LR:7.63e-06
133
+ [2026-04-11 13:26:06] pole_position P2 E60/60 p=0.50 | T:0.009635(S:0.9884) V:0.040264(S:0.9375) LR:1.00e-06
134
+ [2026-04-11 13:26:06] Phase 2 done. Best: 0.037325
135
+ [2026-04-11 13:26:06] pole_position done.
136
+ [2026-04-11 13:26:06] === sonic ===
137
+ [2026-04-11 13:26:06] sonic: 3,069,987 params (5.9 MB fp16)
138
+ [2026-04-11 13:26:06] Phase 1: single-step, 60 epochs
139
+ [2026-04-11 13:26:10] sonic train: 31744 seqs (len=9)
140
+ [2026-04-11 13:26:10] sonic val: 3968 seqs (len=9)
141
+ [2026-04-11 13:26:35] sonic P1 E1/60 | T:0.069060(S:0.8971) V:0.057515(S:0.9170) LR:3.00e-04
142
+ [2026-04-11 13:27:00] sonic P1 E2/60 | T:0.060649(S:0.9110) V:0.052312(S:0.9257) LR:2.99e-04
143
+ [2026-04-11 13:27:24] sonic P1 E3/60 | T:0.057490(S:0.9161) V:0.050457(S:0.9280) LR:2.98e-04
144
+ [2026-04-11 13:27:49] sonic P1 E4/60 | T:0.055098(S:0.9199) V:0.048999(S:0.9301) LR:2.97e-04
145
+ [2026-04-11 13:28:38] sonic P1 E6/60 | T:0.052624(S:0.9239) V:0.047400(S:0.9327) LR:2.93e-04
146
+ [2026-04-11 13:29:04] sonic P1 E7/60 | T:0.051328(S:0.9261) V:0.046810(S:0.9336) LR:2.90e-04
147
+ [2026-04-11 13:29:28] sonic P1 E8/60 | T:0.050342(S:0.9277) V:0.045101(S:0.9372) LR:2.87e-04
148
+ [2026-04-11 13:29:53] sonic P1 E9/60 | T:0.049282(S:0.9295) V:0.045081(S:0.9372) LR:2.84e-04
149
+ [2026-04-11 13:30:17] sonic P1 E10/60 | T:0.048563(S:0.9307) V:0.043960(S:0.9387) LR:2.81e-04
150
+ [2026-04-11 13:31:07] sonic P1 E12/60 | T:0.046712(S:0.9337) V:0.042660(S:0.9406) LR:2.72e-04
151
+ [2026-04-11 13:31:55] sonic P1 E14/60 | T:0.045315(S:0.9360) V:0.041965(S:0.9416) LR:2.63e-04
152
+ [2026-04-11 13:33:09] sonic P1 E17/60 | T:0.043766(S:0.9385) V:0.041042(S:0.9430) LR:2.46e-04
153
+ [2026-04-11 13:33:59] sonic P1 E19/60 | T:0.042444(S:0.9406) V:0.040346(S:0.9441) LR:2.34e-04
154
+ [2026-04-11 13:34:23] sonic P1 E20/60 | T:0.041944(S:0.9414) V:0.040673(S:0.9436) LR:2.28e-04
155
+ [2026-04-11 13:36:03] sonic P1 E24/60 | T:0.040292(S:0.9441) V:0.039781(S:0.9451) LR:2.00e-04
156
+ [2026-04-11 13:37:16] sonic P1 E27/60 | T:0.039002(S:0.9462) V:0.039572(S:0.9456) LR:1.78e-04
157
+ [2026-04-11 13:38:06] sonic P1 E29/60 | T:0.038307(S:0.9473) V:0.039195(S:0.9458) LR:1.63e-04
158
+ [2026-04-11 13:38:30] sonic P1 E30/60 | T:0.037976(S:0.9479) V:0.040381(S:0.9444) LR:1.55e-04
159
+ [2026-04-11 13:38:55] sonic P1 E31/60 | T:0.037548(S:0.9485) V:0.038913(S:0.9465) LR:1.47e-04
160
+ [2026-04-11 13:40:33] sonic P1 E35/60 | T:0.036240(S:0.9507) V:0.038783(S:0.9465) LR:1.17e-04
161
+ [2026-04-11 13:41:22] sonic P1 E37/60 | T:0.035665(S:0.9516) V:0.038439(S:0.9471) LR:1.03e-04
162
+ [2026-04-11 13:42:34] sonic P1 E40/60 | T:0.034775(S:0.9530) V:0.038820(S:0.9466) LR:8.25e-05
163
+ [2026-04-11 13:44:38] sonic P1 E45/60 | T:0.033688(S:0.9548) V:0.038289(S:0.9473) LR:5.25e-05
164
+ [2026-04-11 13:46:40] sonic P1 E50/60 | T:0.032844(S:0.9561) V:0.038260(S:0.9475) LR:2.94e-05
165
+ [2026-04-11 13:47:06] sonic P1 E51/60 | T:0.032732(S:0.9563) V:0.038153(S:0.9477) LR:2.58e-05
166
+ [2026-04-11 13:50:45] sonic P1 E60/60 | T:0.032145(S:0.9573) V:0.038372(S:0.9473) LR:1.00e-05
167
+ [2026-04-11 13:50:45] Phase 1 done. Best: 0.038153
168
+ [2026-04-11 13:50:45] Phase 2: scheduled sampling, 60 epochs
169
+ [2026-04-11 13:50:49] sonic train: 30848 seqs (len=16)
170
+ [2026-04-11 13:50:50] sonic val: 3856 seqs (len=16)
171
+ [2026-04-11 13:53:02] sonic P2 E1/60 p=0.10 | T:0.035967(S:0.9512) V:0.118967(S:0.8167) LR:9.99e-05
172
+ [2026-04-11 13:55:15] sonic P2 E2/60 p=0.11 | T:0.035770(S:0.9515) V:0.118287(S:0.8174) LR:9.98e-05
173
+ [2026-04-11 13:57:28] sonic P2 E3/60 p=0.11 | T:0.035381(S:0.9522) V:0.122014(S:0.8125) LR:9.94e-05
174
+ [2026-04-11 14:04:05] sonic P2 E6/60 p=0.13 | T:0.034956(S:0.9529) V:0.117017(S:0.8206) LR:9.78e-05
175
+ [2026-04-11 14:12:55] sonic P2 E10/60 p=0.16 | T:0.034698(S:0.9533) V:0.117476(S:0.8193) LR:9.40e-05
176
+ [2026-04-11 14:17:24] sonic P2 E12/60 p=0.17 | T:0.034611(S:0.9535) V:0.115832(S:0.8215) LR:9.14e-05
177
+ [2026-04-11 14:19:39] sonic P2 E13/60 p=0.18 | T:0.034478(S:0.9537) V:0.114368(S:0.8241) LR:9.00e-05
178
+ [2026-04-11 14:35:13] sonic P2 E20/60 p=0.23 | T:0.034558(S:0.9536) V:0.117719(S:0.8181) LR:7.75e-05
179
+ [2026-04-11 14:57:36] sonic P2 E30/60 p=0.30 | T:0.034837(S:0.9532) V:0.116228(S:0.8219) LR:5.50e-05
180
+ [2026-04-11 15:19:54] sonic P2 E40/60 p=0.36 | T:0.035641(S:0.9520) V:0.115377(S:0.8225) LR:3.25e-05
181
+ [2026-04-11 15:42:47] sonic P2 E50/60 p=0.43 | T:0.037232(S:0.9496) V:0.115988(S:0.8220) LR:1.60e-05
182
+ [2026-04-11 15:53:57] sonic P2 E55/60 p=0.47 | T:0.038198(S:0.9481) V:0.114105(S:0.8249) LR:1.15e-05
183
+ [2026-04-11 16:05:07] sonic P2 E60/60 p=0.50 | T:0.039487(S:0.9461) V:0.115122(S:0.8232) LR:1.00e-05
184
+ [2026-04-11 16:05:07] Phase 2 done. Best: 0.114105
185
+ [2026-04-11 16:05:07] sonic done.
186
+ [2026-04-11 16:05:07] pong: 2.3 MB
187
+ [2026-04-11 16:05:07] pole_position: 2.8 MB
188
+ [2026-04-11 16:05:07] sonic: 5.9 MB
189
+ [2026-04-11 16:05:07] Total: 11.0 MB
190
+ [2026-04-11 16:05:07] Training complete!