From 257732a0269261a4cd1ff29d63f4780fef5e5ba1 Mon Sep 17 00:00:00 2001
From: Chris MacLellan <2348-cm3786@users.noreply.gitlab.cci.drexel.edu>
Date: Wed, 23 Dec 2020 09:58:15 -0500
Subject: [PATCH] added ability to do multiple processes for study in parallel

---
 sandbox/multicolumn/tune_ppo.py | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/sandbox/multicolumn/tune_ppo.py b/sandbox/multicolumn/tune_ppo.py
index c35f451..7422a51 100644
--- a/sandbox/multicolumn/tune_ppo.py
+++ b/sandbox/multicolumn/tune_ppo.py
@@ -155,7 +155,7 @@ class TrialCallback(BaseCallback):
         log_dir: str,
         n_eval_episodes: int = 10,
         eval_freq: int = 10000,
-        min_eval: float = -3000,
+        min_eval: float = -600,
         verbose: int = 0,
     ):
         super(TrialCallback, self).__init__(verbose)
@@ -234,12 +234,17 @@ if __name__ == "__main__":
     # multiprocess environment
     # env = make_vec_env('MulticolumnArithSymbolic-v0', n_envs=1)
 
-    study = optuna.create_study(pruner=optuna.pruners.MedianPruner(
-        n_warmup_steps=20000), direction="maximize")
-    study.optimize(objective, n_trials=1000, n_jobs=1)
-
-    print("BEST")
-    print(study.best_params)
-
-    # while True:
-    # Train
+    pruner = optuna.pruners.MedianPruner(n_warmup_steps=20000)
+
+    study = optuna.create_study(pruner=pruner,
+                                direction="maximize",
+                                storage='sqlite:///study.db',
+                                load_if_exists=True
+                                )
+    try:
+        study.optimize(objective, n_trials=1000, n_jobs=1)
+    except Exception as e:
+        print(e)
+    finally:
+        print("BEST")
+        print(study.best_params)
-- 
GitLab