From 19c8df6b720e80b77cf769fa98703bc2a341f7b0 Mon Sep 17 00:00:00 2001
From: Bas Nijholt <basnijholt@gmail.com>
Date: Wed, 25 Sep 2019 14:12:57 +0200
Subject: [PATCH] work on figures

---
 figures.ipynb       | 35 +++++++++++++++++++----------------
 phase_diagram.ipynb |  7 ++++---
 2 files changed, 23 insertions(+), 19 deletions(-)

diff --git a/figures.ipynb b/figures.ipynb
index 3fa61dd..0a19f1d 100644
--- a/figures.ipynb
+++ b/figures.ipynb
@@ -547,7 +547,7 @@
     "from matplotlib.patches import Polygon\n",
     "\n",
     "fig, axs = plt.subplots(5, 1, figsize=(fig_width, 1.5 * fig_height))\n",
-    "f = lambda x: np.sin(x) ** 2\n",
+    "f = lambda x: np.sin(np.array(x)) ** 2\n",
     "xs = np.array([0, 1.3, 3, 5, 7, 8])\n",
     "ys = f(xs)\n",
     "\n",
@@ -849,20 +849,22 @@
     ")\n",
     "\n",
     "\n",
-    "def isoline_loss_function(y_iso, sigma, priority=1):\n",
-    "    from adaptive.learner.learnerND import default_loss\n",
-    "\n",
-    "    def gaussian(x, mu, sigma):\n",
-    "        return np.exp(-(x - mu) ** 2 / sigma ** 2)\n",
+    "from adaptive.learner.learnerND import default_loss\n",
     "\n",
-    "    def loss(simplex, ys):\n",
-    "        distance = np.mean([abs(y_iso - y) for y in ys])\n",
-    "        return priority * gaussian(distance, 0, sigma) + default_loss(simplex, ys)\n",
+    "def gaussian(x, mu, sigma):\n",
+    "    return np.exp(-(x - mu)**2 / sigma**2 / 2)\n",
     "\n",
+    "def isoline_loss_function(level, sigma, priority):\n",
+    "    def loss(simplex, values, value_scale):\n",
+    "        values = np.array(values)\n",
+    "        dist = abs(level * value_scale - values).mean()\n",
+    "        L_default = default_loss(simplex, values, value_scale)\n",
+    "        L_dist = priority * gaussian(dist, 0, sigma)\n",
+    "        return L_dist + L_default\n",
     "    return loss\n",
     "\n",
-    "\n",
-    "loss = isoline_loss_function(y_iso=0.1, sigma=1, priority=0.0)\n",
+    "level = 0.1\n",
+    "loss_per_simplex = isoline_loss_function(level, 0.4, 0.5)\n",
     "\n",
     "learners = []\n",
     "fnames = []\n",
@@ -907,17 +909,18 @@
     "npoints = 17 ** 2\n",
     "\n",
     "\n",
-    "def isoline_loss_function(y_iso, sigma, priority=1):\n",
+    "def isoline_loss_function(level, sigma, priority=1):\n",
     "    from adaptive.learner.learnerND import default_loss\n",
     "\n",
     "    def gaussian(x, mu, sigma):\n",
     "        return np.exp(-(x - mu) ** 2 / sigma ** 2 / 2)\n",
     "\n",
     "    def loss(simplex, values, value_scale):\n",
-    "        distance = np.mean([abs(y_iso * value_scale - y) for y in values])\n",
-    "        return priority * gaussian(distance, 0, sigma) + default_loss(\n",
-    "            simplex, values, value_scale\n",
-    "        )\n",
+    "        values = np.array(values)\n",
+    "        dist = abs(level * value_scale - values).mean()\n",
+    "        L_default = default_loss(simplex, values, value_scale)\n",
+    "        L_dist = priority * gaussian(dist, 0, sigma)\n",
+    "        return L_dist + L_default\n",
     "\n",
     "    return loss\n",
     "\n",
diff --git a/phase_diagram.ipynb b/phase_diagram.ipynb
index 1f0e82f..b304978 100644
--- a/phase_diagram.ipynb
+++ b/phase_diagram.ipynb
@@ -115,8 +115,9 @@
     "    return learner.npoints > 100_000\n",
     "\n",
     "scheduler = adaptive_scheduler.scheduler.PBS(\n",
-    "    cores=13*10,\n",
-    "    cores_per_node=10,\n",
+    "    cores=10*20,\n",
+    "    cores_per_node=20,\n",
+    "    executor_type='ipyparallel',\n",
     ")  # every learner get this many cores\n",
     "\n",
     "run_manager = adaptive_scheduler.server_support.RunManager(\n",
@@ -124,7 +125,7 @@
     "    learners_file=\"learners_file.py\",\n",
     "    goal=goal,\n",
     "    log_interval=30,\n",
-    "    save_interval=300,\n",
+    "    save_interval=120,\n",
     ")\n",
     "run_manager.start()\n"
    ]
-- 
GitLab