sinergym.utils.wrappers.LoggerWrapper

class sinergym.utils.wrappers.LoggerWrapper(env: ~gymnasium.core.Env, storage_class: ~typing.Callable = <class 'sinergym.utils.logger.LoggerStorage'>)
__init__(env: ~gymnasium.core.Env, storage_class: ~typing.Callable = <class 'sinergym.utils.logger.LoggerStorage'>)

Wrapper to log data from environment interaction.

Parameters:
  • env (Env) – Original Sinergym environment.

  • storage_class (Callable, optional) – Storage class to be used. Defaults to Sinergym LoggerStorage class.

Methods

__init__(env[, storage_class])

Wrapper to log data from environment interaction.

calculate_custom_metrics(obs, action, ...)

Calculate custom metrics from current interaction (or passed using self.data_logger attributes)

class_name()

Returns the class name of the wrapper.

close()

Close the environment and save normalization calibration.

get_episode_summary()

Return data summary for the logger. This method should be implemented in the child classes.

get_wrapper_attr(name)

Gets an attribute from the wrapper and lower environments if name doesn't exist in this object.

render()

Uses the render() of the env that can be overwritten to change the returned data.

reset([seed, options])

Reset the environment and the information logged.

step(action)

Uses the step() of the env that can be overwritten to change the returned data.

wrapper_spec(**kwargs)

Generates a WrapperSpec for the wrappers.

Attributes

action_space

Return the Env action_space unless overwritten then the wrapper action_space is used.

logger

metadata

Returns the Env metadata.

np_random

Returns the Env np_random attribute.

observation_space

Return the Env observation_space unless overwritten then the wrapper observation_space is used.

render_mode

Returns the Env render_mode.

reward_range

Return the Env reward_range unless overwritten then the wrapper reward_range is used.

spec

Returns the Env spec attribute with the WrapperSpec if the wrapper inherits from EzPickle.

unwrapped

Returns the base environment of the wrapper.

calculate_custom_metrics(obs: ndarray, action: int | ndarray, reward: float, info: Dict[str, Any], terminated: bool, truncated: bool)

Calculate custom metrics from current interaction (or passed using self.data_logger attributes)

Parameters:
  • obs (np.ndarray) – Observation from environment.

  • action (Union[int, np.ndarray]) – Action taken in environment.

  • reward (float) – Reward received from environment.

  • info (Dict[str, Any]) – Information from environment.

  • terminated (bool) – Flag to indicate if episode is terminated.

  • truncated (bool) – Flag to indicate if episode is truncated.

get_episode_summary() Dict[str, float]
Return data summary for the logger. This method should be implemented in the child classes.

This method determines the data summary of episodes in Sinergym environments.

Returns:

Data summary.

Return type:

Dict[str, float]

logger = <Logger WRAPPER LoggerWrapper (INFO)>