EnvironmentContext

class maze.core.env.environment_context.EnvironmentContext

This class keeps track of services that can be employed by all objects of the agent-environment loop.

Currently the context is populated by

  • Event service: Acts as backend of the PubSub service, collects all events from the env. The event service can also be directly facilitated by components outside the environment (e.g. agent, heuristics, state/observation mapping)

  • Episode ID: Generates and keeps track of the current episode ID Episode IDs are used for connecting logged statistics, events and recorded trajectory data together, making analysis and drill-down across these different levels possible.

  • Step ID: Tracks ID of the core env step we are currently in. Helps wrappers recognize core env steps in multi-step scenarios.

property episode_id

Get the episode ID.

Episode ID is a UUID generated in a lazy manner, ensuring that if the ID is not needed, the potentially costly random UUID generation is avoided. Once generated, it stays the same for the entire episode and then is reset.

Returns

Episode UUID as string

increment_env_step()None

This must be called after the env step execution, to notify the services about the start of a new step.

reset_env_episode()

This must be called when resetting the environment, to notify the context about the start of a new episode.