Deep CFR imitation pretraining 추가

This commit is contained in:
2026-05-07 00:12:41 +09:00
parent 8f54415832
commit 647baa7d6d
3 changed files with 167 additions and 0 deletions
@@ -0,0 +1,31 @@
from __future__ import annotations
from coolrl_lost_cities.games.classic.game import LostCitiesConfig
from coolrl_lost_cities.games.classic.deep_cfr.imitation import (
collect_safe_heuristic_samples,
new_pretrained_strategy_network,
)
def test_collect_safe_heuristic_samples_shapes() -> None:
x, y, legal = collect_safe_heuristic_samples(LostCitiesConfig(seed=61), games=1, seed=61)
assert len(x) == len(y) == len(legal)
assert x.ndim == 2
assert y.shape == legal.shape
assert y.sum(axis=1).min() == 1.0
def test_pretrain_strategy_network_smoke() -> None:
network, metrics = new_pretrained_strategy_network(
LostCitiesConfig(seed=67),
hidden_size=16,
games=1,
seed=67,
steps=1,
)
assert metrics.samples > 0
assert metrics.loss >= 0.0
assert network is not None