sinergym.utils.wrappers.BaseLoggerWrapper

class sinergym.utils.wrappers.BaseLoggerWrapper(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'>)

Base class for LoggerWrapper and its children classes.

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

Base class for LoggerWrapper and its children classes.

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.

has_wrapper_attr(name)

Checks if the given attribute is within the wrapper or its environment.

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.

set_wrapper_attr(name, value)

Sets an attribute on this wrapper or lower environment if name is already defined.

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.

metadata

Returns the Env metadata.

np_random

Returns the Env np_random attribute.

np_random_seed

Returns the base environment's np_random_seed.

observation_space

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

render_mode

Returns the Env render_mode.

spec

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

unwrapped

Returns the base environment of the wrapper.

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

close()

Close the environment and save normalization calibration.

abstract 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]

reset(seed: int | None = None, options: Dict[str, Any] | None = None) Tuple[ndarray, Dict[str, Any]]

Reset the environment and the information logged.

step(action: int | ndarray) Tuple[ndarray, float, bool, bool, Dict[str, Any]]

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