LogStatsEnv

class maze.core.log_stats.log_stats_env.LogStatsEnv

Interface to access logging statistics generated by the environment. Most envs won’t implement this directly, but use the LogStatsWrapper to implement this functionality.

abstract clear_epoch_stats()None
Use this to clear episode statistics collected so far in this epoch (i.e., inputs for epoch stats),

and start fresh.

This can be useful for clearing left-over statistics. E.g., in later epochs, there might be an environment left in the middle of an unfinished episode, which should not be counted into the current epoch.

abstract get_stats(level: maze.core.log_stats.log_stats.LogStatsLevel)maze.core.log_stats.log_stats.LogStatsAggregator

Get access to the statistics aggregator, which can be used to receive the latest statistics dictionary (via last_stats()) or to register log consumers.

Parameters

level – The statistics aggregation level (LogStatsLevel.STEP, LogStatsLevel.EPISODE or LogStatsLevel.EPOCH)

Returns

The statistics aggregator

abstract get_stats_value(event: Callable, level: maze.core.log_stats.log_stats.LogStatsLevel, name: Optional[str] = None) → Union[int, float, numpy.ndarray, dict]

Obtain a single value from the statistics dict.

Parameters
  • event – The event interface method of the value in question

  • level – The statistics aggregation level (LogStatsLevel.STEP, LogStatsLevel.EPISODE or LogStatsLevel.EPOCH)

  • name – The output_name of the statistics in case it has been specified in maze.core.log_stats.event_decorators.define_epoch_stats()

Returns

The statistics dictionary

abstract write_epoch_stats()None

Use this if you do not want to wait for the next maze.core.log_stats.log_stats.increment_log_step() call to update the epoch statistics.

This can be useful in a training scenario to get the results of the evaluation rollouts immediately, instead of waiting for the next log step increment to occur.