From 3a09a6eb7d9f923178d8f84aa0fdfe4ce0763ae5 Mon Sep 17 00:00:00 2001 From: Arec Jamgochian Date: Sun, 7 Aug 2022 16:33:09 -0700 Subject: [PATCH] adding idm override option flag, set to true. current running experiments for gail and shail experiment A to see how different times are. Since were on cpus on the cluster, guessing it will be 10x --- bc-experiment.py | 4 ++++ eval_experiments.py | 8 ++++---- gail-experiment.py | 5 ++++- shail-experiment.py | 6 +++++- train_models.sh | 8 ++++---- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/bc-experiment.py b/bc-experiment.py index 1f1f0cf..9c1f0d2 100644 --- a/bc-experiment.py +++ b/bc-experiment.py @@ -55,6 +55,7 @@ def training_function(config): ), check_collisions=True, stop_on_collision=config['trainenv']['stop_on_collision'], + use_idm=config['trainenv']['use_idm'], ), collision_distance=6, collision_penalty=100), lambda obs: (obs - obs_min) / (obs_max - obs_min + 1e-10) )) for _ in range(60)] @@ -68,6 +69,8 @@ def training_function(config): ), check_collisions=True, stop_on_collision=config['trainenv']['stop_on_collision'], + use_idm=config['trainenv']['use_idm'], + track=track, ), collision_distance=6, collision_penalty=100), lambda obs: (obs - obs_min) / (obs_max - obs_min + 1e-10) )) for _ in range(15)] for track in range(4)],[]) @@ -159,6 +162,7 @@ if __name__ == '__main__': 'experiment': args.train, 'trainenv': { 'stop_on_collision': False, + 'use_idm':True, }, 'policy': { 'learning_rate': 3e-4, diff --git a/eval_experiments.py b/eval_experiments.py index 109c5d5..07a1dbc 100644 --- a/eval_experiments.py +++ b/eval_experiments.py @@ -12,16 +12,16 @@ def main(method:str='expert', folder:str=None, locations=[(0,0)], skip_running=F policy_kwargs = {} if method in ['expert', 'idm']: - env, env_kwargs ='NRasterizedRouteIncrementingAgent', {} + env, env_kwargs ='NRasterizedRouteIncrementingAgent', {'use_idm':True} elif method in ['bc','gail']: env='NormalizedContinuousEvalEnv' - env_kwargs={'stop_on_collision':True, 'max_episode_steps':1000} + env_kwargs={'stop_on_collision':True, 'max_episode_steps':1000, 'use_idm':True} elif method in ['hail']: env = 'NormalizedSafeOptionsEvalEnv' - env_kwargs={'stop_on_collision':True, 'max_episode_steps':1000, 'safe_actions_collision_method': None, 'abort_unsafe_collision_method': None} + env_kwargs={'stop_on_collision':True, 'max_episode_steps':1000, 'safe_actions_collision_method': None, 'abort_unsafe_collision_method': None, 'use_idm':True} elif method in ['shail']: env = 'NormalizedSafeOptionsEvalEnv' - env_kwargs={'stop_on_collision':True, 'max_episode_steps':1000} + env_kwargs={'stop_on_collision':True, 'max_episode_steps':1000, 'use_idm':True} else: raise NotImplementedError diff --git a/gail-experiment.py b/gail-experiment.py index eb7cec4..4c7c028 100644 --- a/gail-experiment.py +++ b/gail-experiment.py @@ -53,6 +53,7 @@ def training_function(config): ), check_collisions=True, stop_on_collision=config['trainenv']['stop_on_collision'], + use_idm=config['trainenv']['use_idm'], ), collision_distance=6, collision_penalty=100), lambda obs: (obs - obs_min) / (obs_max - obs_min + 1e-10) )) for _ in range(60)] @@ -67,6 +68,7 @@ def training_function(config): ), check_collisions=True, stop_on_collision=config['trainenv']['stop_on_collision'], + use_idm=config['trainenv']['use_idm'], track=track, ), collision_distance=6, collision_penalty=100), lambda obs: (obs - obs_min) / (obs_max - obs_min + 1e-10) @@ -169,7 +171,8 @@ if __name__ == '__main__': config={ 'experiment': args.train, 'trainenv': { - 'stop_on_collision': False, + 'stop_on_collision': False, + 'use_idm': True, }, 'policy': { 'learning_rate': 3e-4, diff --git a/shail-experiment.py b/shail-experiment.py index e46d6bc..11f9d34 100644 --- a/shail-experiment.py +++ b/shail-experiment.py @@ -58,6 +58,7 @@ def training_function(config): ), check_collisions=True, stop_on_collision=config['trainenv']['stop_on_collision'], + use_idm=config['trainenv']['use_idm'], ), collision_distance=6, collision_penalty=100), lambda obs: (obs - obs_min) / (obs_max - obs_min + 1e-10)) ), options=option_list[config['policy']['option']], safe_actions_collision_method=config['trainenv']['safe_actions_collision_method'], @@ -73,7 +74,9 @@ def training_function(config): collision_penalty=0 ), check_collisions=True, - stop_on_collision=config['trainenv']['stop_on_collision'], track=track, + stop_on_collision=config['trainenv']['stop_on_collision'], + use_idm=config['trainenv']['use_idm'], + track=track, ), collision_distance=6, collision_penalty=100), lambda obs: (obs - obs_min) / (obs_max - obs_min + 1e-10)) ), options=option_list[config['policy']['option']], safe_actions_collision_method=config['trainenv']['safe_actions_collision_method'], @@ -180,6 +183,7 @@ if __name__ == '__main__': 'stop_on_collision': False, 'safe_actions_collision_method': 'circle', 'abort_unsafe_collision_method': 'circle', + 'use_idm':True, }, 'policy': { 'learning_rate': 3e-4, diff --git a/train_models.sh b/train_models.sh index dd0590a..125ccb7 100755 --- a/train_models.sh +++ b/train_models.sh @@ -18,11 +18,11 @@ python shail-experiment.py --train B # Experiment A python bc-experiment.py --test best_configs/bc_expA.json python gail-experiment.py --test best_configs/gail_expA.json -python shail-experiment.py --train best_configs/hail_expA.json -python shail-experiment.py --train best_configs/shail_expA.json +python shail-experiment.py --test best_configs/hail_expA.json +python shail-experiment.py --test best_configs/shail_expA.json # Experiment B python bc-experiment.py --test best_configs/bc_expB.json python gail-experiment.py --test best_configs/gail_expB.json -python shail-experiment.py --train best_configs/hail_expB.json -python shail-experiment.py --train best_configs/shail_expB.json \ No newline at end of file +python shail-experiment.py --test best_configs/hail_expB.json +python shail-experiment.py --test best_configs/shail_expB.json \ No newline at end of file