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.
has_wrapper_attr(name)Checks if the given attribute is within the wrapper or its environment.
render()Uses the
render()of theenvthat 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.
set_wrapper_attr(name, value, *[, force])Sets an attribute on this wrapper or lower environment if name is already defined.
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_spaceReturn the
Envaction_spaceunless overwritten then the wrapperaction_spaceis used.metadataReturns the
Envmetadata.np_randomReturns the
Envnp_randomattribute.np_random_seedReturns the base environment's
np_random_seed.observation_spaceReturn the
Envobservation_spaceunless overwritten then the wrapperobservation_spaceis used.render_modeReturns the
Envrender_mode.specReturns the
Envspecattribute with the WrapperSpec if the wrapper inherits from EzPickle.unwrappedReturns 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.