sinergym.utils.wrappers.WandBLogger

class sinergym.utils.wrappers.WandBLogger(env: Env, entity: str, project_name: str, run_name: str | None = None, group: str | None = None, tags: List[str] | None = None, save_code: bool = False, dump_frequency: int = 1000, artifact_save: bool = True, artifact_type: str = 'output', excluded_info_keys: List[str] = ['reward', 'action', 'timestep', 'month', 'day', 'hour', 'time_elapsed(hours)', 'reward_weight', 'is_raining'], excluded_episode_summary_keys: List[str] = ['terminated', 'truncated'])
__init__(env: Env, entity: str, project_name: str, run_name: str | None = None, group: str | None = None, tags: List[str] | None = None, save_code: bool = False, dump_frequency: int = 1000, artifact_save: bool = True, artifact_type: str = 'output', excluded_info_keys: List[str] = ['reward', 'action', 'timestep', 'month', 'day', 'hour', 'time_elapsed(hours)', 'reward_weight', 'is_raining'], excluded_episode_summary_keys: List[str] = ['terminated', 'truncated'])

Wrapper to log data in WandB platform. It is required to be wrapped by a BaseLoggerWrapper child class previously.

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

  • entity (str) – The entity to which the project belongs.

  • project_name (str) – The project name.

  • run_name (Optional[str]) – The name of the run. Defaults to None (Sinergym env name + wandb unique identifier).

  • tags (Optional[List[str]]) – List of tags for the run. Defaults to None.

  • save_code (bool) – Whether to save the code in the run. Defaults to False.

  • dump_frequency (int) – Frequency to dump log in platform. Defaults to 1000.

  • artifact_save (bool) – Whether to save artifacts in WandB. Defaults to True.

  • artifact_type (str) – Type of artifact to save. Defaults to ‘output’.

  • excluded_info_keys (List[str]) – List of keys to exclude from info dictionary. Defaults to [‘reward’, ‘action’, ‘timestep’, ‘month’, ‘day’, ‘hour’, ‘time_elapsed(hours)’, ‘reward_weight’, ‘is_raining’].

  • excluded_episode_summary_keys (List[str]) – List of keys to exclude from episode summary. Defaults to [‘terminated’, ‘truncated’].

Methods

__init__(env, entity, project_name[, ...])

Wrapper to log data in WandB platform.

class_name()

Returns the class name of the wrapper.

close()

Recording last episode summary and close env.

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.

save_artifact()

Save sinergym output as artifact in WandB platform.

set_wandb_finish(wandb_finish)

Set if WandB run must be finished when environment is closed.

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.

wandb_log()

Log last step information in WandB platform.

wandb_log_summary()

Log episode summary in WandB platform.

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.

close() None

Recording last episode summary and close env.

Parameters:

wandb_finish (bool) – Whether to finish WandB run. Defaults to True.

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

Reset the environment. Recording episode summary in WandB platform if it is not the first episode.

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

save_artifact() None

Save sinergym output as artifact in WandB platform.

set_wandb_finish(wandb_finish: bool) None

Set if WandB run must be finished when environment is closed.

Parameters:

wandb_finish (bool) – Whether to finish WandB run.

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

Sends action to the environment. Logging new interaction information in WandB platform.

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

wandb_log() None

Log last step information in WandB platform.

wandb_log_summary() None

Log episode summary in WandB platform.