Views
No views yet
| Phase | Description | Opponents | Key Technique |
|---|---|---|---|
| 1 | MaskablePPO baseline | Random valid actions | Invalid action masking |
| 2 | Adaptive exploration | Random + visit-count bonus | Annealing: α = 1 − tanh(k·deaths) |
| 3 | Curriculum self-play | Rule-based (static → smart) | Elo-style difficulty progression |
sb3-contrib): Handles invalid actions by setting logits to -∞ before softmax. Proven superior to action penalties (Huang & Ontañón, 2020).1# Download the environment (auto-bootstrapped in script)
2python -c "from huggingface_hub import snapshot_download; snapshot_download('e-rong/til-26-ae', repo_type='space', local_dir='./til-26-ae-repo')"1export TOTAL_TIMESTEPS="500_000:500_000:1_000_000"
2export HUB_MODEL_ID="E-Rong/til-26-ae-agent"
3export TRACKIO_PROJECT="til-26-ae"
4python train_all_phases.py1# Requires HF credits — run from a Space with the script uploaded
2# Hardware: cpu-upgrade or a10g-large for GPU accelerationE-Rong/til-26-ae-trackiotrain/mean_episode_rewardtrain/mean_episode_lengthtrain/mean_explore_bonus (Phase 2)train/curriculum_stage (Phase 3)train_all_phases.py # Full 3-phase pipeline
requirements.txt # Dependencies
bomberman_phase1_final.zip # Saved after Phase 1
bomberman_phase2_final.zip # Saved after Phase 2
bomberman_phase3_final.zip # Saved after Phase 31from train_all_phases import BombermanSingleAgentEnv
2from sb3_contrib import MaskablePPO
3from til_environment.config import default_config
4
5cfg = default_config()
6env = BombermanSingleAgentEnv(cfg=cfg)
7model = MaskablePPO.load("bomberman_phase3_final")
8
9obs, _ = env.reset(seed=42)
10for _ in range(200):
11 action, _ = model.predict(obs, action_masks=env.action_masks())
12 obs, reward, done, truncated, info = env.step(action)
13 if done or truncated:
14 break
15env.close()1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model_id = "E-Rong/til-26-ae-agent"
4tokenizer = AutoTokenizer.from_pretrained(model_id)
5model = AutoModelForCausalLM.from_pretrained(model_id)AutoModelForCausalLM with the appropriate AutoModel class.