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).