sinergym.utils.wrappers.WandBLogger
- class sinergym.utils.wrappers.WandBLogger(env: Env, entity: str | None = None, project_name: str | None = None, run_name: str | None = None, group: str | None = None, job_type: str | None = None, tags: List[str] | None = None, episode_percentage: float = 0.9, 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 | None = None, project_name: str | None = None, run_name: str | None = None, group: str | None = None, job_type: str | None = None, tags: List[str] | None = None, episode_percentage: float = 0.9, 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 (Optional[str]) – The entity to which the project belongs. If you are using a previous wandb run, it is not necessary to specify it. Defaults to None.
project_name (Optional[str]) – The project name. If you are using a previous wandb run, it is not necessary to specify it. Defaults to None.
run_name (Optional[str]) – The name of the run. Defaults to None (Sinergym env name + wandb unique identifier).
group (Optional[str]) – The name of the group to which the run belongs. Defaults to None.
job_type (Optional[str]) – The type of job. Defaults to None.
tags (Optional[List[str]]) – List of tags for the run. Defaults to None.
episode_percentage (float) – Percentage of episode which must be completed to log episode summary. Defaults to 0.9.
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.
render
()Uses the
render()
of theenv
that can be overwritten to change the returned data.reset
([seed, options])Reset the environment.
Save sinergym output as artifact in WandB platform.
set_wandb_finish
(wandb_finish)Set if WandB run must be finished when environment is closed.
step
(action)Sends action to the environment.
Log last step information in WandB platform.
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 wrapperaction_space
is used.metadata
Returns the
Env
metadata
.np_random
Returns the
Env
np_random
attribute.observation_space
Return the
Env
observation_space
unless overwritten then the wrapperobservation_space
is used.render_mode
Returns the
Env
render_mode
.reward_range
Return the
Env
reward_range
unless overwritten then the wrapperreward_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.
- 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.