diff --git a/scripts/train/train_agent.py b/scripts/train/train_agent.py index 742cccc93c..528a8efa07 100644 --- a/scripts/train/train_agent.py +++ b/scripts/train/train_agent.py @@ -2,6 +2,7 @@ import json import sys from datetime import datetime +import traceback import gymnasium as gym import numpy as np @@ -343,6 +344,7 @@ def process_algorithm_parameters(alg_params: dict): except (Exception, KeyboardInterrupt) as err: print("Error or interruption in process detected") + print(traceback.print_exc(), file=sys.stderr) # Current model state save model.save(env.get_wrapper_attr('workspace_path') + '/model') diff --git a/scripts/train/train_agent_A2C.json b/scripts/train/train_agent_A2C.json index 0167fbc031..70fe999f5a 100644 --- a/scripts/train/train_agent_A2C.json +++ b/scripts/train/train_agent_A2C.json @@ -25,7 +25,7 @@ "stats_window_size": 100, "tensorboard_log": null, "policy_kwargs": null, - "verbose": 0, + "verbose": 1, "seed": null, "device": "auto", "_init_setup_model": true @@ -42,7 +42,11 @@ "LoggerWrapper": { "storage_class": "sinergym.utils.logger.LoggerStorage" }, - "CSVLogger": {} + "CSVLogger": {}, + "WandBLogger": { + "entity": "sail_ugr", + "project_name": "test_project" + } }, "evaluation": { "eval_freq": 2, diff --git a/scripts/train/train_agent_DDPG.json b/scripts/train/train_agent_DDPG.json index 4ec9b15f54..4d906423f3 100644 --- a/scripts/train/train_agent_DDPG.json +++ b/scripts/train/train_agent_DDPG.json @@ -22,7 +22,7 @@ "optimize_memory_usage": false, "tensorboard_log": null, "policy_kwargs": null, - "verbose": 0, + "verbose": 1, "seed": null, "device": "auto", "_init_setup_model": true @@ -39,7 +39,11 @@ "LoggerWrapper": { "storage_class": "sinergym.utils.logger.LoggerStorage" }, - "CSVLogger": {} + "CSVLogger": {}, + "WandBLogger": { + "entity": "sail_ugr", + "project_name": "test_project" + } }, "evaluation": { "eval_freq": 2, diff --git a/scripts/train/train_agent_DQN.json b/scripts/train/train_agent_DQN.json index f0d16b2fea..2faadccecb 100644 --- a/scripts/train/train_agent_DQN.json +++ b/scripts/train/train_agent_DQN.json @@ -42,7 +42,11 @@ "LoggerWrapper": { "storage_class": "sinergym.utils.logger.LoggerStorage" }, - "CSVLogger": {} + "CSVLogger": {}, + "WandBLogger": { + "entity": "sail_ugr", + "project_name": "test_project" + } }, "evaluation": { "eval_freq": 2, diff --git a/scripts/train/train_agent_PPO.json b/scripts/train/train_agent_PPO.json index 93dd95487a..068f102e02 100644 --- a/scripts/train/train_agent_PPO.json +++ b/scripts/train/train_agent_PPO.json @@ -44,7 +44,11 @@ "LoggerWrapper": { "storage_class": "sinergym.utils.logger.LoggerStorage" }, - "CSVLogger": {} + "CSVLogger": {}, + "WandBLogger":{ + "entity": "sail_ugr", + "project_name": "test_project" + } }, "evaluation": { "eval_freq": 2, diff --git a/scripts/train/train_agent_SAC.json b/scripts/train/train_agent_SAC.json index dab4b8f432..794ae16eb9 100644 --- a/scripts/train/train_agent_SAC.json +++ b/scripts/train/train_agent_SAC.json @@ -29,7 +29,7 @@ "stats_window_size": 100, "tensorboard_log": null, "policy_kwargs": null, - "verbose": 0, + "verbose": 1, "seed": null, "device": "auto", "_init_setup_model": true @@ -46,7 +46,11 @@ "LoggerWrapper": { "storage_class": "sinergym.utils.logger.LoggerStorage" }, - "CSVLogger": {} + "CSVLogger": {}, + "WandBLogger": { + "entity": "sail_ugr", + "project_name": "test_project" + } }, "evaluation": { "eval_freq": 2, diff --git a/scripts/train/train_agent_TD3.json b/scripts/train/train_agent_TD3.json index 4617e76ea2..beecfc7652 100644 --- a/scripts/train/train_agent_TD3.json +++ b/scripts/train/train_agent_TD3.json @@ -43,7 +43,11 @@ "LoggerWrapper": { "storage_class": "sinergym.utils.logger.LoggerStorage" }, - "CSVLogger": {} + "CSVLogger": {}, + "WandBLogger": { + "entity": "sail_ugr", + "project_name": "test_project" + } }, "evaluation": { "eval_freq": 2, diff --git a/sinergym/utils/callbacks.py b/sinergym/utils/callbacks.py index 947a062751..8ffa3da957 100644 --- a/sinergym/utils/callbacks.py +++ b/sinergym/utils/callbacks.py @@ -50,7 +50,7 @@ def __init__( self.train_env = train_env self.n_eval_episodes = n_eval_episodes self.eval_freq = eval_freq_episodes * \ - train_env.get_wrapper_attr('timestep_per_episode') - 3 + train_env.get_wrapper_attr('timestep_per_episode') - 30 self.save_path = self.train_env.get_wrapper_attr( 'workspace_path') + '/evaluation' # Make dir if not exists diff --git a/sinergym/utils/logger.py b/sinergym/utils/logger.py index b539e00659..13189f8380 100644 --- a/sinergym/utils/logger.py +++ b/sinergym/utils/logger.py @@ -167,4 +167,4 @@ def write( if isinstance(value, np.ScalarType): if not isinstance(value, str): - wandb.log({key: value}, step=step) + wandb.log({key: value}, commit=False) diff --git a/sinergym/version.txt b/sinergym/version.txt index 3c8ff8c36b..80d13b7d9b 100644 --- a/sinergym/version.txt +++ b/sinergym/version.txt @@ -1 +1 @@ -3.5.1 \ No newline at end of file +3.5.2 \ No newline at end of file