sinergym.utils.wrappers.LoggerWrapper

class sinergym.utils.wrappers.LoggerWrapper(env: ~sinergym.envs.eplus_env.EplusEnv, logger_class: ~typing.Callable = <class 'sinergym.utils.logger.CSVLogger'>, monitor_header: ~typing.List[str] | None = None, progress_header: ~typing.List[str] | None = None, flag: bool = True)
__init__(env: ~sinergym.envs.eplus_env.EplusEnv, logger_class: ~typing.Callable = <class 'sinergym.utils.logger.CSVLogger'>, monitor_header: ~typing.List[str] | None = None, progress_header: ~typing.List[str] | None = None, flag: bool = True)

CSVLogger to log interactions with environment.

Parameters:
  • env (EplusEnv) – Original Gym environment in Sinergym.

  • logger_class (CSVLogger) – CSV Logger class to use to log all information.

  • monitor_header – Header for monitor.csv in each episode. Default is None (default format).

  • progress_header – Header for progress.csv in whole simulation. Default is None (default format).

  • flag (bool, optional) – State of logger (activate or deactivate). Defaults to True.

Methods

__init__(env[, logger_class, ...])

CSVLogger to log interactions with environment.

activate_logger()

Activate logger if its flag False.

class_name()

Returns the class name of the wrapper.

close()

Recording last episode summary and close env.

deactivate_logger()

Deactivate logger if its flag True.

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.

set_wrapper_attr(name, value)

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

step(action)

Sends action to the environment.

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.

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.

activate_logger() None

Activate logger if its flag False.

close() None

Recording last episode summary and close env.

deactivate_logger() None

Deactivate logger if its flag True.

logger = <Logger WRAPPER LoggerWrapper (INFO)>
reset(seed: int | None = None, options: Dict[str, Any] | None = None) Tuple[ndarray, Dict[str, Any]]

Reset the environment. Recording episode summary in logger

Parameters:
  • seed (Optional[int]) – The seed that is used to initialize the environment’s episode (np_random). if value is None, a seed will be chosen from some source of entropy. Defaults to None.

  • options (Optional[Dict[str, Any]]) – Additional information to specify how the environment is reset. Defaults to None.

Returns:

Current observation and info context with additional information.

Return type:

Tuple[np.ndarray,Dict[str,Any]]

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

Sends action to the environment. Logging new information in monitor.csv.

Parameters:

action (Union[int, float, np.integer, np.ndarray, List[Any], Tuple[Any]]) – Action selected by the agent.

Returns:

Observation for next timestep, reward obtained, Whether the episode has ended or not, Whether episode has been truncated or not, and a dictionary with extra information

Return type:

Tuple[np.ndarray, float, bool, Dict[str, Any]]