Files
coorl-lost-cities/tests/games/classic/test_deep_cfr_policy_gradient.py
T

28 lines
883 B
Python

from __future__ import annotations
from coolrl_lost_cities.games.classic.deep_cfr.encoding import input_dim
from coolrl_lost_cities.games.classic.game import GameState, LostCitiesConfig
from coolrl_lost_cities.games.classic.deep_cfr.networks import DeepCFRMLP
from coolrl_lost_cities.games.classic.deep_cfr.policy_gradient import (
fine_tune_strategy_policy_gradient,
)
def test_policy_gradient_fine_tune_smoke() -> None:
config = LostCitiesConfig(seed=71)
state = GameState.new_game(config, seed=71)
network = DeepCFRMLP(input_dim(state), 2 * config.hand_size + 1 + config.n_colors, 16)
metrics = fine_tune_strategy_policy_gradient(
network,
config,
episodes=1,
seed=71,
max_steps=64,
)
assert metrics.episodes == 1
assert isinstance(metrics.avg_reward, float)
assert isinstance(metrics.loss, float)