From 5e8195802acab5c0f1ec4e7a05f8b56b7a5a2ef9 Mon Sep 17 00:00:00 2001 From: Edoardo Cetin Date: Fri, 14 Sep 2018 17:30:28 +0100 Subject: [PATCH 1/3] Making hw2 work without the need of generating multiple processes --- .../1/log.txt | 0 .../1/params.json | 15 ++++++ hw2/train_pg_f18.py | 53 ++++++++----------- 3 files changed, 37 insertions(+), 31 deletions(-) create mode 100644 hw2/data/aaa_CartPole-v0_14-09-2018_17-26-16/1/log.txt create mode 100644 hw2/data/aaa_CartPole-v0_14-09-2018_17-26-16/1/params.json diff --git a/hw2/data/aaa_CartPole-v0_14-09-2018_17-26-16/1/log.txt b/hw2/data/aaa_CartPole-v0_14-09-2018_17-26-16/1/log.txt new file mode 100644 index 000000000..e69de29bb diff --git a/hw2/data/aaa_CartPole-v0_14-09-2018_17-26-16/1/params.json b/hw2/data/aaa_CartPole-v0_14-09-2018_17-26-16/1/params.json new file mode 100644 index 000000000..d3fca708c --- /dev/null +++ b/hw2/data/aaa_CartPole-v0_14-09-2018_17-26-16/1/params.json @@ -0,0 +1,15 @@ +{"animate" : false, +"env_name" : "CartPole-v0", +"exp_name" : "aaa", +"gamma" : 1.0, +"learning_rate" : 0.005, +"logdir" : "data\\aaa_CartPole-v0_14-09-2018_17-26-16\\1", +"max_path_length" : null, +"min_timesteps_per_batch" : 5000, +"n_iter" : 100, +"n_layers" : 2, +"nn_baseline" : false, +"normalize_advantages" : true, +"reward_to_go" : true, +"seed" : 1, +"size" : 64} \ No newline at end of file diff --git a/hw2/train_pg_f18.py b/hw2/train_pg_f18.py index ecca81964..a05c165d3 100644 --- a/hw2/train_pg_f18.py +++ b/hw2/train_pg_f18.py @@ -81,6 +81,9 @@ def init_tf_sess(self): self.sess.__enter__() # equivalent to `with self.sess:` tf.global_variables_initializer().run() #pylint: disable=E1101 + def close_tf_sess(self): + self.sess.__exit__(None, None, None) + tf.reset_default_graph() #========================================================================================# # ----------PROBLEM 2---------- #========================================================================================# @@ -629,6 +632,7 @@ def train_PG( logz.dump_tabular() logz.pickle_tf_vars() + agent.close_tf_sess() def main(): import argparse @@ -659,41 +663,28 @@ def main(): max_path_length = args.ep_len if args.ep_len > 0 else None - processes = [] - for e in range(args.n_experiments): seed = args.seed + 10*e print('Running experiment with seed %d'%seed) - def train_func(): - train_PG( - exp_name=args.exp_name, - env_name=args.env_name, - n_iter=args.n_iter, - gamma=args.discount, - min_timesteps_per_batch=args.batch_size, - max_path_length=max_path_length, - learning_rate=args.learning_rate, - reward_to_go=args.reward_to_go, - animate=args.render, - logdir=os.path.join(logdir,'%d'%seed), - normalize_advantages=not(args.dont_normalize_advantages), - nn_baseline=args.nn_baseline, - seed=seed, - n_layers=args.n_layers, - size=args.size - ) - # # Awkward hacky process runs, because Tensorflow does not like - # # repeatedly calling train_PG in the same thread. - p = Process(target=train_func, args=tuple()) - p.start() - processes.append(p) - # if you comment in the line below, then the loop will block - # until this process finishes - # p.join() - - for p in processes: - p.join() + + train_PG( + exp_name=args.exp_name, + env_name=args.env_name, + n_iter=args.n_iter, + gamma=args.discount, + min_timesteps_per_batch=args.batch_size, + max_path_length=max_path_length, + learning_rate=args.learning_rate, + reward_to_go=args.reward_to_go, + animate=args.render, + logdir=os.path.join(logdir,'%d'%seed), + normalize_advantages=not(args.dont_normalize_advantages), + nn_baseline=args.nn_baseline, + seed=seed, + n_layers=args.n_layers, + size=args.size + ) if __name__ == "__main__": main() From 33c429c7533e5e6ba5fdf79ca6bf8c12acf034a7 Mon Sep 17 00:00:00 2001 From: Edoardo Cetin Date: Fri, 14 Sep 2018 17:33:02 +0100 Subject: [PATCH 2/3] Removing files added by mistake --- .../aaa_CartPole-v0_14-09-2018_17-26-16/1/log.txt | 0 .../1/params.json | 15 --------------- 2 files changed, 15 deletions(-) delete mode 100644 hw2/data/aaa_CartPole-v0_14-09-2018_17-26-16/1/log.txt delete mode 100644 hw2/data/aaa_CartPole-v0_14-09-2018_17-26-16/1/params.json diff --git a/hw2/data/aaa_CartPole-v0_14-09-2018_17-26-16/1/log.txt b/hw2/data/aaa_CartPole-v0_14-09-2018_17-26-16/1/log.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/hw2/data/aaa_CartPole-v0_14-09-2018_17-26-16/1/params.json b/hw2/data/aaa_CartPole-v0_14-09-2018_17-26-16/1/params.json deleted file mode 100644 index d3fca708c..000000000 --- a/hw2/data/aaa_CartPole-v0_14-09-2018_17-26-16/1/params.json +++ /dev/null @@ -1,15 +0,0 @@ -{"animate" : false, -"env_name" : "CartPole-v0", -"exp_name" : "aaa", -"gamma" : 1.0, -"learning_rate" : 0.005, -"logdir" : "data\\aaa_CartPole-v0_14-09-2018_17-26-16\\1", -"max_path_length" : null, -"min_timesteps_per_batch" : 5000, -"n_iter" : 100, -"n_layers" : 2, -"nn_baseline" : false, -"normalize_advantages" : true, -"reward_to_go" : true, -"seed" : 1, -"size" : 64} \ No newline at end of file From 1eeaf14147e1f0f5e2a96e0dcb4afa5f6ac57db5 Mon Sep 17 00:00:00 2001 From: Edoardo Cetin Date: Fri, 14 Sep 2018 17:37:29 +0100 Subject: [PATCH 3/3] Removing unused import --- hw2/train_pg_f18.py | 1 - 1 file changed, 1 deletion(-) diff --git a/hw2/train_pg_f18.py b/hw2/train_pg_f18.py index a05c165d3..c46440407 100644 --- a/hw2/train_pg_f18.py +++ b/hw2/train_pg_f18.py @@ -10,7 +10,6 @@ import os import time import inspect -from multiprocessing import Process #============================================================================================# # Utilities