flatland.trajectories.policy_runner module#

class flatland.trajectories.policy_runner.PolicyRunner(policy: Policy, trajectory: Trajectory, by_pass_env: RailEnv | None = None, callbacks: FlatlandCallbacks | None = None, end_step=None, obs_builder: ObservationBuilder[Any, RailEnv] | None = None, rewards: Rewards | None = None, effects_generator: EffectsGenerator[RailEnv] | None = None)[source]#

Bases: object

change_policy(policy: Policy, obs_builder: ObservationBuilder)[source]#
static create_from_policy(policy: Policy, data_dir: Path, env: AbstractRailEnv | None = None, snapshot_interval: int = 1, ep_id: str | None = None, callbacks: FlatlandCallbacks | None = None, tqdm_kwargs: dict | None = None, end_step: int | None = None, no_save: bool = False) Trajectory[source]#
property env_time#
property policy#
static resume(policy: Policy, trajectory: Trajectory, by_pass_env: RailEnv | None = None, snapshot_interval: int = 1, callbacks: FlatlandCallbacks | None = None, tqdm_kwargs: dict | None = None, end_step: int | None = None, obs_builder: ObservationBuilder[Any, RailEnv] | None = None, rewards: Rewards | None = None, effects_generator: EffectsGenerator[RailEnv] | None = None) Trajectory[source]#

Creates trajectory by running submission (policy and obs builder).

Always backs up the actions and positions for steps executed in the tsvs. Can start from existing trajectory.

Parameters#

policyPolicy

the submission’s policy

trajectory : Trajectory by_pass_env : RailEnv

Deprecated: pass env directly to avoid loading env (graph envs do not support env persistence yet).

snapshot_intervalint

interval to write pkl snapshots

callbacks: FlatlandCallbacks

callbacks to run during trajectory creation

tqdm_kwargs: dict

additional kwargs for tqdm

end_stepint

stop evaluation at intermediate step excl. Capped by env’s max_episode_steps

Returns#

Trajectory

step(persist: bool = False) Tuple[Trajectory, bool][source]#

Execute one environment step. Returns (trajectory, done).