← Lab

Improve by playing against an opponent

CPU · Python 3.12.13 · 2.77 s · 2026-10-22 08:56:05 UTC+8

Saved run results

score-0.00017269684974360877
steps500
epochs2
checkpoints2
previewkuhn-poker-learned-policy.gif
Dependency cache ready: /Users/sanbu/Documents/Codex/2026-10-20/revie/work/chapter-lab-runs/studio-en/workspaces/selfplay/.cache/online-experiments/hands-on-modern-rl-experiment04-board-selfplay-9becbb2cc824.ready
Repository: /Users/sanbu/Documents/Codex/2026-10-20/revie/work/chapter-lab-runs/studio-en/workspaces/selfplay
Experiment runtime: /Users/sanbu/Documents/Codex/2026-10-20/revie/work/chapter-lab-runs/studio-en/workspaces/selfplay/modelscope-space/hands-on-modern-rl-experiment04-board-selfplay
Available tasks:
  kuhn-poker           Kuhn Poker · kuhn_poker
  leduc-poker          Leduc Poker · leduc_poker
  tic-tac-toe          Tic-Tac-Toe · tic_tac_toe
  connect-four         Connect Four · connect_four

Selected: Kuhn Poker
Algorithm: CFR+
Epoch schedule: 2 epochs × 250 steps = 500 total steps
Every epoch is evaluated and saved as a separately selectable model.
Device: CPU
Starting the same training generator used by the live Studio...

Optional module pokerkit_wrapper was not importable: No module named 'pokerkit'
CFR+ iteration=250 exploitability=0.00041426
SAVE epoch=1/2 policy=policy.npz
CFR+ iteration=500 exploitability=0.00017270
SAVE epoch=2/2 policy=policy.npz
Saved 2 CFR policies and sampled one terminal game per epoch
Final phase: complete
Final score: -0.00017269684974360877
Saved 2 selectable epoch models in this run.
Model index: /Users/sanbu/Documents/Codex/2026-10-20/revie/work/chapter-lab-runs/studio-en/workspaces/selfplay/modelscope-space/hands-on-modern-rl-experiment04-board-selfplay/artifacts/notebook-models.json
Experiment output
Run the inference cell below to choose an epoch model and visualize its exact learned policy.
VBox(children=(Dropdown(description='Epoch model:', layout=Layout(width='95%'), options=(('Epoch 2/2 · 500 ste…
The newest epoch is selected by default. Choose another saved model, then click Visualize selected policy.
Experiment output
{
  "score": -0.00017269684974360877,
  "steps": 500,
  "epochs": 2,
  "checkpoints": 2,
  "preview": "kuhn-poker-learned-policy.gif"
}
metrics.json
{
  "score": -0.00017269684974360877,
  "steps": 500,
  "epochs": 2,
  "checkpoints": 2,
  "preview": "kuhn-poker-learned-policy.gif"
}