{ "cells": [ { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "# Running a Multi Objective Optimization Directly in Python\n", "\n", "This notebook demonstrates how to:\n", "\n", "Write a basic Wrapper in Python and launch a multi objective optimization from Python.\n", "If you wanted to launch it from command line, you would do a similar thing of defining the Wrapper, and then put in your configuration file the information about where the wrapper is, and use [BOA's](../index.rst) CLI tools. See [Running an Experiment from Command Line (Python Wrapper)](example_py_run.rst) for more information." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[WARNING 07-13 14:31:07] ax.service.utils.with_db_settings_base: Ax currently requires a sqlalchemy version below 2.0. This will be addressed in a future release. Disabling SQL storage in Ax for now, if you would like to use SQL storage please install Ax with mysql extras via `pip install ax-platform[mysql]`.\n" ] }, { "data": { "application/javascript": [ "(function(root) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " var force = true;\n", " var py_version = '3.2.0'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", " var is_dev = py_version.indexOf(\"+\") !== -1 || py_version.indexOf(\"-\") !== -1;\n", " var reloading = false;\n", " var Bokeh = root.Bokeh;\n", " var bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n", "\n", " if (typeof (root._bokeh_timeout) === \"undefined\" || force) {\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_failed_load = false;\n", " }\n", "\n", " function run_callbacks() {\n", " try {\n", " root._bokeh_onload_callbacks.forEach(function(callback) {\n", " if (callback != null)\n", " callback();\n", " });\n", " } finally {\n", " delete root._bokeh_onload_callbacks;\n", " }\n", " console.debug(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n", " if (css_urls == null) css_urls = [];\n", " if (js_urls == null) js_urls = [];\n", " if (js_modules == null) js_modules = [];\n", " if (js_exports == null) js_exports = {};\n", "\n", " root._bokeh_onload_callbacks.push(callback);\n", "\n", " if (root._bokeh_is_loading > 0) {\n", " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " if (!reloading) {\n", " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " }\n", "\n", " function on_load() {\n", " root._bokeh_is_loading--;\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", " run_callbacks()\n", " }\n", " }\n", " window._bokeh_on_load = on_load\n", "\n", " function on_error() {\n", " console.error(\"failed to load \" + url);\n", " }\n", "\n", " var skip = [];\n", " if (window.requirejs) {\n", " window.requirejs.config({'packages': {}, 'paths': {'plotly': 'https://cdn.plot.ly/plotly-2.18.0.min', 'jspanel': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/jspanel', 'jspanel-modal': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal', 'jspanel-tooltip': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip', 'jspanel-hint': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint', 'jspanel-layout': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout', 'jspanel-contextmenu': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu', 'jspanel-dock': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock', 'gridstack': 'https://cdn.jsdelivr.net/npm/gridstack@7.2.3/dist/gridstack-all', 'notyf': 'https://cdn.jsdelivr.net/npm/notyf@3/notyf.min'}, 'shim': {'jspanel': {'exports': 'jsPanel'}, 'gridstack': {'exports': 'GridStack'}}});\n", " require([\"plotly\"], function(Plotly) {\n", "\twindow.Plotly = Plotly\n", "\ton_load()\n", " })\n", " require([\"jspanel\"], function(jsPanel) {\n", "\twindow.jsPanel = jsPanel\n", "\ton_load()\n", " })\n", " require([\"jspanel-modal\"], function() {\n", "\ton_load()\n", " })\n", " require([\"jspanel-tooltip\"], function() {\n", "\ton_load()\n", " })\n", " require([\"jspanel-hint\"], function() {\n", "\ton_load()\n", " })\n", " require([\"jspanel-layout\"], function() {\n", "\ton_load()\n", " })\n", " require([\"jspanel-contextmenu\"], function() {\n", "\ton_load()\n", " })\n", " require([\"jspanel-dock\"], function() {\n", "\ton_load()\n", " })\n", " require([\"gridstack\"], function(GridStack) {\n", "\twindow.GridStack = GridStack\n", "\ton_load()\n", " })\n", " require([\"notyf\"], function() {\n", "\ton_load()\n", " })\n", " root._bokeh_is_loading = css_urls.length + 10;\n", " } else {\n", " root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n", " }\n", "\n", " var existing_stylesheets = []\n", " var links = document.getElementsByTagName('link')\n", " for (var i = 0; i < links.length; i++) {\n", " var link = links[i]\n", " if (link.href != null) {\n", "\texisting_stylesheets.push(link.href)\n", " }\n", " }\n", " for (var i = 0; i < css_urls.length; i++) {\n", " var url = css_urls[i];\n", " if (existing_stylesheets.indexOf(url) !== -1) {\n", "\ton_load()\n", "\tcontinue;\n", " }\n", " const element = document.createElement(\"link\");\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.rel = \"stylesheet\";\n", " element.type = \"text/css\";\n", " element.href = url;\n", " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", " document.body.appendChild(element);\n", " } if (((window['Plotly'] !== undefined) && (!(window['Plotly'] instanceof HTMLElement))) || window.requirejs) {\n", " var urls = ['https://cdn.holoviz.org/panel/1.2.0/dist/bundled/plotlyplot/plotly-2.18.0.min.js'];\n", " for (var i = 0; i < urls.length; i++) {\n", " skip.push(urls[i])\n", " }\n", " } if (((window['jsPanel'] !== undefined) && (!(window['jsPanel'] instanceof HTMLElement))) || window.requirejs) {\n", " var urls = ['https://cdn.holoviz.org/panel/1.2.0/dist/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js', 'https://cdn.holoviz.org/panel/1.2.0/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js', 'https://cdn.holoviz.org/panel/1.2.0/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js', 'https://cdn.holoviz.org/panel/1.2.0/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js', 'https://cdn.holoviz.org/panel/1.2.0/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js', 'https://cdn.holoviz.org/panel/1.2.0/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js', 'https://cdn.holoviz.org/panel/1.2.0/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js'];\n", " for (var i = 0; i < urls.length; i++) {\n", " skip.push(urls[i])\n", " }\n", " } if (((window['GridStack'] !== undefined) && (!(window['GridStack'] instanceof HTMLElement))) || window.requirejs) {\n", " var urls = ['https://cdn.holoviz.org/panel/1.2.0/dist/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js'];\n", " for (var i = 0; i < urls.length; i++) {\n", " skip.push(urls[i])\n", " }\n", " } if (((window['Notyf'] !== undefined) && (!(window['Notyf'] instanceof HTMLElement))) || window.requirejs) {\n", " var urls = ['https://cdn.holoviz.org/panel/1.2.0/dist/bundled/notificationarea/notyf@3/notyf.min.js'];\n", " for (var i = 0; i < urls.length; i++) {\n", " skip.push(urls[i])\n", " }\n", " } var existing_scripts = []\n", " var scripts = document.getElementsByTagName('script')\n", " for (var i = 0; i < scripts.length; i++) {\n", " var script = scripts[i]\n", " if (script.src != null) {\n", "\texisting_scripts.push(script.src)\n", " }\n", " }\n", " for (var i = 0; i < js_urls.length; i++) {\n", " var url = js_urls[i];\n", " if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n", "\tif (!window.requirejs) {\n", "\t on_load();\n", "\t}\n", "\tcontinue;\n", " }\n", " var element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.async = false;\n", " element.src = url;\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " for (var i = 0; i < js_modules.length; i++) {\n", " var url = js_modules[i];\n", " if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n", "\tif (!window.requirejs) {\n", "\t on_load();\n", "\t}\n", "\tcontinue;\n", " }\n", " var element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.async = false;\n", " element.src = url;\n", " element.type = \"module\";\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " for (const name in js_exports) {\n", " var url = js_exports[name];\n", " if (skip.indexOf(url) >= 0 || root[name] != null) {\n", "\tif (!window.requirejs) {\n", "\t on_load();\n", "\t}\n", "\tcontinue;\n", " }\n", " var element = document.createElement('script');\n", " element.onerror = on_error;\n", " element.async = false;\n", " element.type = \"module\";\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " element.textContent = `\n", " import ${name} from \"${url}\"\n", " window.${name} = ${name}\n", " window._bokeh_on_load()\n", " `\n", " document.head.appendChild(element);\n", " }\n", " if (!js_urls.length && !js_modules.length) {\n", " on_load()\n", " }\n", " };\n", "\n", " function inject_raw_css(css) {\n", " const element = document.createElement(\"style\");\n", " element.appendChild(document.createTextNode(css));\n", " document.body.appendChild(element);\n", " }\n", "\n", " var js_urls = [\"https://cdn.holoviz.org/panel/1.2.0/dist/bundled/jquery/jquery.slim.min.js\", \"https://cdn.holoviz.org/panel/1.2.0/dist/bundled/plotlyplot/plotly-2.18.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.2.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.2.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.2.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.2.0.min.js\", \"https://cdn.holoviz.org/panel/1.2.0/dist/panel.min.js\"];\n", " var js_modules = [];\n", " var js_exports = {};\n", " var css_urls = [];\n", " var inline_js = [ function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", "function(Bokeh) {} // ensure no trailing comma for IE\n", " ];\n", "\n", " function run_inline_js() {\n", " if ((root.Bokeh !== undefined) || (force === true)) {\n", " for (var i = 0; i < inline_js.length; i++) {\n", " inline_js[i].call(root, root.Bokeh);\n", " }\n", " // Cache old bokeh versions\n", " if (Bokeh != undefined && !reloading) {\n", "\tvar NewBokeh = root.Bokeh;\n", "\tif (Bokeh.versions === undefined) {\n", "\t Bokeh.versions = new Map();\n", "\t}\n", "\tif (NewBokeh.version !== Bokeh.version) {\n", "\t Bokeh.versions.set(NewBokeh.version, NewBokeh)\n", "\t}\n", "\troot.Bokeh = Bokeh;\n", " }} else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!root._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " root._bokeh_failed_load = true;\n", " }\n", " root._bokeh_is_initializing = false\n", " }\n", "\n", " function load_or_wait() {\n", " // Implement a backoff loop that tries to ensure we do not load multiple\n", " // versions of Bokeh and its dependencies at the same time.\n", " // In recent versions we use the root._bokeh_is_initializing flag\n", " // to determine whether there is an ongoing attempt to initialize\n", " // bokeh, however for backward compatibility we also try to ensure\n", " // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n", " // before older versions are fully initialized.\n", " if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n", " root._bokeh_is_initializing = false;\n", " root._bokeh_onload_callbacks = undefined;\n", " console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n", " load_or_wait();\n", " } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n", " setTimeout(load_or_wait, 100);\n", " } else {\n", " Bokeh = root.Bokeh;\n", " bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n", " root._bokeh_is_initializing = true\n", " root._bokeh_onload_callbacks = []\n", " if (!reloading && (!bokeh_loaded || is_dev)) {\n", "\troot.Bokeh = undefined;\n", " }\n", " load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n", "\tconsole.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", "\trun_inline_js();\n", " });\n", " }\n", " }\n", " // Give older versions of the autoload script a head-start to ensure\n", " // they initialize before we start loading newer version.\n", " setTimeout(load_or_wait, 100)\n", "}(window));" ], "application/vnd.holoviews_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n var py_version = '3.2.0'.replace('rc', '-rc.').replace('.dev', '-dev.');\n var is_dev = py_version.indexOf(\"+\") !== -1 || py_version.indexOf(\"-\") !== -1;\n var reloading = false;\n var Bokeh = root.Bokeh;\n var bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks;\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n if (js_exports == null) js_exports = {};\n\n root._bokeh_onload_callbacks.push(callback);\n\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n run_callbacks();\n return null;\n }\n if (!reloading) {\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n window._bokeh_on_load = on_load\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n var skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {'plotly': 'https://cdn.plot.ly/plotly-2.18.0.min', 'jspanel': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/jspanel', 'jspanel-modal': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal', 'jspanel-tooltip': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip', 'jspanel-hint': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint', 'jspanel-layout': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout', 'jspanel-contextmenu': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu', 'jspanel-dock': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock', 'gridstack': 'https://cdn.jsdelivr.net/npm/gridstack@7.2.3/dist/gridstack-all', 'notyf': 'https://cdn.jsdelivr.net/npm/notyf@3/notyf.min'}, 'shim': {'jspanel': {'exports': 'jsPanel'}, 'gridstack': {'exports': 'GridStack'}}});\n require([\"plotly\"], function(Plotly) {\n\twindow.Plotly = Plotly\n\ton_load()\n })\n require([\"jspanel\"], function(jsPanel) {\n\twindow.jsPanel = jsPanel\n\ton_load()\n })\n require([\"jspanel-modal\"], function() {\n\ton_load()\n })\n require([\"jspanel-tooltip\"], function() {\n\ton_load()\n })\n require([\"jspanel-hint\"], function() {\n\ton_load()\n })\n require([\"jspanel-layout\"], function() {\n\ton_load()\n })\n require([\"jspanel-contextmenu\"], function() {\n\ton_load()\n })\n require([\"jspanel-dock\"], function() {\n\ton_load()\n })\n require([\"gridstack\"], function(GridStack) {\n\twindow.GridStack = GridStack\n\ton_load()\n })\n require([\"notyf\"], function() {\n\ton_load()\n })\n root._bokeh_is_loading = css_urls.length + 10;\n } else {\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n }\n\n var existing_stylesheets = []\n var links = document.getElementsByTagName('link')\n for (var i = 0; i < links.length; i++) {\n var link = links[i]\n if (link.href != null) {\n\texisting_stylesheets.push(link.href)\n }\n }\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n if (existing_stylesheets.indexOf(url) !== -1) {\n\ton_load()\n\tcontinue;\n }\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n } if (((window['Plotly'] !== undefined) && (!(window['Plotly'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.0/dist/bundled/plotlyplot/plotly-2.18.0.min.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['jsPanel'] !== undefined) && (!(window['jsPanel'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.0/dist/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js', 'https://cdn.holoviz.org/panel/1.2.0/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js', 'https://cdn.holoviz.org/panel/1.2.0/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js', 'https://cdn.holoviz.org/panel/1.2.0/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js', 'https://cdn.holoviz.org/panel/1.2.0/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js', 'https://cdn.holoviz.org/panel/1.2.0/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js', 'https://cdn.holoviz.org/panel/1.2.0/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['GridStack'] !== undefined) && (!(window['GridStack'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.0/dist/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['Notyf'] !== undefined) && (!(window['Notyf'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.0/dist/bundled/notificationarea/notyf@3/notyf.min.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } var existing_scripts = []\n var scripts = document.getElementsByTagName('script')\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n\texisting_scripts.push(script.src)\n }\n }\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (var i = 0; i < js_modules.length; i++) {\n var url = js_modules[i];\n if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (const name in js_exports) {\n var url = js_exports[name];\n if (skip.indexOf(url) >= 0 || root[name] != null) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onerror = on_error;\n element.async = false;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n element.textContent = `\n import ${name} from \"${url}\"\n window.${name} = ${name}\n window._bokeh_on_load()\n `\n document.head.appendChild(element);\n }\n if (!js_urls.length && !js_modules.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n var js_urls = [\"https://cdn.holoviz.org/panel/1.2.0/dist/bundled/jquery/jquery.slim.min.js\", \"https://cdn.holoviz.org/panel/1.2.0/dist/bundled/plotlyplot/plotly-2.18.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.2.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.2.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.2.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.2.0.min.js\", \"https://cdn.holoviz.org/panel/1.2.0/dist/panel.min.js\"];\n var js_modules = [];\n var js_exports = {};\n var css_urls = [];\n var inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n if ((root.Bokeh !== undefined) || (force === true)) {\n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n\tvar NewBokeh = root.Bokeh;\n\tif (Bokeh.versions === undefined) {\n\t Bokeh.versions = new Map();\n\t}\n\tif (NewBokeh.version !== Bokeh.version) {\n\t Bokeh.versions.set(NewBokeh.version, NewBokeh)\n\t}\n\troot.Bokeh = Bokeh;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n }\n root._bokeh_is_initializing = false\n }\n\n function load_or_wait() {\n // Implement a backoff loop that tries to ensure we do not load multiple\n // versions of Bokeh and its dependencies at the same time.\n // In recent versions we use the root._bokeh_is_initializing flag\n // to determine whether there is an ongoing attempt to initialize\n // bokeh, however for backward compatibility we also try to ensure\n // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n // before older versions are fully initialized.\n if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n load_or_wait();\n } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n setTimeout(load_or_wait, 100);\n } else {\n Bokeh = root.Bokeh;\n bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n root._bokeh_is_initializing = true\n root._bokeh_onload_callbacks = []\n if (!reloading && (!bokeh_loaded || is_dev)) {\n\troot.Bokeh = undefined;\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n\tconsole.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n\trun_inline_js();\n });\n }\n }\n // Give older versions of the autoload script a head-start to ensure\n // they initialize before we start loading newer version.\n setTimeout(load_or_wait, 100)\n}(window));" }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", "if ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n", " window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n", "}\n", "\n", "\n", " function JupyterCommManager() {\n", " }\n", "\n", " JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n", " if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", " comm_manager.register_target(comm_id, function(comm) {\n", " comm.on_msg(msg_handler);\n", " });\n", " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", " window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n", " comm.onMsg = msg_handler;\n", " });\n", " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", " google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n", " var messages = comm.messages[Symbol.asyncIterator]();\n", " function processIteratorResult(result) {\n", " var message = result.value;\n", " console.log(message)\n", " var content = {data: message.data, comm_id};\n", " var buffers = []\n", " for (var buffer of message.buffers || []) {\n", " buffers.push(new DataView(buffer))\n", " }\n", " var metadata = message.metadata || {};\n", " var msg = {content, buffers, metadata}\n", " msg_handler(msg);\n", " return messages.next().then(processIteratorResult);\n", " }\n", " return messages.next().then(processIteratorResult);\n", " })\n", " }\n", " }\n", "\n", " JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n", " if (comm_id in window.PyViz.comms) {\n", " return window.PyViz.comms[comm_id];\n", " } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", " var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n", " if (msg_handler) {\n", " comm.on_msg(msg_handler);\n", " }\n", " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", " var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n", " comm.open();\n", " if (msg_handler) {\n", " comm.onMsg = msg_handler;\n", " }\n", " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", " var comm_promise = google.colab.kernel.comms.open(comm_id)\n", " comm_promise.then((comm) => {\n", " window.PyViz.comms[comm_id] = comm;\n", " if (msg_handler) {\n", " var messages = comm.messages[Symbol.asyncIterator]();\n", " function processIteratorResult(result) {\n", " var message = result.value;\n", " var content = {data: message.data};\n", " var metadata = message.metadata || {comm_id};\n", " var msg = {content, metadata}\n", " msg_handler(msg);\n", " return messages.next().then(processIteratorResult);\n", " }\n", " return messages.next().then(processIteratorResult);\n", " }\n", " }) \n", " var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n", " return comm_promise.then((comm) => {\n", " comm.send(data, metadata, buffers, disposeOnDone);\n", " });\n", " };\n", " var comm = {\n", " send: sendClosure\n", " };\n", " }\n", " window.PyViz.comms[comm_id] = comm;\n", " return comm;\n", " }\n", " window.PyViz.comm_manager = new JupyterCommManager();\n", " \n", "\n", "\n", "var JS_MIME_TYPE = 'application/javascript';\n", "var HTML_MIME_TYPE = 'text/html';\n", "var EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\n", "var CLASS_NAME = 'output';\n", "\n", "/**\n", " * Render data to the DOM node\n", " */\n", "function render(props, node) {\n", " var div = document.createElement(\"div\");\n", " var script = document.createElement(\"script\");\n", " node.appendChild(div);\n", " node.appendChild(script);\n", "}\n", "\n", "/**\n", " * Handle when a new output is added\n", " */\n", "function handle_add_output(event, handle) {\n", " var output_area = handle.output_area;\n", " var output = handle.output;\n", " if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", " return\n", " }\n", " var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", " if (id !== undefined) {\n", " var nchildren = toinsert.length;\n", " var html_node = toinsert[nchildren-1].children[0];\n", " html_node.innerHTML = output.data[HTML_MIME_TYPE];\n", " var scripts = [];\n", " var nodelist = html_node.querySelectorAll(\"script\");\n", " for (var i in nodelist) {\n", " if (nodelist.hasOwnProperty(i)) {\n", " scripts.push(nodelist[i])\n", " }\n", " }\n", "\n", " scripts.forEach( function (oldScript) {\n", " var newScript = document.createElement(\"script\");\n", " var attrs = [];\n", " var nodemap = oldScript.attributes;\n", " for (var j in nodemap) {\n", " if (nodemap.hasOwnProperty(j)) {\n", " attrs.push(nodemap[j])\n", " }\n", " }\n", " attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n", " newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n", " oldScript.parentNode.replaceChild(newScript, oldScript);\n", " });\n", " if (JS_MIME_TYPE in output.data) {\n", " toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n", " }\n", " output_area._hv_plot_id = id;\n", " if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n", " window.PyViz.plot_index[id] = Bokeh.index[id];\n", " } else {\n", " window.PyViz.plot_index[id] = null;\n", " }\n", " } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", " var bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " var script_attrs = bk_div.children[0].attributes;\n", " for (var i = 0; i < script_attrs.length; i++) {\n", " toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " }\n", " // store reference to server id on output_area\n", " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", " }\n", "}\n", "\n", "/**\n", " * Handle when an output is cleared or removed\n", " */\n", "function handle_clear_output(event, handle) {\n", " var id = handle.cell.output_area._hv_plot_id;\n", " var server_id = handle.cell.output_area._bokeh_server_id;\n", " if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n", " var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n", " if (server_id !== null) {\n", " comm.send({event_type: 'server_delete', 'id': server_id});\n", " return;\n", " } else if (comm !== null) {\n", " comm.send({event_type: 'delete', 'id': id});\n", " }\n", " delete PyViz.plot_index[id];\n", " if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n", " var doc = window.Bokeh.index[id].model.document\n", " doc.clear();\n", " const i = window.Bokeh.documents.indexOf(doc);\n", " if (i > -1) {\n", " window.Bokeh.documents.splice(i, 1);\n", " }\n", " }\n", "}\n", "\n", "/**\n", " * Handle kernel restart event\n", " */\n", "function handle_kernel_cleanup(event, handle) {\n", " delete PyViz.comms[\"hv-extension-comm\"];\n", " window.PyViz.plot_index = {}\n", "}\n", "\n", "/**\n", " * Handle update_display_data messages\n", " */\n", "function handle_update_output(event, handle) {\n", " handle_clear_output(event, {cell: {output_area: handle.output_area}})\n", " handle_add_output(event, handle)\n", "}\n", "\n", "function register_renderer(events, OutputArea) {\n", " function append_mime(data, metadata, element) {\n", " // create a DOM node to render to\n", " var toinsert = this.create_output_subarea(\n", " metadata,\n", " CLASS_NAME,\n", " EXEC_MIME_TYPE\n", " );\n", " this.keyboard_manager.register_events(toinsert);\n", " // Render to node\n", " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", " render(props, toinsert[0]);\n", " element.append(toinsert);\n", " return toinsert\n", " }\n", "\n", " events.on('output_added.OutputArea', handle_add_output);\n", " events.on('output_updated.OutputArea', handle_update_output);\n", " events.on('clear_output.CodeCell', handle_clear_output);\n", " events.on('delete.Cell', handle_clear_output);\n", " events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n", "\n", " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", " safe: true,\n", " index: 0\n", " });\n", "}\n", "\n", "if (window.Jupyter !== undefined) {\n", " try {\n", " var events = require('base/js/events');\n", " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", " register_renderer(events, OutputArea);\n", " }\n", " } catch(err) {\n", " }\n", "}\n" ], "application/vnd.holoviews_load.v0+json": "\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n console.log(message)\n var content = {data: message.data, comm_id};\n var buffers = []\n for (var buffer of message.buffers || []) {\n buffers.push(new DataView(buffer))\n }\n var metadata = message.metadata || {};\n var msg = {content, buffers, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n })\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n comm.open();\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n var comm_promise = google.colab.kernel.comms.open(comm_id)\n comm_promise.then((comm) => {\n window.PyViz.comms[comm_id] = comm;\n if (msg_handler) {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data};\n var metadata = message.metadata || {comm_id};\n var msg = {content, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n }\n }) \n var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n return comm_promise.then((comm) => {\n comm.send(data, metadata, buffers, disposeOnDone);\n });\n };\n var comm = {\n send: sendClosure\n };\n }\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n window.PyViz.comm_manager = new JupyterCommManager();\n \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n var html_node = toinsert[nchildren-1].children[0];\n html_node.innerHTML = output.data[HTML_MIME_TYPE];\n var scripts = [];\n var nodelist = html_node.querySelectorAll(\"script\");\n for (var i in nodelist) {\n if (nodelist.hasOwnProperty(i)) {\n scripts.push(nodelist[i])\n }\n }\n\n scripts.forEach( function (oldScript) {\n var newScript = document.createElement(\"script\");\n var attrs = [];\n var nodemap = oldScript.attributes;\n for (var j in nodemap) {\n if (nodemap.hasOwnProperty(j)) {\n attrs.push(nodemap[j])\n }\n }\n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n oldScript.parentNode.replaceChild(newScript, oldScript);\n });\n if (JS_MIME_TYPE in output.data) {\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n }\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n window.PyViz.plot_index[id] = Bokeh.index[id];\n } else {\n window.PyViz.plot_index[id] = null;\n }\n } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n var bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n var script_attrs = bk_div.children[0].attributes;\n for (var i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n var server_id = handle.cell.output_area._bokeh_server_id;\n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (server_id !== null) {\n comm.send({event_type: 'server_delete', 'id': server_id});\n return;\n } else if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete PyViz.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n var doc = window.Bokeh.index[id].model.document\n doc.clear();\n const i = window.Bokeh.documents.indexOf(doc);\n if (i > -1) {\n window.Bokeh.documents.splice(i, 1);\n }\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete PyViz.comms[\"hv-extension-comm\"];\n window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "
\n", "
\n", "" ] }, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "fdbe0061-f5b7-4118-bb87-e94c6fb6fca2" } }, "output_type": "display_data" } ], "source": [ "import pathlib\n", "import shutil\n", "\n", "from IPython.display import Code\n", "\n", "import boa\n", "from boa.scripts.moo import Wrapper" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "# Remove old runs to have a clean slate for this example\n", "old_runs = pathlib.Path().resolve().glob(\"moo_run*\")\n", "for path in old_runs:\n", " shutil.rmtree(path, ignore_errors=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Loading the MOO Config File" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "config_path = pathlib.Path().resolve().parent.parent / \"boa/scripts/moo.yaml\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we can see what the configuration file looks like" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
# MultiObjective Optimization config\n",
       "optimization_options:\n",
       "    objective_options:\n",
       "        objective_thresholds:\n",
       "            - branin >= -18.0\n",
       "            - currin >= -6.0\n",
       "        objectives:\n",
       "            - name: branin\n",
       "              lower_is_better: False\n",
       "              noise_sd: 0\n",
       "            - name: currin\n",
       "              lower_is_better: False\n",
       "              noise_sd: 0\n",
       "\n",
       "    experiment:\n",
       "        name: "moo_run"\n",
       "    trials: 50\n",
       "\n",
       "parameters:\n",
       "    x0:\n",
       "        type: range\n",
       "        bounds: [0, 1]\n",
       "        value_type: float\n",
       "    x1:\n",
       "        type: range\n",
       "        bounds: [0, 1]\n",
       "        value_type: float\n",
       "
\n" ], "text/latex": [ "\\begin{Verbatim}[commandchars=\\\\\\{\\}]\n", "\\PY{c+c1}{\\PYZsh{} MultiObjective Optimization config}\n", "\\PY{n+nt}{optimization\\PYZus{}options}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{objective\\PYZus{}options}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{objective\\PYZus{}thresholds}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{branin}\\PY{l+lScalar+lScalarPlain}{ }\\PY{l+lScalar+lScalarPlain}{\\PYZgt{}=}\\PY{l+lScalar+lScalarPlain}{ }\\PY{l+lScalar+lScalarPlain}{\\PYZhy{}18.0}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{currin}\\PY{l+lScalar+lScalarPlain}{ }\\PY{l+lScalar+lScalarPlain}{\\PYZgt{}=}\\PY{l+lScalar+lScalarPlain}{ }\\PY{l+lScalar+lScalarPlain}{\\PYZhy{}6.0}\n", "\\PY{+w}{ }\\PY{n+nt}{objectives}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{name}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{branin}\n", "\\PY{+w}{ }\\PY{n+nt}{lower\\PYZus{}is\\PYZus{}better}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{False}\n", "\\PY{+w}{ }\\PY{n+nt}{noise\\PYZus{}sd}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\\PY{+w}{ }\\PY{p+pIndicator}{\\PYZhy{}}\\PY{+w}{ }\\PY{n+nt}{name}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{currin}\n", "\\PY{+w}{ }\\PY{n+nt}{lower\\PYZus{}is\\PYZus{}better}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{False}\n", "\\PY{+w}{ }\\PY{n+nt}{noise\\PYZus{}sd}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{0}\n", "\n", "\\PY{+w}{ }\\PY{n+nt}{experiment}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{name}\\PY{p}{:}\\PY{+w}{ }\\PY{l+s}{\\PYZdq{}}\\PY{l+s}{moo\\PYZus{}run}\\PY{l+s}{\\PYZdq{}}\n", "\\PY{+w}{ }\\PY{n+nt}{trials}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{50}\n", "\n", "\\PY{n+nt}{parameters}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{x0}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{type}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{range}\n", "\\PY{+w}{ }\\PY{n+nt}{bounds}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{0}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{1}\\PY{p+pIndicator}{]}\n", "\\PY{+w}{ }\\PY{n+nt}{value\\PYZus{}type}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{float}\n", "\\PY{+w}{ }\\PY{n+nt}{x1}\\PY{p}{:}\n", "\\PY{+w}{ }\\PY{n+nt}{type}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{range}\n", "\\PY{+w}{ }\\PY{n+nt}{bounds}\\PY{p}{:}\\PY{+w}{ }\\PY{p+pIndicator}{[}\\PY{n+nv}{0}\\PY{p+pIndicator}{,}\\PY{+w}{ }\\PY{n+nv}{1}\\PY{p+pIndicator}{]}\n", "\\PY{+w}{ }\\PY{n+nt}{value\\PYZus{}type}\\PY{p}{:}\\PY{+w}{ }\\PY{l+lScalar+lScalarPlain}{float}\n", "\\end{Verbatim}\n" ], "text/plain": [ "# MultiObjective Optimization config\n", "optimization_options:\n", " objective_options:\n", " objective_thresholds:\n", " - branin >= -18.0\n", " - currin >= -6.0\n", " objectives:\n", " - name: branin\n", " lower_is_better: False\n", " noise_sd: 0\n", " - name: currin\n", " lower_is_better: False\n", " noise_sd: 0\n", "\n", " experiment:\n", " name: \"moo_run\"\n", " trials: 50\n", "\n", "parameters:\n", " x0:\n", " type: range\n", " bounds: [0, 1]\n", " value_type: float\n", " x1:\n", " type: range\n", " bounds: [0, 1]\n", " value_type: float" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Code(config_path)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "config = boa.load_jsonlike(config_path)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Wrapper" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We define our wrapper in wrapper.py and use a synthetic function that stands in for any black box model call" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
from pathlib import Path\n",
       "\n",
       "import torch\n",
       "\n",
       "from boa.controller import Controller\n",
       "from boa.metrics.synthetic_funcs import get_synth_func\n",
       "from boa.utils import torch_device\n",
       "from boa.wrappers.base_wrapper import BaseWrapper\n",
       "\n",
       "tkwargs = {\n",
       "    "device": torch_device(),\n",
       "}\n",
       "Problem = get_synth_func("BraninCurrin")\n",
       "\n",
       "problem = Problem(negate=True).to(**tkwargs)\n",
       "\n",
       "\n",
       "class Wrapper(BaseWrapper):\n",
       "    def run_model(self, trial) -> None:\n",
       "        pass\n",
       "\n",
       "    def set_trial_status(self, trial) -> None:\n",
       "        trial.mark_completed()\n",
       "\n",
       "    def fetch_trial_data(self, trial, metric_properties, metric_name, *args, **kwargs):\n",
       "        evaluation = problem(torch.tensor([trial.arm.parameters["x0"], trial.arm.parameters["x1"]]))\n",
       "        a = float(evaluation[0])\n",
       "        b = float(evaluation[1])\n",
       "        return {"branin": a, "currin": b}\n",
       "\n",
       "\n",
       "def main():\n",
       "    config_path = Path(__file__).resolve().parent / "moo.yaml"\n",
       "    wrapper = Wrapper(config_path=config_path)\n",
       "    controller = Controller(wrapper=wrapper)\n",
       "    controller.initialize_scheduler()\n",
       "    return controller.run()\n",
       "\n",
       "\n",
       "if __name__ == "__main__":\n",
       "    main()\n",
       "
\n" ], "text/latex": [ "\\begin{Verbatim}[commandchars=\\\\\\{\\}]\n", "\\PY{k+kn}{from} \\PY{n+nn}{pathlib} \\PY{k+kn}{import} \\PY{n}{Path}\n", "\n", "\\PY{k+kn}{import} \\PY{n+nn}{torch}\n", "\n", "\\PY{k+kn}{from} \\PY{n+nn}{boa}\\PY{n+nn}{.}\\PY{n+nn}{controller} \\PY{k+kn}{import} \\PY{n}{Controller}\n", "\\PY{k+kn}{from} \\PY{n+nn}{boa}\\PY{n+nn}{.}\\PY{n+nn}{metrics}\\PY{n+nn}{.}\\PY{n+nn}{synthetic\\PYZus{}funcs} \\PY{k+kn}{import} \\PY{n}{get\\PYZus{}synth\\PYZus{}func}\n", "\\PY{k+kn}{from} \\PY{n+nn}{boa}\\PY{n+nn}{.}\\PY{n+nn}{utils} \\PY{k+kn}{import} \\PY{n}{torch\\PYZus{}device}\n", "\\PY{k+kn}{from} \\PY{n+nn}{boa}\\PY{n+nn}{.}\\PY{n+nn}{wrappers}\\PY{n+nn}{.}\\PY{n+nn}{base\\PYZus{}wrapper} \\PY{k+kn}{import} \\PY{n}{BaseWrapper}\n", "\n", "\\PY{n}{tkwargs} \\PY{o}{=} \\PY{p}{\\PYZob{}}\n", " \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{device}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{:} \\PY{n}{torch\\PYZus{}device}\\PY{p}{(}\\PY{p}{)}\\PY{p}{,}\n", "\\PY{p}{\\PYZcb{}}\n", "\\PY{n}{Problem} \\PY{o}{=} \\PY{n}{get\\PYZus{}synth\\PYZus{}func}\\PY{p}{(}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{BraninCurrin}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{)}\n", "\n", "\\PY{n}{problem} \\PY{o}{=} \\PY{n}{Problem}\\PY{p}{(}\\PY{n}{negate}\\PY{o}{=}\\PY{k+kc}{True}\\PY{p}{)}\\PY{o}{.}\\PY{n}{to}\\PY{p}{(}\\PY{o}{*}\\PY{o}{*}\\PY{n}{tkwargs}\\PY{p}{)}\n", "\n", "\n", "\\PY{k}{class} \\PY{n+nc}{Wrapper}\\PY{p}{(}\\PY{n}{BaseWrapper}\\PY{p}{)}\\PY{p}{:}\n", " \\PY{k}{def} \\PY{n+nf}{run\\PYZus{}model}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{,} \\PY{n}{trial}\\PY{p}{)} \\PY{o}{\\PYZhy{}}\\PY{o}{\\PYZgt{}} \\PY{k+kc}{None}\\PY{p}{:}\n", " \\PY{k}{pass}\n", "\n", " \\PY{k}{def} \\PY{n+nf}{set\\PYZus{}trial\\PYZus{}status}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{,} \\PY{n}{trial}\\PY{p}{)} \\PY{o}{\\PYZhy{}}\\PY{o}{\\PYZgt{}} \\PY{k+kc}{None}\\PY{p}{:}\n", " \\PY{n}{trial}\\PY{o}{.}\\PY{n}{mark\\PYZus{}completed}\\PY{p}{(}\\PY{p}{)}\n", "\n", " \\PY{k}{def} \\PY{n+nf}{fetch\\PYZus{}trial\\PYZus{}data}\\PY{p}{(}\\PY{n+nb+bp}{self}\\PY{p}{,} \\PY{n}{trial}\\PY{p}{,} \\PY{n}{metric\\PYZus{}properties}\\PY{p}{,} \\PY{n}{metric\\PYZus{}name}\\PY{p}{,} \\PY{o}{*}\\PY{n}{args}\\PY{p}{,} \\PY{o}{*}\\PY{o}{*}\\PY{n}{kwargs}\\PY{p}{)}\\PY{p}{:}\n", " \\PY{n}{evaluation} \\PY{o}{=} \\PY{n}{problem}\\PY{p}{(}\\PY{n}{torch}\\PY{o}{.}\\PY{n}{tensor}\\PY{p}{(}\\PY{p}{[}\\PY{n}{trial}\\PY{o}{.}\\PY{n}{arm}\\PY{o}{.}\\PY{n}{parameters}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{x0}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]}\\PY{p}{,} \\PY{n}{trial}\\PY{o}{.}\\PY{n}{arm}\\PY{o}{.}\\PY{n}{parameters}\\PY{p}{[}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{x1}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{]}\\PY{p}{]}\\PY{p}{)}\\PY{p}{)}\n", " \\PY{n}{a} \\PY{o}{=} \\PY{n+nb}{float}\\PY{p}{(}\\PY{n}{evaluation}\\PY{p}{[}\\PY{l+m+mi}{0}\\PY{p}{]}\\PY{p}{)}\n", " \\PY{n}{b} \\PY{o}{=} \\PY{n+nb}{float}\\PY{p}{(}\\PY{n}{evaluation}\\PY{p}{[}\\PY{l+m+mi}{1}\\PY{p}{]}\\PY{p}{)}\n", " \\PY{k}{return} \\PY{p}{\\PYZob{}}\\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{branin}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{:} \\PY{n}{a}\\PY{p}{,} \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{currin}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{:} \\PY{n}{b}\\PY{p}{\\PYZcb{}}\n", "\n", "\n", "\\PY{k}{def} \\PY{n+nf}{main}\\PY{p}{(}\\PY{p}{)}\\PY{p}{:}\n", " \\PY{n}{config\\PYZus{}path} \\PY{o}{=} \\PY{n}{Path}\\PY{p}{(}\\PY{n+nv+vm}{\\PYZus{}\\PYZus{}file\\PYZus{}\\PYZus{}}\\PY{p}{)}\\PY{o}{.}\\PY{n}{resolve}\\PY{p}{(}\\PY{p}{)}\\PY{o}{.}\\PY{n}{parent} \\PY{o}{/} \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{moo.yaml}\\PY{l+s+s2}{\\PYZdq{}}\n", " \\PY{n}{wrapper} \\PY{o}{=} \\PY{n}{Wrapper}\\PY{p}{(}\\PY{n}{config\\PYZus{}path}\\PY{o}{=}\\PY{n}{config\\PYZus{}path}\\PY{p}{)}\n", " \\PY{n}{controller} \\PY{o}{=} \\PY{n}{Controller}\\PY{p}{(}\\PY{n}{wrapper}\\PY{o}{=}\\PY{n}{wrapper}\\PY{p}{)}\n", " \\PY{n}{controller}\\PY{o}{.}\\PY{n}{initialize\\PYZus{}scheduler}\\PY{p}{(}\\PY{p}{)}\n", " \\PY{k}{return} \\PY{n}{controller}\\PY{o}{.}\\PY{n}{run}\\PY{p}{(}\\PY{p}{)}\n", "\n", "\n", "\\PY{k}{if} \\PY{n+nv+vm}{\\PYZus{}\\PYZus{}name\\PYZus{}\\PYZus{}} \\PY{o}{==} \\PY{l+s+s2}{\\PYZdq{}}\\PY{l+s+s2}{\\PYZus{}\\PYZus{}main\\PYZus{}\\PYZus{}}\\PY{l+s+s2}{\\PYZdq{}}\\PY{p}{:}\n", " \\PY{n}{main}\\PY{p}{(}\\PY{p}{)}\n", "\\end{Verbatim}\n" ], "text/plain": [ "from pathlib import Path\n", "\n", "import torch\n", "\n", "from boa.controller import Controller\n", "from boa.metrics.synthetic_funcs import get_synth_func\n", "from boa.utils import torch_device\n", "from boa.wrappers.base_wrapper import BaseWrapper\n", "\n", "tkwargs = {\n", " \"device\": torch_device(),\n", "}\n", "Problem = get_synth_func(\"BraninCurrin\")\n", "\n", "problem = Problem(negate=True).to(**tkwargs)\n", "\n", "\n", "class Wrapper(BaseWrapper):\n", " def run_model(self, trial) -> None:\n", " pass\n", "\n", " def set_trial_status(self, trial) -> None:\n", " trial.mark_completed()\n", "\n", " def fetch_trial_data(self, trial, metric_properties, metric_name, *args, **kwargs):\n", " evaluation = problem(torch.tensor([trial.arm.parameters[\"x0\"], trial.arm.parameters[\"x1\"]]))\n", " a = float(evaluation[0])\n", " b = float(evaluation[1])\n", " return {\"branin\": a, \"currin\": b}\n", "\n", "\n", "def main():\n", " config_path = Path(__file__).resolve().parent / \"moo.yaml\"\n", " wrapper = Wrapper(config_path=config_path)\n", " controller = Controller(wrapper=wrapper)\n", " controller.initialize_scheduler()\n", " return controller.run()\n", "\n", "\n", "if __name__ == \"__main__\":\n", " main()" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Code(Wrapper.path())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Setup" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[INFO 07-13 14:31:09] ax.service.utils.instantiation: Created search space: SearchSpace(parameters=[RangeParameter(name='x0', parameter_type=FLOAT, range=[0.0, 1.0]), RangeParameter(name='x1', parameter_type=FLOAT, range=[0.0, 1.0])], parameter_constraints=[]).\n", "[INFO 07-13 14:31:09] ax.modelbridge.dispatch_utils: Using Models.MOO since there are more ordered parameters than there are categories for the unordered categorical parameters.\n", "[INFO 07-13 14:31:09] ax.modelbridge.dispatch_utils: Calculating the number of remaining initialization trials based on num_initialization_trials=None max_initialization_trials=None num_tunable_parameters=2 num_trials=None use_batch_trials=False\n", "[INFO 07-13 14:31:09] ax.modelbridge.dispatch_utils: calculated num_initialization_trials=5\n", "[INFO 07-13 14:31:09] ax.modelbridge.dispatch_utils: num_completed_initialization_trials=0 num_remaining_initialization_trials=5\n", "[INFO 07-13 14:31:09] ax.modelbridge.dispatch_utils: Using Bayesian Optimization generation strategy: GenerationStrategy(name='Sobol+MOO', steps=[Sobol for 5 trials, MOO for subsequent trials]). Iterations after 5 will take longer to generate due to model-fitting.\n", "[INFO 07-13 14:31:09] Scheduler: `Scheduler` requires experiment to have immutable search space and optimization config. Setting property immutable_search_space_and_opt_config to `True` on experiment.\n" ] }, { "data": { "text/plain": [ "(Scheduler(experiment=Experiment(moo_run), generation_strategy=GenerationStrategy(name='Sobol+MOO', steps=[Sobol for 5 trials, MOO for subsequent trials]), options=SchedulerOptions(max_pending_trials=10, trial_type=, batch_size=None, total_trials=None, tolerated_trial_failure_rate=0.5, min_failed_trials_for_failure_rate_check=5, log_filepath=None, logging_level=20, ttl_seconds_for_trials=None, init_seconds_between_polls=1, min_seconds_before_poll=1.0, seconds_between_polls_backoff_factor=1.5, timeout_hours=None, run_trials_in_batches=False, debug_log_run_metadata=False, early_stopping_strategy=None, global_stopping_strategy=None, suppress_storage_errors_after_retries=False)),\n", " )" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "controller = boa.Controller(config_path=config_path, wrapper=Wrapper)\n", "\n", "controller.initialize_scheduler()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Start our Experiment" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Controller will save our scheduler to JSON after it completes the run so we can reload it at a later time for analysis or to resume our experiment" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[INFO 2023-07-13 14:31:09,060 MainProcess] boa: \n", "\n", "##############################################\n", "\n", "\n", "BOA Experiment Run\n", "Output Experiment Dir: /Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109\n", "Start Time: 20230713T143109\n", "Version: 0.8.7.dev4+gae30cf2.d20230713\n", "\n", "##############################################\n", "\n", "[INFO 07-13 14:31:09] Scheduler: Running trials [0]...\n", "[INFO 07-13 14:31:10] Scheduler: Running trials [1]...\n", "[INFO 07-13 14:31:11] Scheduler: Running trials [2]...\n", "[INFO 07-13 14:31:12] Scheduler: Running trials [3]...\n", "[INFO 07-13 14:31:13] Scheduler: Running trials [4]...\n", "[INFO 07-13 14:31:14] Scheduler: Generated all trials that can be generated currently. Model requires more data to generate more trials.\n", "[INFO 07-13 14:31:14] Scheduler: Retrieved COMPLETED trials: 0 - 4.\n", "[INFO 07-13 14:31:14] Scheduler: Fetching data for trials: 0 - 4.\n", "[ERROR 2023-07-13 14:31:14,208 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:31:14,222 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:31:14,327 MainProcess] boa: Trials so far: 5\n", "Running trials: \n", "Will Produce next trials from generation step: Sobol\n", "Best trial so far: {}\n", "[INFO 07-13 14:31:14] Scheduler: Running trials [5]...\n", "[INFO 07-13 14:31:15] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:16] Scheduler: Running trials [6]...\n", "[INFO 07-13 14:31:16] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:17] Scheduler: Running trials [7]...\n", "[INFO 07-13 14:31:17] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:17] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.\n", "[INFO 07-13 14:31:17] Scheduler: Retrieved COMPLETED trials: 5 - 7.\n", "[INFO 07-13 14:31:17] Scheduler: Fetching data for trials: 5 - 7.\n", "[ERROR 2023-07-13 14:31:17,762 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:31:17,777 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:31:17,851 MainProcess] boa: Trials so far: 8\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203}}\n", "[INFO 07-13 14:31:17] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:18] Scheduler: Running trials [8]...\n", "[INFO 07-13 14:31:19] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:20] Scheduler: Running trials [9]...\n", "[INFO 07-13 14:31:21] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:21] Scheduler: Running trials [10]...\n", "[INFO 07-13 14:31:22] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:22] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.\n", "[INFO 07-13 14:31:22] Scheduler: Retrieved COMPLETED trials: 8 - 10.\n", "[INFO 07-13 14:31:22] Scheduler: Fetching data for trials: 8 - 10.\n", "[ERROR 2023-07-13 14:31:22,925 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:31:22,939 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:31:23,001 MainProcess] boa: Trials so far: 11\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 10: {'branin': -2.751490592956543, 'currin': -4.412967205047607}}\n", "[INFO 07-13 14:31:23] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:23] Scheduler: Running trials [11]...\n", "[INFO 07-13 14:31:24] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:25] Scheduler: Running trials [12]...\n", "[INFO 07-13 14:31:26] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:27] Scheduler: Running trials [13]...\n", "[INFO 07-13 14:31:27] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:27] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.\n", "[INFO 07-13 14:31:27] Scheduler: Retrieved COMPLETED trials: 11 - 13.\n", "[INFO 07-13 14:31:27] Scheduler: Fetching data for trials: 11 - 13.\n", "[ERROR 2023-07-13 14:31:27,449 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:31:27,474 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:31:27,585 MainProcess] boa: Trials so far: 14\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 10: {'branin': -2.751490592956543, 'currin': -4.412967205047607},\n", " 11: {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 13: {'branin': -2.6974687576293945, 'currin': -4.486274719238281}}\n", "[INFO 07-13 14:31:27] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:28] Scheduler: Running trials [14]...\n", "[INFO 07-13 14:31:28] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:29] Scheduler: Running trials [15]...\n", "[INFO 07-13 14:31:30] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:30] Scheduler: Running trials [16]...\n", "[INFO 07-13 14:31:31] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:31] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.\n", "[INFO 07-13 14:31:31] Scheduler: Retrieved COMPLETED trials: 14 - 16.\n", "[INFO 07-13 14:31:31] Scheduler: Fetching data for trials: 14 - 16.\n", "[ERROR 2023-07-13 14:31:31,676 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:31:31,699 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:31:31,785 MainProcess] boa: Trials so far: 17\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 10: {'branin': -2.751490592956543, 'currin': -4.412967205047607},\n", " 11: {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 13: {'branin': -2.6974687576293945, 'currin': -4.486274719238281},\n", " 14: {'branin': -13.43986701965332, 'currin': -1.7252644300460815},\n", " 15: {'branin': -1.2292280197143555, 'currin': -4.788846969604492}}\n", "[INFO 07-13 14:31:31] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:32] Scheduler: Running trials [17]...\n", "[INFO 07-13 14:31:33] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:34] Scheduler: Running trials [18]...\n", "[INFO 07-13 14:31:35] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:35] Scheduler: Running trials [19]...\n", "[INFO 07-13 14:31:36] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:36] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.\n", "[INFO 07-13 14:31:36] Scheduler: Retrieved COMPLETED trials: 17 - 19.\n", "[INFO 07-13 14:31:36] Scheduler: Fetching data for trials: 17 - 19.\n", "[ERROR 2023-07-13 14:31:36,708 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:31:36,737 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:31:36,844 MainProcess] boa: Trials so far: 20\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 10: {'branin': -2.751490592956543, 'currin': -4.412967205047607},\n", " 11: {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 13: {'branin': -2.6974687576293945, 'currin': -4.486274719238281},\n", " 14: {'branin': -13.43986701965332, 'currin': -1.7252644300460815},\n", " 15: {'branin': -1.2292280197143555, 'currin': -4.788846969604492},\n", " 17: {'branin': -7.011050701141357, 'currin': -2.816755771636963},\n", " 18: {'branin': -3.212923526763916, 'currin': -3.917620897293091},\n", " 19: {'branin': -0.5423154830932617, 'currin': -5.359314918518066}}\n", "[INFO 07-13 14:31:36] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:37] Scheduler: Running trials [20]...\n", "[INFO 07-13 14:31:38] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:40] Scheduler: Running trials [21]...\n", "[INFO 07-13 14:31:40] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:41] Scheduler: Running trials [22]...\n", "[INFO 07-13 14:31:42] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:42] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.\n", "[INFO 07-13 14:31:42] Scheduler: Retrieved COMPLETED trials: 20 - 22.\n", "[INFO 07-13 14:31:42] Scheduler: Fetching data for trials: 20 - 22.\n", "[ERROR 2023-07-13 14:31:42,129 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:31:42,163 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:31:42,255 MainProcess] boa: Trials so far: 23\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 10: {'branin': -2.751490592956543, 'currin': -4.412967205047607},\n", " 11: {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 13: {'branin': -2.6974687576293945, 'currin': -4.486274719238281},\n", " 14: {'branin': -13.43986701965332, 'currin': -1.7252644300460815},\n", " 15: {'branin': -1.2292280197143555, 'currin': -4.788846969604492},\n", " 17: {'branin': -7.011050701141357, 'currin': -2.816755771636963},\n", " 18: {'branin': -3.212923526763916, 'currin': -3.917620897293091},\n", " 19: {'branin': -0.5423154830932617, 'currin': -5.359314918518066},\n", " 20: {'branin': -11.557344436645508, 'currin': -2.006943702697754},\n", " 21: {'branin': -15.435508728027344, 'currin': -1.4484350681304932},\n", " 22: {'branin': -8.345803260803223, 'currin': -2.5523483753204346}}\n", "[INFO 07-13 14:31:42] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:43] Scheduler: Running trials [23]...\n", "[INFO 07-13 14:31:44] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:45] Scheduler: Running trials [24]...\n", "[INFO 07-13 14:31:46] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:46] Scheduler: Running trials [25]...\n", "[INFO 07-13 14:31:47] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:47] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.\n", "[INFO 07-13 14:31:47] Scheduler: Retrieved COMPLETED trials: 23 - 25.\n", "[INFO 07-13 14:31:47] Scheduler: Fetching data for trials: 23 - 25.\n", "[ERROR 2023-07-13 14:31:47,775 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:31:47,809 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:31:47,897 MainProcess] boa: Trials so far: 26\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 11: {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 14: {'branin': -13.43986701965332, 'currin': -1.7252644300460815},\n", " 15: {'branin': -1.2292280197143555, 'currin': -4.788846969604492},\n", " 17: {'branin': -7.011050701141357, 'currin': -2.816755771636963},\n", " 18: {'branin': -3.212923526763916, 'currin': -3.917620897293091},\n", " 19: {'branin': -0.5423154830932617, 'currin': -5.359314918518066},\n", " 20: {'branin': -11.557344436645508, 'currin': -2.006943702697754},\n", " 21: {'branin': -15.435508728027344, 'currin': -1.4484350681304932},\n", " 22: {'branin': -8.345803260803223, 'currin': -2.5523483753204346},\n", " 23: {'branin': -5.791337966918945, 'currin': -3.093717575073242},\n", " 24: {'branin': -2.1616764068603516, 'currin': -4.326265811920166}}\n", "[INFO 07-13 14:31:47] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:48] Scheduler: Running trials [26]...\n", "[INFO 07-13 14:31:49] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:50] Scheduler: Running trials [27]...\n", "[INFO 07-13 14:31:50] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:51] Scheduler: Running trials [28]...\n", "[INFO 07-13 14:31:52] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:52] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.\n", "[INFO 07-13 14:31:52] Scheduler: Retrieved COMPLETED trials: 26 - 28.\n", "[INFO 07-13 14:31:52] Scheduler: Fetching data for trials: 26 - 28.\n", "[ERROR 2023-07-13 14:31:52,577 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:31:52,615 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:31:52,717 MainProcess] boa: Trials so far: 29\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 11: {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 14: {'branin': -13.43986701965332, 'currin': -1.7252644300460815},\n", " 15: {'branin': -1.2292280197143555, 'currin': -4.788846969604492},\n", " 17: {'branin': -7.011050701141357, 'currin': -2.816755771636963},\n", " 18: {'branin': -3.212923526763916, 'currin': -3.917620897293091},\n", " 19: {'branin': -0.5423154830932617, 'currin': -5.359314918518066},\n", " 20: {'branin': -11.557344436645508, 'currin': -2.006943702697754},\n", " 21: {'branin': -15.435508728027344, 'currin': -1.4484350681304932},\n", " 22: {'branin': -8.345803260803223, 'currin': -2.5523483753204346},\n", " 23: {'branin': -5.791337966918945, 'currin': -3.093717575073242},\n", " 24: {'branin': -2.1616764068603516, 'currin': -4.326265811920166},\n", " 26: {'branin': -3.936014175415039, 'currin': -3.653069019317627},\n", " 27: {'branin': -10.64627456665039, 'currin': -2.152012586593628},\n", " 28: {'branin': -0.8413734436035156, 'currin': -5.042774677276611}}\n", "[INFO 07-13 14:31:52] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:53] Scheduler: Running trials [29]...\n", "[INFO 07-13 14:31:54] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:56] Scheduler: Running trials [30]...\n", "[INFO 07-13 14:31:57] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:57] Scheduler: Running trials [31]...\n", "[INFO 07-13 14:31:58] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:31:58] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.\n", "[INFO 07-13 14:31:58] Scheduler: Retrieved COMPLETED trials: 29 - 31.\n", "[INFO 07-13 14:31:58] Scheduler: Fetching data for trials: 29 - 31.\n", "[ERROR 2023-07-13 14:31:58,966 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:31:59,007 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:31:59,112 MainProcess] boa: Trials so far: 32\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 11: {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 14: {'branin': -13.43986701965332, 'currin': -1.7252644300460815},\n", " 15: {'branin': -1.2292280197143555, 'currin': -4.788846969604492},\n", " 17: {'branin': -7.011050701141357, 'currin': -2.816755771636963},\n", " 18: {'branin': -3.212923526763916, 'currin': -3.917620897293091},\n", " 19: {'branin': -0.5423154830932617, 'currin': -5.359314918518066},\n", " 20: {'branin': -11.557344436645508, 'currin': -2.006943702697754},\n", " 21: {'branin': -15.435508728027344, 'currin': -1.4484350681304932},\n", " 22: {'branin': -8.345803260803223, 'currin': -2.5523483753204346},\n", " 23: {'branin': -5.791337966918945, 'currin': -3.093717575073242},\n", " 24: {'branin': -2.1616764068603516, 'currin': -4.326265811920166},\n", " 26: {'branin': -3.936014175415039, 'currin': -3.653069019317627},\n", " 27: {'branin': -10.64627456665039, 'currin': -2.152012586593628},\n", " 28: {'branin': -0.8413734436035156, 'currin': -5.042774677276611},\n", " 29: {'branin': -1.6735401153564453, 'currin': -4.550370693206787},\n", " 30: {'branin': -2.6767940521240234, 'currin': -4.113973617553711},\n", " 31: {'branin': -0.4042530059814453, 'currin': -5.611616134643555}}\n", "[INFO 07-13 14:31:59] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:00] Scheduler: Running trials [32]...\n", "[INFO 07-13 14:32:01] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:01] Scheduler: Running trials [33]...\n", "[INFO 07-13 14:32:02] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:03] Scheduler: Running trials [34]...\n", "[INFO 07-13 14:32:04] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:04] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.\n", "[INFO 07-13 14:32:04] Scheduler: Retrieved COMPLETED trials: 32 - 34.\n", "[INFO 07-13 14:32:04] Scheduler: Fetching data for trials: 32 - 34.\n", "[ERROR 2023-07-13 14:32:04,803 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:32:04,848 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:32:04,960 MainProcess] boa: Trials so far: 35\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 11: {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 14: {'branin': -13.43986701965332, 'currin': -1.7252644300460815},\n", " 15: {'branin': -1.2292280197143555, 'currin': -4.788846969604492},\n", " 17: {'branin': -7.011050701141357, 'currin': -2.816755771636963},\n", " 18: {'branin': -3.212923526763916, 'currin': -3.917620897293091},\n", " 19: {'branin': -0.5423154830932617, 'currin': -5.359314918518066},\n", " 20: {'branin': -11.557344436645508, 'currin': -2.006943702697754},\n", " 21: {'branin': -15.435508728027344, 'currin': -1.4484350681304932},\n", " 22: {'branin': -8.345803260803223, 'currin': -2.5523483753204346},\n", " 23: {'branin': -5.791337966918945, 'currin': -3.093717575073242},\n", " 24: {'branin': -2.1616764068603516, 'currin': -4.326265811920166},\n", " 26: {'branin': -3.936014175415039, 'currin': -3.653069019317627},\n", " 27: {'branin': -10.64627456665039, 'currin': -2.152012586593628},\n", " 28: {'branin': -0.8413734436035156, 'currin': -5.042774677276611},\n", " 29: {'branin': -1.6735401153564453, 'currin': -4.550370693206787},\n", " 30: {'branin': -2.6767940521240234, 'currin': -4.113973617553711},\n", " 31: {'branin': -0.4042530059814453, 'currin': -5.611616134643555},\n", " 32: {'branin': -5.229813098907471, 'currin': -3.240206718444824},\n", " 33: {'branin': -16.462448120117188, 'currin': -1.313362956047058},\n", " 34: {'branin': -3.5601887702941895, 'currin': -3.784292221069336}}\n", "[INFO 07-13 14:32:04] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:05] Scheduler: Running trials [35]...\n", "[INFO 07-13 14:32:06] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:07] Scheduler: Running trials [36]...\n", "[INFO 07-13 14:32:08] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:09] Scheduler: Running trials [37]...\n", "[INFO 07-13 14:32:10] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:10] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.\n", "[INFO 07-13 14:32:10] Scheduler: Retrieved COMPLETED trials: 35 - 37.\n", "[INFO 07-13 14:32:10] Scheduler: Fetching data for trials: 35 - 37.\n", "[ERROR 2023-07-13 14:32:10,350 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:32:10,398 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:32:10,499 MainProcess] boa: Trials so far: 38\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 11: {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 14: {'branin': -13.43986701965332, 'currin': -1.7252644300460815},\n", " 15: {'branin': -1.2292280197143555, 'currin': -4.788846969604492},\n", " 17: {'branin': -7.011050701141357, 'currin': -2.816755771636963},\n", " 18: {'branin': -3.212923526763916, 'currin': -3.917620897293091},\n", " 19: {'branin': -0.5423154830932617, 'currin': -5.359314918518066},\n", " 20: {'branin': -11.557344436645508, 'currin': -2.006943702697754},\n", " 21: {'branin': -15.435508728027344, 'currin': -1.4484350681304932},\n", " 22: {'branin': -8.345803260803223, 'currin': -2.5523483753204346},\n", " 23: {'branin': -5.791337966918945, 'currin': -3.093717575073242},\n", " 24: {'branin': -2.1616764068603516, 'currin': -4.326265811920166},\n", " 26: {'branin': -3.936014175415039, 'currin': -3.653069019317627},\n", " 27: {'branin': -10.64627456665039, 'currin': -2.152012586593628},\n", " 28: {'branin': -0.8413734436035156, 'currin': -5.042774677276611},\n", " 29: {'branin': -1.6735401153564453, 'currin': -4.550370693206787},\n", " 30: {'branin': -2.6767940521240234, 'currin': -4.113973617553711},\n", " 31: {'branin': -0.4042530059814453, 'currin': -5.611616134643555},\n", " 32: {'branin': -5.229813098907471, 'currin': -3.240206718444824},\n", " 33: {'branin': -16.462448120117188, 'currin': -1.313362956047058},\n", " 34: {'branin': -3.5601887702941895, 'currin': -3.784292221069336}}\n", "[INFO 07-13 14:32:10] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:11] Scheduler: Running trials [38]...\n", "[INFO 07-13 14:32:12] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:13] Scheduler: Running trials [39]...\n", "[INFO 07-13 14:32:14] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:15] Scheduler: Running trials [40]...\n", "[INFO 07-13 14:32:16] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:16] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.\n", "[INFO 07-13 14:32:16] Scheduler: Retrieved COMPLETED trials: 38 - 40.\n", "[INFO 07-13 14:32:16] Scheduler: Fetching data for trials: 38 - 40.\n", "[ERROR 2023-07-13 14:32:16,104 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:32:16,156 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:32:16,275 MainProcess] boa: Trials so far: 41\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 11: {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 14: {'branin': -13.43986701965332, 'currin': -1.7252644300460815},\n", " 15: {'branin': -1.2292280197143555, 'currin': -4.788846969604492},\n", " 17: {'branin': -7.011050701141357, 'currin': -2.816755771636963},\n", " 18: {'branin': -3.212923526763916, 'currin': -3.917620897293091},\n", " 19: {'branin': -0.5423154830932617, 'currin': -5.359314918518066},\n", " 20: {'branin': -11.557344436645508, 'currin': -2.006943702697754},\n", " 21: {'branin': -15.435508728027344, 'currin': -1.4484350681304932},\n", " 22: {'branin': -8.345803260803223, 'currin': -2.5523483753204346},\n", " 23: {'branin': -5.791337966918945, 'currin': -3.093717575073242},\n", " 24: {'branin': -2.1616764068603516, 'currin': -4.326265811920166},\n", " 26: {'branin': -3.936014175415039, 'currin': -3.653069019317627},\n", " 27: {'branin': -10.64627456665039, 'currin': -2.152012586593628},\n", " 28: {'branin': -0.8413734436035156, 'currin': -5.042774677276611},\n", " 29: {'branin': -1.6735401153564453, 'currin': -4.550370693206787},\n", " 30: {'branin': -2.6767940521240234, 'currin': -4.113973617553711},\n", " 31: {'branin': -0.4042530059814453, 'currin': -5.611616134643555},\n", " 32: {'branin': -5.229813098907471, 'currin': -3.240206718444824},\n", " 33: {'branin': -16.462448120117188, 'currin': -1.313362956047058},\n", " 34: {'branin': -3.5601887702941895, 'currin': -3.784292221069336},\n", " 38: {'branin': -16.983062744140625, 'currin': -1.2466212511062622},\n", " 39: {'branin': -9.042816162109375, 'currin': -2.424952268600464},\n", " 40: {'branin': -7.668343544006348, 'currin': -2.6826891899108887}}\n", "[INFO 07-13 14:32:16] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:17] Scheduler: Running trials [41]...\n", "[INFO 07-13 14:32:18] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:19] Scheduler: Running trials [42]...\n", "[INFO 07-13 14:32:20] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:21] Scheduler: Running trials [43]...\n", "[INFO 07-13 14:32:22] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:22] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.\n", "[INFO 07-13 14:32:22] Scheduler: Retrieved COMPLETED trials: 41 - 43.\n", "[INFO 07-13 14:32:22] Scheduler: Fetching data for trials: 41 - 43.\n", "[ERROR 2023-07-13 14:32:22,488 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:32:22,545 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:32:22,667 MainProcess] boa: Trials so far: 44\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 11: {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 14: {'branin': -13.43986701965332, 'currin': -1.7252644300460815},\n", " 15: {'branin': -1.2292280197143555, 'currin': -4.788846969604492},\n", " 17: {'branin': -7.011050701141357, 'currin': -2.816755771636963},\n", " 18: {'branin': -3.212923526763916, 'currin': -3.917620897293091},\n", " 19: {'branin': -0.5423154830932617, 'currin': -5.359314918518066},\n", " 20: {'branin': -11.557344436645508, 'currin': -2.006943702697754},\n", " 21: {'branin': -15.435508728027344, 'currin': -1.4484350681304932},\n", " 22: {'branin': -8.345803260803223, 'currin': -2.5523483753204346},\n", " 23: {'branin': -5.791337966918945, 'currin': -3.093717575073242},\n", " 24: {'branin': -2.1616764068603516, 'currin': -4.326265811920166},\n", " 26: {'branin': -3.936014175415039, 'currin': -3.653069019317627},\n", " 27: {'branin': -10.64627456665039, 'currin': -2.152012586593628},\n", " 28: {'branin': -0.8413734436035156, 'currin': -5.042774677276611},\n", " 29: {'branin': -1.6735401153564453, 'currin': -4.550370693206787},\n", " 30: {'branin': -2.6767940521240234, 'currin': -4.113973617553711},\n", " 31: {'branin': -0.4042530059814453, 'currin': -5.611616134643555},\n", " 32: {'branin': -5.229813098907471, 'currin': -3.240206718444824},\n", " 33: {'branin': -16.462448120117188, 'currin': -1.313362956047058},\n", " 34: {'branin': -3.5601887702941895, 'currin': -3.784292221069336},\n", " 38: {'branin': -16.983062744140625, 'currin': -1.2466212511062622},\n", " 39: {'branin': -9.042816162109375, 'currin': -2.424952268600464},\n", " 40: {'branin': -7.668343544006348, 'currin': -2.6826891899108887},\n", " 41: {'branin': -6.388263702392578, 'currin': -2.952639102935791},\n", " 42: {'branin': -4.3190178871154785, 'currin': -3.5232274532318115},\n", " 43: {'branin': -1.4436731338500977, 'currin': -4.667131423950195}}\n", "[INFO 07-13 14:32:22] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:23] Scheduler: Running trials [44]...\n", "[INFO 07-13 14:32:24] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:25] Scheduler: Running trials [45]...\n", "[INFO 07-13 14:32:26] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:27] Scheduler: Running trials [46]...\n", "[INFO 07-13 14:32:28] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:28] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.\n", "[INFO 07-13 14:32:28] Scheduler: Retrieved COMPLETED trials: 44 - 46.\n", "[INFO 07-13 14:32:28] Scheduler: Fetching data for trials: 44 - 46.\n", "[ERROR 2023-07-13 14:32:28,646 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:32:28,706 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:32:28,831 MainProcess] boa: Trials so far: 47\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 11: {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 14: {'branin': -13.43986701965332, 'currin': -1.7252644300460815},\n", " 15: {'branin': -1.2292280197143555, 'currin': -4.788846969604492},\n", " 17: {'branin': -7.011050701141357, 'currin': -2.816755771636963},\n", " 18: {'branin': -3.212923526763916, 'currin': -3.917620897293091},\n", " 19: {'branin': -0.5423154830932617, 'currin': -5.359314918518066},\n", " 20: {'branin': -11.557344436645508, 'currin': -2.006943702697754},\n", " 21: {'branin': -15.435508728027344, 'currin': -1.4484350681304932},\n", " 22: {'branin': -8.345803260803223, 'currin': -2.5523483753204346},\n", " 23: {'branin': -5.791337966918945, 'currin': -3.093717575073242},\n", " 24: {'branin': -2.1616764068603516, 'currin': -4.326265811920166},\n", " 26: {'branin': -3.936014175415039, 'currin': -3.653069019317627},\n", " 27: {'branin': -10.64627456665039, 'currin': -2.152012586593628},\n", " 28: {'branin': -0.8413734436035156, 'currin': -5.042774677276611},\n", " 29: {'branin': -1.6735401153564453, 'currin': -4.550370693206787},\n", " 30: {'branin': -2.6767940521240234, 'currin': -4.113973617553711},\n", " 31: {'branin': -0.4042530059814453, 'currin': -5.611616134643555},\n", " 32: {'branin': -5.229813098907471, 'currin': -3.240206718444824},\n", " 33: {'branin': -16.462448120117188, 'currin': -1.313362956047058},\n", " 34: {'branin': -3.5601887702941895, 'currin': -3.784292221069336},\n", " 38: {'branin': -16.983062744140625, 'currin': -1.2466212511062622},\n", " 39: {'branin': -9.042816162109375, 'currin': -2.424952268600464},\n", " 40: {'branin': -7.668343544006348, 'currin': -2.6826891899108887},\n", " 41: {'branin': -6.388263702392578, 'currin': -2.952639102935791},\n", " 42: {'branin': -4.3190178871154785, 'currin': -3.5232274532318115},\n", " 43: {'branin': -1.4436731338500977, 'currin': -4.667131423950195},\n", " 44: {'branin': -1.9134502410888672, 'currin': -4.4366374015808105},\n", " 45: {'branin': -14.428484916687012, 'currin': -1.5856086015701294},\n", " 46: {'branin': -2.416285514831543, 'currin': -4.218944549560547}}\n", "[INFO 07-13 14:32:28] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:29] Scheduler: Running trials [47]...\n", "[INFO 07-13 14:32:30] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:31] Scheduler: Running trials [48]...\n", "[INFO 07-13 14:32:32] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 07-13 14:32:34] Scheduler: Running trials [49]...\n", "[INFO 07-13 14:32:35] Scheduler: Retrieved COMPLETED trials: 47 - 49.\n", "[INFO 07-13 14:32:35] Scheduler: Fetching data for trials: 47 - 49.\n", "[ERROR 2023-07-13 14:32:35,062 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:32:35,128 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 2023-07-13 14:32:35,282 MainProcess] boa: Trials so far: 50\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 11: {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 14: {'branin': -13.43986701965332, 'currin': -1.7252644300460815},\n", " 15: {'branin': -1.2292280197143555, 'currin': -4.788846969604492},\n", " 17: {'branin': -7.011050701141357, 'currin': -2.816755771636963},\n", " 18: {'branin': -3.212923526763916, 'currin': -3.917620897293091},\n", " 19: {'branin': -0.5423154830932617, 'currin': -5.359314918518066},\n", " 20: {'branin': -11.557344436645508, 'currin': -2.006943702697754},\n", " 21: {'branin': -15.435508728027344, 'currin': -1.4484350681304932},\n", " 22: {'branin': -8.345803260803223, 'currin': -2.5523483753204346},\n", " 23: {'branin': -5.791337966918945, 'currin': -3.093717575073242},\n", " 24: {'branin': -2.1616764068603516, 'currin': -4.326265811920166},\n", " 26: {'branin': -3.936014175415039, 'currin': -3.653069019317627},\n", " 27: {'branin': -10.64627456665039, 'currin': -2.152012586593628},\n", " 28: {'branin': -0.8413734436035156, 'currin': -5.042774677276611},\n", " 29: {'branin': -1.6735401153564453, 'currin': -4.550370693206787},\n", " 30: {'branin': -2.6767940521240234, 'currin': -4.113973617553711},\n", " 31: {'branin': -0.4042530059814453, 'currin': -5.611616134643555},\n", " 32: {'branin': -5.229813098907471, 'currin': -3.240206718444824},\n", " 33: {'branin': -16.462448120117188, 'currin': -1.313362956047058},\n", " 34: {'branin': -3.5601887702941895, 'currin': -3.784292221069336},\n", " 38: {'branin': -16.983062744140625, 'currin': -1.2466212511062622},\n", " 39: {'branin': -9.042816162109375, 'currin': -2.424952268600464},\n", " 40: {'branin': -7.668343544006348, 'currin': -2.6826891899108887},\n", " 41: {'branin': -6.388263702392578, 'currin': -2.952639102935791},\n", " 42: {'branin': -4.3190178871154785, 'currin': -3.5232274532318115},\n", " 43: {'branin': -1.4436731338500977, 'currin': -4.667131423950195},\n", " 44: {'branin': -1.9134502410888672, 'currin': -4.4366374015808105},\n", " 45: {'branin': -14.428484916687012, 'currin': -1.5856086015701294},\n", " 46: {'branin': -2.416285514831543, 'currin': -4.218944549560547},\n", " 47: {'branin': -15.946688652038574, 'currin': -1.3806185722351074},\n", " 48: {'branin': -12.489206314086914, 'currin': -1.8647232055664062}}\n", "[ERROR 2023-07-13 14:32:35,283 MainProcess] boa: Object passed to `object_to_json` (of type , module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.\n", "[INFO 2023-07-13 14:32:35,357 MainProcess] boa: Saved JSON-serialized state of optimization to `/Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109/scheduler.json`.\n", "Boa version: 0.8.7.dev4+gae30cf2.d20230713\n", "[INFO 07-13 14:32:35] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", "[INFO 2023-07-13 14:32:35,413 MainProcess] boa: Trials so far: 50\n", "Running trials: \n", "Will Produce next trials from generation step: MOO\n", "Best trial so far: {5: {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 8: {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 11: {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 14: {'branin': -13.43986701965332, 'currin': -1.7252644300460815},\n", " 15: {'branin': -1.2292280197143555, 'currin': -4.788846969604492},\n", " 17: {'branin': -7.011050701141357, 'currin': -2.816755771636963},\n", " 18: {'branin': -3.212923526763916, 'currin': -3.917620897293091},\n", " 19: {'branin': -0.5423154830932617, 'currin': -5.359314918518066},\n", " 20: {'branin': -11.557344436645508, 'currin': -2.006943702697754},\n", " 21: {'branin': -15.435508728027344, 'currin': -1.4484350681304932},\n", " 22: {'branin': -8.345803260803223, 'currin': -2.5523483753204346},\n", " 23: {'branin': -5.791337966918945, 'currin': -3.093717575073242},\n", " 24: {'branin': -2.1616764068603516, 'currin': -4.326265811920166},\n", " 26: {'branin': -3.936014175415039, 'currin': -3.653069019317627},\n", " 27: {'branin': -10.64627456665039, 'currin': -2.152012586593628},\n", " 28: {'branin': -0.8413734436035156, 'currin': -5.042774677276611},\n", " 29: {'branin': -1.6735401153564453, 'currin': -4.550370693206787},\n", " 30: {'branin': -2.6767940521240234, 'currin': -4.113973617553711},\n", " 31: {'branin': -0.4042530059814453, 'currin': -5.611616134643555},\n", " 32: {'branin': -5.229813098907471, 'currin': -3.240206718444824},\n", " 33: {'branin': -16.462448120117188, 'currin': -1.313362956047058},\n", " 34: {'branin': -3.5601887702941895, 'currin': -3.784292221069336},\n", " 38: {'branin': -16.983062744140625, 'currin': -1.2466212511062622},\n", " 39: {'branin': -9.042816162109375, 'currin': -2.424952268600464},\n", " 40: {'branin': -7.668343544006348, 'currin': -2.6826891899108887},\n", " 41: {'branin': -6.388263702392578, 'currin': -2.952639102935791},\n", " 42: {'branin': -4.3190178871154785, 'currin': -3.5232274532318115},\n", " 43: {'branin': -1.4436731338500977, 'currin': -4.667131423950195},\n", " 44: {'branin': -1.9134502410888672, 'currin': -4.4366374015808105},\n", " 45: {'branin': -14.428484916687012, 'currin': -1.5856086015701294},\n", " 46: {'branin': -2.416285514831543, 'currin': -4.218944549560547},\n", " 47: {'branin': -15.946688652038574, 'currin': -1.3806185722351074},\n", " 48: {'branin': -12.489206314086914, 'currin': -1.8647232055664062}}\n", "[INFO 2023-07-13 14:32:35,440 MainProcess] boa: \n", "\n", "##############################################\n", "\n", "Trials Completed!\n", "BOA Experiment Run\n", "Output Experiment Dir: /Users/madelinescyphers/Documents/projs_.nosync/boa/docs/examples/moo_run_20230713T143109\n", "Start Time: 20230713T143109\n", "Version: 0.8.7.dev4+gae30cf2.d20230713\n", "End Time: 20230713T143235\n", "Total Run Time: 86.35451197624207\n", "\n", " trial_index arm_name trial_status generation_method branin \\\n", "0 0 0_0 COMPLETED Sobol -109.987946 \n", "1 1 1_0 COMPLETED Sobol -2.655920 \n", "2 2 2_0 COMPLETED Sobol -35.314487 \n", "3 3 3_0 COMPLETED Sobol -51.288143 \n", "4 4 4_0 COMPLETED Sobol -0.992895 \n", "5 5 5_0 COMPLETED MOO -4.707081 \n", "6 6 6_0 COMPLETED MOO -10.960894 \n", "7 7 7_0 COMPLETED MOO -55.937115 \n", "8 8 8_0 COMPLETED MOO -17.508297 \n", "9 9 9_0 COMPLETED MOO -26.455505 \n", "10 10 10_0 COMPLETED MOO -2.751491 \n", "11 11 11_0 COMPLETED MOO -9.756552 \n", "12 12 12_0 COMPLETED MOO -167.167480 \n", "13 13 13_0 COMPLETED MOO -2.697469 \n", "14 14 14_0 COMPLETED MOO -13.439867 \n", "15 15 15_0 COMPLETED MOO -1.229228 \n", "16 16 16_0 COMPLETED MOO -308.129059 \n", "17 17 17_0 COMPLETED MOO -7.011051 \n", "18 18 18_0 COMPLETED MOO -3.212924 \n", "19 19 19_0 COMPLETED MOO -0.542315 \n", "20 20 20_0 COMPLETED MOO -11.557344 \n", "21 21 21_0 COMPLETED MOO -15.435509 \n", "22 22 22_0 COMPLETED MOO -8.345803 \n", "23 23 23_0 COMPLETED MOO -5.791338 \n", "24 24 24_0 COMPLETED MOO -2.161676 \n", "25 25 25_0 COMPLETED MOO -145.872208 \n", "26 26 26_0 COMPLETED MOO -3.936014 \n", "27 27 27_0 COMPLETED MOO -10.646275 \n", "28 28 28_0 COMPLETED MOO -0.841373 \n", "29 29 29_0 COMPLETED MOO -1.673540 \n", "30 30 30_0 COMPLETED MOO -2.676794 \n", "31 31 31_0 COMPLETED MOO -0.404253 \n", "32 32 32_0 COMPLETED MOO -5.229813 \n", "33 33 33_0 COMPLETED MOO -16.462448 \n", "34 34 34_0 COMPLETED MOO -3.560189 \n", "35 35 35_0 COMPLETED MOO -212.371979 \n", "36 36 36_0 COMPLETED MOO -105.502625 \n", "37 37 37_0 COMPLETED MOO -65.481857 \n", "38 38 38_0 COMPLETED MOO -16.983063 \n", "39 39 39_0 COMPLETED MOO -9.042816 \n", "40 40 40_0 COMPLETED MOO -7.668344 \n", "41 41 41_0 COMPLETED MOO -6.388264 \n", "42 42 42_0 COMPLETED MOO -4.319018 \n", "43 43 43_0 COMPLETED MOO -1.443673 \n", "44 44 44_0 COMPLETED MOO -1.913450 \n", "45 45 45_0 COMPLETED MOO -14.428485 \n", "46 46 46_0 COMPLETED MOO -2.416286 \n", "47 47 47_0 COMPLETED MOO -15.946689 \n", "48 48 48_0 COMPLETED MOO -12.489206 \n", "49 49 49_0 COMPLETED MOO -52.128422 \n", "\n", " currin is_feasible x0 x1 \n", "0 -4.971244 False 0.856628 0.764265 \n", "1 -7.005593 False 0.157682 0.671000 \n", "2 -12.795367 False 0.357816 0.092607 \n", "3 -2.498643 False 0.016990 0.670656 \n", "4 -10.797516 False 0.562803 0.163890 \n", "5 -3.395252 True 0.058608 1.000000 \n", "6 -10.179487 False 1.000000 0.000000 \n", "7 -5.405636 False 0.243453 1.000000 \n", "8 -1.180408 True 0.000000 1.000000 \n", "9 -1.280036 False 0.000000 0.898782 \n", "10 -4.412967 True 0.080315 0.885963 \n", "11 -2.300354 True 0.027886 1.000000 \n", "12 -4.468507 False 0.558653 1.000000 \n", "13 -4.486275 True 0.095033 0.968575 \n", "14 -1.725264 True 0.013374 1.000000 \n", "15 -4.788847 True 0.097610 0.903352 \n", "16 -3.000000 False 0.000000 0.000000 \n", "17 -2.816756 True 0.041668 1.000000 \n", "18 -3.917621 True 0.071688 0.958091 \n", "19 -5.359315 True 0.112396 0.843265 \n", "20 -2.006944 True 0.020404 1.000000 \n", "21 -1.448435 True 0.006557 1.000000 \n", "22 -2.552348 True 0.034494 1.000000 \n", "23 -3.093718 True 0.049527 1.000000 \n", "24 -4.326266 True 0.083659 0.935486 \n", "25 -4.005316 False 1.000000 1.000000 \n", "26 -3.653069 True 0.065525 0.984877 \n", "27 -2.152013 True 0.024079 1.000000 \n", "28 -5.042775 True 0.103928 0.875541 \n", "29 -4.550371 True 0.089798 0.916979 \n", "30 -4.113974 True 0.077855 0.951802 \n", "31 -5.611616 True 0.121575 0.825490 \n", "32 -3.240207 True 0.053860 1.000000 \n", "33 -1.313363 True 0.003250 1.000000 \n", "34 -3.784292 True 0.068957 0.975346 \n", "35 -4.184972 False 0.732985 1.000000 \n", "36 -5.411661 False 0.672396 0.722577 \n", "37 -6.458636 False 0.696218 0.544637 \n", "38 -1.246621 True 0.001618 1.000000 \n", "39 -2.424952 True 0.031129 1.000000 \n", "40 -2.682689 True 0.037996 1.000000 \n", "41 -2.952639 True 0.045474 1.000000 \n", "42 -3.523227 True 0.062090 0.993367 \n", "43 -4.667131 True 0.093131 0.907679 \n", "44 -4.436637 True 0.086689 0.926583 \n", "45 -1.585609 True 0.009926 1.000000 \n", "46 -4.218945 True 0.080687 0.943602 \n", "47 -1.380619 True 0.004896 1.000000 \n", "48 -1.864723 True 0.016839 1.000000 \n", "49 -5.339792 False 1.000000 0.672474 \n", "\n", "##############################################\n", "\n" ] } ], "source": [ "scheduler = controller.run()" ] }, { "cell_type": "markdown", "metadata": { "jupyter": { "outputs_hidden": false } }, "source": [ "## Get the Best Trial" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "`best_fitted_trials` uses the data to do a fitting from all trials and with the noise levels you provided (or if no noise levels was provided, it assumed an unknown level of noise and inferred the noise level from the trial runs)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[INFO 07-13 14:32:35] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n" ] }, { "data": { "text/plain": [ "{5: {'params': {'x0': 0.058607747184593696, 'x1': 1.0},\n", " 'means': {'branin': -4.7050441454830025, 'currin': -3.3953789314264324},\n", " 'cov_matrix': {'branin': {'branin': 0.00013756326699888865, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.841244830810778e-06}}},\n", " 8: {'params': {'x0': 0.0, 'x1': 1.0},\n", " 'means': {'branin': -17.506033432938764, 'currin': -1.180053704082634},\n", " 'cov_matrix': {'branin': {'branin': 0.00013546227963810216, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 2.3068115437200997e-06}}},\n", " 11: {'params': {'x0': 0.02788589200513968, 'x1': 1.0},\n", " 'means': {'branin': -9.756586720344997, 'currin': -2.3002794474233026},\n", " 'cov_matrix': {'branin': {'branin': 6.72758481420603e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 9.92174240095971e-07}}},\n", " 14: {'params': {'x0': 0.01337350973969159, 'x1': 1.0},\n", " 'means': {'branin': -13.439514149380575, 'currin': -1.7253909772132952},\n", " 'cov_matrix': {'branin': {'branin': 6.644393339241738e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.0750998161793646e-06}}},\n", " 15: {'params': {'x0': 0.09760968515294619, 'x1': 0.9033515154200571},\n", " 'means': {'branin': -1.2307812622414644, 'currin': -4.789056968818793},\n", " 'cov_matrix': {'branin': {'branin': 0.0001570990134859989, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.9826752555455763e-06}}},\n", " 17: {'params': {'x0': 0.041668138136527644, 'x1': 1.0},\n", " 'means': {'branin': -7.011065763378252, 'currin': -2.816734841265921},\n", " 'cov_matrix': {'branin': {'branin': 7.10215758287429e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.0721517815328949e-06}}},\n", " 18: {'params': {'x0': 0.0716875955952911, 'x1': 0.9580908498468903},\n", " 'means': {'branin': -3.2128987191502567, 'currin': -3.917612765689042},\n", " 'cov_matrix': {'branin': {'branin': 0.00017032103519308775, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 2.092143825906518e-06}}},\n", " 19: {'params': {'x0': 0.11239570870390903, 'x1': 0.8432649704572479},\n", " 'means': {'branin': -0.5418969944135537, 'currin': -5.358417121853947},\n", " 'cov_matrix': {'branin': {'branin': 0.0002122772230446082, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 3.5195601392530723e-06}}},\n", " 20: {'params': {'x0': 0.02040369170653894, 'x1': 1.0},\n", " 'means': {'branin': -11.557018422257606, 'currin': -2.0069179257698777},\n", " 'cov_matrix': {'branin': {'branin': 6.91392626578105e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.0208171410969618e-06}}},\n", " 21: {'params': {'x0': 0.00655699293535461, 'x1': 1.0},\n", " 'means': {'branin': -15.436631509543615, 'currin': -1.4486230406119942},\n", " 'cov_matrix': {'branin': {'branin': 5.784272467789646e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 8.632145868488649e-07}}},\n", " 22: {'params': {'x0': 0.03449388657898811, 'x1': 1.0},\n", " 'means': {'branin': -8.345780049230978, 'currin': -2.552295505641358},\n", " 'cov_matrix': {'branin': {'branin': 6.639231145639397e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 9.913730739075708e-07}}},\n", " 23: {'params': {'x0': 0.04952662991879656, 'x1': 1.0},\n", " 'means': {'branin': -5.7917726129030385, 'currin': -3.0937386232068977},\n", " 'cov_matrix': {'branin': {'branin': 8.310349310267826e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.157487836301275e-06}}},\n", " 24: {'params': {'x0': 0.08365924892963733, 'x1': 0.9354860121514168},\n", " 'means': {'branin': -2.1620056623544794, 'currin': -4.326385078152994},\n", " 'cov_matrix': {'branin': {'branin': 8.251072791410869e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.1235483071904282e-06}}},\n", " 26: {'params': {'x0': 0.06552524539801446, 'x1': 0.9848772877560428},\n", " 'means': {'branin': -3.936994631064115, 'currin': -3.6529786821315335},\n", " 'cov_matrix': {'branin': {'branin': 9.81173962604765e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.296777715315678e-06}}},\n", " 27: {'params': {'x0': 0.024078761923997247, 'x1': 1.0},\n", " 'means': {'branin': -10.64618137352435, 'currin': -2.1519477775620186},\n", " 'cov_matrix': {'branin': {'branin': 6.924609218529233e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.0032982958499038e-06}}},\n", " 28: {'params': {'x0': 0.10392796257135913, 'x1': 0.8755408867421628},\n", " 'means': {'branin': -0.841333383469328, 'currin': -5.043005985587309},\n", " 'cov_matrix': {'branin': {'branin': 0.0001987881942199507, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 2.6999807691987326e-06}}},\n", " 29: {'params': {'x0': 0.08979817795234582, 'x1': 0.9169786644590722},\n", " 'means': {'branin': -1.6730611322134585, 'currin': -4.550505620620173},\n", " 'cov_matrix': {'branin': {'branin': 8.767803388677445e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.1746936215781019e-06}}},\n", " 30: {'params': {'x0': 0.07785524764767986, 'x1': 0.9518020585777327},\n", " 'means': {'branin': -2.6764156696664685, 'currin': -4.114043037110592},\n", " 'cov_matrix': {'branin': {'branin': 0.0001127811411823995, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.2602880640377312e-06}}},\n", " 31: {'params': {'x0': 0.12157501887429062, 'x1': 0.8254903306037356},\n", " 'means': {'branin': -0.40450481178859654, 'currin': -5.6122479041448115},\n", " 'cov_matrix': {'branin': {'branin': 0.00022050754320547062, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 4.675683400939879e-06}}},\n", " 32: {'params': {'x0': 0.05386019078164375, 'x1': 1.0},\n", " 'means': {'branin': -5.229847326706208, 'currin': -3.240268408259183},\n", " 'cov_matrix': {'branin': {'branin': 8.557783863903338e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.2083514487584911e-06}}},\n", " 33: {'params': {'x0': 0.003249984243833066, 'x1': 1.0},\n", " 'means': {'branin': -16.463430345532228, 'currin': -1.3133972884528422},\n", " 'cov_matrix': {'branin': {'branin': 4.741494675985097e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 9.294097699209482e-07}}},\n", " 34: {'params': {'x0': 0.06895655019208942, 'x1': 0.9753464069050974},\n", " 'means': {'branin': -3.5602540426668714, 'currin': -3.7842142621059853},\n", " 'cov_matrix': {'branin': {'branin': 0.00011429045547454886, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.3915586527965429e-06}}},\n", " 38: {'params': {'x0': 0.0016182043024408892, 'x1': 1.0},\n", " 'means': {'branin': -16.982965091033794, 'currin': -1.246496325131448},\n", " 'cov_matrix': {'branin': {'branin': 6.228971569601035e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.3430405568892165e-06}}},\n", " 39: {'params': {'x0': 0.031128832173220582, 'x1': 1.0},\n", " 'means': {'branin': -9.042847271459031, 'currin': -2.424885035481854},\n", " 'cov_matrix': {'branin': {'branin': 6.576869397855032e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 9.8601816248227e-07}}},\n", " 40: {'params': {'x0': 0.03799558206052214, 'x1': 1.0},\n", " 'means': {'branin': -7.668285032666206, 'currin': -2.682652548162963},\n", " 'cov_matrix': {'branin': {'branin': 6.855871889604158e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.0191034920158612e-06}}},\n", " 41: {'params': {'x0': 0.04547388676332354, 'x1': 1.0},\n", " 'means': {'branin': -6.38850016752999, 'currin': -2.952634871407888},\n", " 'cov_matrix': {'branin': {'branin': 7.503137519011389e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.1304003470288392e-06}}},\n", " 42: {'params': {'x0': 0.06208990677590783, 'x1': 0.9933672100609731},\n", " 'means': {'branin': -4.319704947241787, 'currin': -3.5232071384331527},\n", " 'cov_matrix': {'branin': {'branin': 8.911721514602213e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.3259274716204907e-06}}},\n", " 43: {'params': {'x0': 0.09313073356253875, 'x1': 0.9076785619927272},\n", " 'means': {'branin': -1.4420645734829165, 'currin': -4.667272447440661},\n", " 'cov_matrix': {'branin': {'branin': 0.00010978971045565751, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.3424911634845635e-06}}},\n", " 44: {'params': {'x0': 0.08668927352903318, 'x1': 0.9265827657816511},\n", " 'means': {'branin': -1.9137632282044557, 'currin': -4.436766041178403},\n", " 'cov_matrix': {'branin': {'branin': 8.75945849355438e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.1178466084404268e-06}}},\n", " 45: {'params': {'x0': 0.009926278687075732, 'x1': 1.0},\n", " 'means': {'branin': -14.428783869666335, 'currin': -1.5858027377169162},\n", " 'cov_matrix': {'branin': {'branin': 6.431882097188617e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.0178881979226616e-06}}},\n", " 46: {'params': {'x0': 0.08068734182726725, 'x1': 0.9436020083517326},\n", " 'means': {'branin': -2.416231478487198, 'currin': -4.219047009609061},\n", " 'cov_matrix': {'branin': {'branin': 8.239765555556916e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.1724794444960076e-06}}},\n", " 47: {'params': {'x0': 0.0048956387240143215, 'x1': 1.0},\n", " 'means': {'branin': -15.947968638784397, 'currin': -1.380753574921319},\n", " 'cov_matrix': {'branin': {'branin': 5.1457470192595185e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 8.242771961026105e-07}}},\n", " 48: {'params': {'x0': 0.016839055909188713, 'x1': 1.0},\n", " 'means': {'branin': -12.48870494437146, 'currin': -1.8647659290992573},\n", " 'cov_matrix': {'branin': {'branin': 6.794896695388704e-05, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 1.0527363249805335e-06}}}}" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "trial = scheduler.best_fitted_trials()\n", "trial" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "if you need the exact points of the best trial, maybe because you need the trial number of the best trial to plot results, or for any other reason, `best_raw_trails` does not do any fitting" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[INFO 07-13 14:32:35] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n" ] }, { "data": { "text/plain": [ "{5: {'params': {'x0': 0.058607747184593696, 'x1': 1.0},\n", " 'means': {'branin': -4.707081317901611, 'currin': -3.395252227783203},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 8: {'params': {'x0': 0.0, 'x1': 1.0},\n", " 'means': {'branin': -17.508296966552734, 'currin': -1.180408000946045},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 11: {'params': {'x0': 0.02788589200513968, 'x1': 1.0},\n", " 'means': {'branin': -9.756551742553711, 'currin': -2.300353765487671},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 14: {'params': {'x0': 0.01337350973969159, 'x1': 1.0},\n", " 'means': {'branin': -13.43986701965332, 'currin': -1.7252644300460815},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 15: {'params': {'x0': 0.09760968515294619, 'x1': 0.9033515154200571},\n", " 'means': {'branin': -1.2292280197143555, 'currin': -4.788846969604492},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 17: {'params': {'x0': 0.041668138136527644, 'x1': 1.0},\n", " 'means': {'branin': -7.011050701141357, 'currin': -2.816755771636963},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 18: {'params': {'x0': 0.0716875955952911, 'x1': 0.9580908498468903},\n", " 'means': {'branin': -3.212923526763916, 'currin': -3.917620897293091},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 19: {'params': {'x0': 0.11239570870390903, 'x1': 0.8432649704572479},\n", " 'means': {'branin': -0.5423154830932617, 'currin': -5.359314918518066},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 20: {'params': {'x0': 0.02040369170653894, 'x1': 1.0},\n", " 'means': {'branin': -11.557344436645508, 'currin': -2.006943702697754},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 21: {'params': {'x0': 0.00655699293535461, 'x1': 1.0},\n", " 'means': {'branin': -15.435508728027344, 'currin': -1.4484350681304932},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 22: {'params': {'x0': 0.03449388657898811, 'x1': 1.0},\n", " 'means': {'branin': -8.345803260803223, 'currin': -2.5523483753204346},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 23: {'params': {'x0': 0.04952662991879656, 'x1': 1.0},\n", " 'means': {'branin': -5.791337966918945, 'currin': -3.093717575073242},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 24: {'params': {'x0': 0.08365924892963733, 'x1': 0.9354860121514168},\n", " 'means': {'branin': -2.1616764068603516, 'currin': -4.326265811920166},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 26: {'params': {'x0': 0.06552524539801446, 'x1': 0.9848772877560428},\n", " 'means': {'branin': -3.936014175415039, 'currin': -3.653069019317627},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 27: {'params': {'x0': 0.024078761923997247, 'x1': 1.0},\n", " 'means': {'branin': -10.64627456665039, 'currin': -2.152012586593628},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 28: {'params': {'x0': 0.10392796257135913, 'x1': 0.8755408867421628},\n", " 'means': {'branin': -0.8413734436035156, 'currin': -5.042774677276611},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 29: {'params': {'x0': 0.08979817795234582, 'x1': 0.9169786644590722},\n", " 'means': {'branin': -1.6735401153564453, 'currin': -4.550370693206787},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 30: {'params': {'x0': 0.07785524764767986, 'x1': 0.9518020585777327},\n", " 'means': {'branin': -2.6767940521240234, 'currin': -4.113973617553711},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 31: {'params': {'x0': 0.12157501887429062, 'x1': 0.8254903306037356},\n", " 'means': {'branin': -0.4042530059814453, 'currin': -5.611616134643555},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 32: {'params': {'x0': 0.05386019078164375, 'x1': 1.0},\n", " 'means': {'branin': -5.229813098907471, 'currin': -3.240206718444824},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 33: {'params': {'x0': 0.003249984243833066, 'x1': 1.0},\n", " 'means': {'branin': -16.462448120117188, 'currin': -1.313362956047058},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 34: {'params': {'x0': 0.06895655019208942, 'x1': 0.9753464069050974},\n", " 'means': {'branin': -3.5601887702941895, 'currin': -3.784292221069336},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 38: {'params': {'x0': 0.0016182043024408892, 'x1': 1.0},\n", " 'means': {'branin': -16.983062744140625, 'currin': -1.2466212511062622},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 39: {'params': {'x0': 0.031128832173220582, 'x1': 1.0},\n", " 'means': {'branin': -9.042816162109375, 'currin': -2.424952268600464},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 40: {'params': {'x0': 0.03799558206052214, 'x1': 1.0},\n", " 'means': {'branin': -7.668343544006348, 'currin': -2.6826891899108887},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 41: {'params': {'x0': 0.04547388676332354, 'x1': 1.0},\n", " 'means': {'branin': -6.388263702392578, 'currin': -2.952639102935791},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 42: {'params': {'x0': 0.06208990677590783, 'x1': 0.9933672100609731},\n", " 'means': {'branin': -4.3190178871154785, 'currin': -3.5232274532318115},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 43: {'params': {'x0': 0.09313073356253875, 'x1': 0.9076785619927272},\n", " 'means': {'branin': -1.4436731338500977, 'currin': -4.667131423950195},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 44: {'params': {'x0': 0.08668927352903318, 'x1': 0.9265827657816511},\n", " 'means': {'branin': -1.9134502410888672, 'currin': -4.4366374015808105},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 45: {'params': {'x0': 0.009926278687075732, 'x1': 1.0},\n", " 'means': {'branin': -14.428484916687012, 'currin': -1.5856086015701294},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 46: {'params': {'x0': 0.08068734182726725, 'x1': 0.9436020083517326},\n", " 'means': {'branin': -2.416285514831543, 'currin': -4.218944549560547},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 47: {'params': {'x0': 0.0048956387240143215, 'x1': 1.0},\n", " 'means': {'branin': -15.946688652038574, 'currin': -1.3806185722351074},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}},\n", " 48: {'params': {'x0': 0.016839055909188713, 'x1': 1.0},\n", " 'means': {'branin': -12.489206314086914, 'currin': -1.8647232055664062},\n", " 'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},\n", " 'currin': {'branin': 0.0, 'currin': 0.0}}}}" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "trial = scheduler.best_raw_trials()\n", "trial" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Output All Trials" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
trial_indexarm_nametrial_statusgeneration_methodbranincurrinis_feasiblex0x1
000_0COMPLETEDSobol-109.987946-4.971244False0.8566280.764265
111_0COMPLETEDSobol-2.655920-7.005593False0.1576820.671000
222_0COMPLETEDSobol-35.314487-12.795367False0.3578160.092607
333_0COMPLETEDSobol-51.288143-2.498643False0.0169900.670656
444_0COMPLETEDSobol-0.992895-10.797516False0.5628030.163890
555_0COMPLETEDMOO-4.707081-3.395252True0.0586081.000000
666_0COMPLETEDMOO-10.960894-10.179487False1.0000000.000000
777_0COMPLETEDMOO-55.937115-5.405636False0.2434531.000000
888_0COMPLETEDMOO-17.508297-1.180408True0.0000001.000000
999_0COMPLETEDMOO-26.455505-1.280036False0.0000000.898782
101010_0COMPLETEDMOO-2.751491-4.412967True0.0803150.885963
111111_0COMPLETEDMOO-9.756552-2.300354True0.0278861.000000
121212_0COMPLETEDMOO-167.167480-4.468507False0.5586531.000000
131313_0COMPLETEDMOO-2.697469-4.486275True0.0950330.968575
141414_0COMPLETEDMOO-13.439867-1.725264True0.0133741.000000
151515_0COMPLETEDMOO-1.229228-4.788847True0.0976100.903352
161616_0COMPLETEDMOO-308.129059-3.000000False0.0000000.000000
171717_0COMPLETEDMOO-7.011051-2.816756True0.0416681.000000
181818_0COMPLETEDMOO-3.212924-3.917621True0.0716880.958091
191919_0COMPLETEDMOO-0.542315-5.359315True0.1123960.843265
202020_0COMPLETEDMOO-11.557344-2.006944True0.0204041.000000
212121_0COMPLETEDMOO-15.435509-1.448435True0.0065571.000000
222222_0COMPLETEDMOO-8.345803-2.552348True0.0344941.000000
232323_0COMPLETEDMOO-5.791338-3.093718True0.0495271.000000
242424_0COMPLETEDMOO-2.161676-4.326266True0.0836590.935486
252525_0COMPLETEDMOO-145.872208-4.005316False1.0000001.000000
262626_0COMPLETEDMOO-3.936014-3.653069True0.0655250.984877
272727_0COMPLETEDMOO-10.646275-2.152013True0.0240791.000000
282828_0COMPLETEDMOO-0.841373-5.042775True0.1039280.875541
292929_0COMPLETEDMOO-1.673540-4.550371True0.0897980.916979
303030_0COMPLETEDMOO-2.676794-4.113974True0.0778550.951802
313131_0COMPLETEDMOO-0.404253-5.611616True0.1215750.825490
323232_0COMPLETEDMOO-5.229813-3.240207True0.0538601.000000
333333_0COMPLETEDMOO-16.462448-1.313363True0.0032501.000000
343434_0COMPLETEDMOO-3.560189-3.784292True0.0689570.975346
353535_0COMPLETEDMOO-212.371979-4.184972False0.7329851.000000
363636_0COMPLETEDMOO-105.502625-5.411661False0.6723960.722577
373737_0COMPLETEDMOO-65.481857-6.458636False0.6962180.544637
383838_0COMPLETEDMOO-16.983063-1.246621True0.0016181.000000
393939_0COMPLETEDMOO-9.042816-2.424952True0.0311291.000000
404040_0COMPLETEDMOO-7.668344-2.682689True0.0379961.000000
414141_0COMPLETEDMOO-6.388264-2.952639True0.0454741.000000
424242_0COMPLETEDMOO-4.319018-3.523227True0.0620900.993367
434343_0COMPLETEDMOO-1.443673-4.667131True0.0931310.907679
444444_0COMPLETEDMOO-1.913450-4.436637True0.0866890.926583
454545_0COMPLETEDMOO-14.428485-1.585609True0.0099261.000000
464646_0COMPLETEDMOO-2.416286-4.218945True0.0806870.943602
474747_0COMPLETEDMOO-15.946689-1.380619True0.0048961.000000
484848_0COMPLETEDMOO-12.489206-1.864723True0.0168391.000000
494949_0COMPLETEDMOO-52.128422-5.339792False1.0000000.672474
\n", "
" ], "text/plain": [ " trial_index arm_name trial_status generation_method branin \\\n", "0 0 0_0 COMPLETED Sobol -109.987946 \n", "1 1 1_0 COMPLETED Sobol -2.655920 \n", "2 2 2_0 COMPLETED Sobol -35.314487 \n", "3 3 3_0 COMPLETED Sobol -51.288143 \n", "4 4 4_0 COMPLETED Sobol -0.992895 \n", "5 5 5_0 COMPLETED MOO -4.707081 \n", "6 6 6_0 COMPLETED MOO -10.960894 \n", "7 7 7_0 COMPLETED MOO -55.937115 \n", "8 8 8_0 COMPLETED MOO -17.508297 \n", "9 9 9_0 COMPLETED MOO -26.455505 \n", "10 10 10_0 COMPLETED MOO -2.751491 \n", "11 11 11_0 COMPLETED MOO -9.756552 \n", "12 12 12_0 COMPLETED MOO -167.167480 \n", "13 13 13_0 COMPLETED MOO -2.697469 \n", "14 14 14_0 COMPLETED MOO -13.439867 \n", "15 15 15_0 COMPLETED MOO -1.229228 \n", "16 16 16_0 COMPLETED MOO -308.129059 \n", "17 17 17_0 COMPLETED MOO -7.011051 \n", "18 18 18_0 COMPLETED MOO -3.212924 \n", "19 19 19_0 COMPLETED MOO -0.542315 \n", "20 20 20_0 COMPLETED MOO -11.557344 \n", "21 21 21_0 COMPLETED MOO -15.435509 \n", "22 22 22_0 COMPLETED MOO -8.345803 \n", "23 23 23_0 COMPLETED MOO -5.791338 \n", "24 24 24_0 COMPLETED MOO -2.161676 \n", "25 25 25_0 COMPLETED MOO -145.872208 \n", "26 26 26_0 COMPLETED MOO -3.936014 \n", "27 27 27_0 COMPLETED MOO -10.646275 \n", "28 28 28_0 COMPLETED MOO -0.841373 \n", "29 29 29_0 COMPLETED MOO -1.673540 \n", "30 30 30_0 COMPLETED MOO -2.676794 \n", "31 31 31_0 COMPLETED MOO -0.404253 \n", "32 32 32_0 COMPLETED MOO -5.229813 \n", "33 33 33_0 COMPLETED MOO -16.462448 \n", "34 34 34_0 COMPLETED MOO -3.560189 \n", "35 35 35_0 COMPLETED MOO -212.371979 \n", "36 36 36_0 COMPLETED MOO -105.502625 \n", "37 37 37_0 COMPLETED MOO -65.481857 \n", "38 38 38_0 COMPLETED MOO -16.983063 \n", "39 39 39_0 COMPLETED MOO -9.042816 \n", "40 40 40_0 COMPLETED MOO -7.668344 \n", "41 41 41_0 COMPLETED MOO -6.388264 \n", "42 42 42_0 COMPLETED MOO -4.319018 \n", "43 43 43_0 COMPLETED MOO -1.443673 \n", "44 44 44_0 COMPLETED MOO -1.913450 \n", "45 45 45_0 COMPLETED MOO -14.428485 \n", "46 46 46_0 COMPLETED MOO -2.416286 \n", "47 47 47_0 COMPLETED MOO -15.946689 \n", "48 48 48_0 COMPLETED MOO -12.489206 \n", "49 49 49_0 COMPLETED MOO -52.128422 \n", "\n", " currin is_feasible x0 x1 \n", "0 -4.971244 False 0.856628 0.764265 \n", "1 -7.005593 False 0.157682 0.671000 \n", "2 -12.795367 False 0.357816 0.092607 \n", "3 -2.498643 False 0.016990 0.670656 \n", "4 -10.797516 False 0.562803 0.163890 \n", "5 -3.395252 True 0.058608 1.000000 \n", "6 -10.179487 False 1.000000 0.000000 \n", "7 -5.405636 False 0.243453 1.000000 \n", "8 -1.180408 True 0.000000 1.000000 \n", "9 -1.280036 False 0.000000 0.898782 \n", "10 -4.412967 True 0.080315 0.885963 \n", "11 -2.300354 True 0.027886 1.000000 \n", "12 -4.468507 False 0.558653 1.000000 \n", "13 -4.486275 True 0.095033 0.968575 \n", "14 -1.725264 True 0.013374 1.000000 \n", "15 -4.788847 True 0.097610 0.903352 \n", "16 -3.000000 False 0.000000 0.000000 \n", "17 -2.816756 True 0.041668 1.000000 \n", "18 -3.917621 True 0.071688 0.958091 \n", "19 -5.359315 True 0.112396 0.843265 \n", "20 -2.006944 True 0.020404 1.000000 \n", "21 -1.448435 True 0.006557 1.000000 \n", "22 -2.552348 True 0.034494 1.000000 \n", "23 -3.093718 True 0.049527 1.000000 \n", "24 -4.326266 True 0.083659 0.935486 \n", "25 -4.005316 False 1.000000 1.000000 \n", "26 -3.653069 True 0.065525 0.984877 \n", "27 -2.152013 True 0.024079 1.000000 \n", "28 -5.042775 True 0.103928 0.875541 \n", "29 -4.550371 True 0.089798 0.916979 \n", "30 -4.113974 True 0.077855 0.951802 \n", "31 -5.611616 True 0.121575 0.825490 \n", "32 -3.240207 True 0.053860 1.000000 \n", "33 -1.313363 True 0.003250 1.000000 \n", "34 -3.784292 True 0.068957 0.975346 \n", "35 -4.184972 False 0.732985 1.000000 \n", "36 -5.411661 False 0.672396 0.722577 \n", "37 -6.458636 False 0.696218 0.544637 \n", "38 -1.246621 True 0.001618 1.000000 \n", "39 -2.424952 True 0.031129 1.000000 \n", "40 -2.682689 True 0.037996 1.000000 \n", "41 -2.952639 True 0.045474 1.000000 \n", "42 -3.523227 True 0.062090 0.993367 \n", "43 -4.667131 True 0.093131 0.907679 \n", "44 -4.436637 True 0.086689 0.926583 \n", "45 -1.585609 True 0.009926 1.000000 \n", "46 -4.218945 True 0.080687 0.943602 \n", "47 -1.380619 True 0.004896 1.000000 \n", "48 -1.864723 True 0.016839 1.000000 \n", "49 -5.339792 False 1.000000 0.672474 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "boa.scheduler_to_df(scheduler)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Edit Metadata", "kernelspec": { "display_name": "Python [conda env:boa-dev]", "language": "python", "name": "conda-env-boa-dev-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" }, "vscode": { "interpreter": { "hash": "e4753ff389e29e439da2b5f976c0c752a36b29db5d37953ba5fa1bffb26df317" } } }, "nbformat": 4, "nbformat_minor": 4 }