{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Loading BOA from JSON and Plotting Results\n",
"\n",
"This notebook demonstrates how to:\n",
"\n",
"Loading a Scheduler from JSON from a previous run (If you want to see the Experiment that this is from, see [Running BOA Optimization Directly in Python](optimization_run.ipynb). We will look at the output and plot some exploratory data analysis."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"application/javascript": [
"(function(root) {\n",
" function now() {\n",
" return new Date();\n",
" }\n",
"\n",
" var force = true;\n",
"\n",
" if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
" root._bokeh_onload_callbacks = [];\n",
" root._bokeh_is_loading = undefined;\n",
" }\n",
"\n",
" if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\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, callback) {\n",
" if (css_urls == null) css_urls = [];\n",
" if (js_urls == null) js_urls = [];\n",
" if (js_modules == null) js_modules = [];\n",
"\n",
" root._bokeh_onload_callbacks.push(callback);\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) {\n",
" run_callbacks();\n",
" return null;\n",
" }\n",
" console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\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",
"\n",
" function on_error() {\n",
" console.error(\"failed to load \" + url);\n",
" }\n",
"\n",
" for (var i = 0; i < css_urls.length; i++) {\n",
" var url = css_urls[i];\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",
" }\n",
"\n",
" var skip = [];\n",
" if (window.requirejs) {\n",
" window.requirejs.config({'packages': {}, 'paths': {'plotly': 'https://cdn.plot.ly/plotly-2.18.0.min', 'gridstack': 'https://cdn.jsdelivr.net/npm/gridstack@4.2.5/dist/gridstack-h5', 'notyf': 'https://cdn.jsdelivr.net/npm/notyf@3/notyf.min'}, 'shim': {'gridstack': {'exports': 'GridStack'}}});\n",
" require([\"plotly\"], function(Plotly) {\n",
"\twindow.Plotly = Plotly\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 + 3;\n",
" } else {\n",
" root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length;\n",
" } if (((window['Plotly'] !== undefined) && (!(window['Plotly'] instanceof HTMLElement))) || window.requirejs) {\n",
" var urls = ['https://cdn.holoviz.org/panel/0.14.4/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['GridStack'] !== undefined) && (!(window['GridStack'] instanceof HTMLElement))) || window.requirejs) {\n",
" var urls = ['https://cdn.holoviz.org/panel/0.14.4/dist/bundled/gridstack/gridstack@4.2.5/dist/gridstack-h5.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/0.14.4/dist/bundled/notificationarea/notyf@3/notyf.min.js'];\n",
" for (var i = 0; i < urls.length; i++) {\n",
" skip.push(urls[i])\n",
" }\n",
" } for (var i = 0; i < js_urls.length; i++) {\n",
" var url = js_urls[i];\n",
" if (skip.indexOf(url) >= 0) {\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) >= 0) {\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",
" 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/0.14.4/dist/bundled/jquery/jquery.slim.min.js\", \"https://cdn.holoviz.org/panel/0.14.4/dist/bundled/plotlyplot/plotly-2.18.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\", \"https://unpkg.com/@holoviz/panel@0.14.4/dist/panel.min.js\"];\n",
" var js_modules = [];\n",
" var css_urls = [\"https://cdn.holoviz.org/panel/0.14.4/dist/css/debugger.css\", \"https://cdn.holoviz.org/panel/0.14.4/dist/css/alerts.css\", \"https://cdn.holoviz.org/panel/0.14.4/dist/css/card.css\", \"https://cdn.holoviz.org/panel/0.14.4/dist/css/widgets.css\", \"https://cdn.holoviz.org/panel/0.14.4/dist/css/markdown.css\", \"https://cdn.holoviz.org/panel/0.14.4/dist/css/json.css\", \"https://cdn.holoviz.org/panel/0.14.4/dist/css/loading.css\", \"https://cdn.holoviz.org/panel/0.14.4/dist/css/dataframe.css\"];\n",
" var inline_js = [ function(Bokeh) {\n",
" inject_raw_css(\"\\n .bk.pn-loading.arc:before {\\n background-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJtYXJnaW46IGF1dG87IGJhY2tncm91bmQ6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyBzaGFwZS1yZW5kZXJpbmc6IGF1dG87IiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiPiAgPGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYzNjM2MzIiBzdHJva2Utd2lkdGg9IjEwIiByPSIzNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTY0LjkzMzYxNDMxMzQ2NDE1IDU2Ljk3Nzg3MTQzNzgyMTM4Ij4gICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJyb3RhdGUiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjFzIiB2YWx1ZXM9IjAgNTAgNTA7MzYwIDUwIDUwIiBrZXlUaW1lcz0iMDsxIj48L2FuaW1hdGVUcmFuc2Zvcm0+ICA8L2NpcmNsZT48L3N2Zz4=\\\");\\n background-size: auto calc(min(50%, 400px));\\n }\\n \");\n",
" }, 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",
" }} 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",
" }\n",
"\n",
" if (root._bokeh_is_loading === 0) {\n",
" console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
" run_inline_js();\n",
" } else {\n",
" load_libs(css_urls, js_urls, js_modules, function() {\n",
" console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
" run_inline_js();\n",
" });\n",
" }\n",
"}(window));"
],
"application/vnd.holoviews_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\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, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n\n root._bokeh_onload_callbacks.push(callback);\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) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\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\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\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 }\n\n var skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {'plotly': 'https://cdn.plot.ly/plotly-2.18.0.min', 'gridstack': 'https://cdn.jsdelivr.net/npm/gridstack@4.2.5/dist/gridstack-h5', 'notyf': 'https://cdn.jsdelivr.net/npm/notyf@3/notyf.min'}, 'shim': {'gridstack': {'exports': 'GridStack'}}});\n require([\"plotly\"], function(Plotly) {\n\twindow.Plotly = Plotly\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 + 3;\n } else {\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length;\n } if (((window['Plotly'] !== undefined) && (!(window['Plotly'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/0.14.4/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['GridStack'] !== undefined) && (!(window['GridStack'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/0.14.4/dist/bundled/gridstack/gridstack@4.2.5/dist/gridstack-h5.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/0.14.4/dist/bundled/notificationarea/notyf@3/notyf.min.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n if (skip.indexOf(url) >= 0) {\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) >= 0) {\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 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/0.14.4/dist/bundled/jquery/jquery.slim.min.js\", \"https://cdn.holoviz.org/panel/0.14.4/dist/bundled/plotlyplot/plotly-2.18.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\", \"https://unpkg.com/@holoviz/panel@0.14.4/dist/panel.min.js\"];\n var js_modules = [];\n var css_urls = [\"https://cdn.holoviz.org/panel/0.14.4/dist/css/debugger.css\", \"https://cdn.holoviz.org/panel/0.14.4/dist/css/alerts.css\", \"https://cdn.holoviz.org/panel/0.14.4/dist/css/card.css\", \"https://cdn.holoviz.org/panel/0.14.4/dist/css/widgets.css\", \"https://cdn.holoviz.org/panel/0.14.4/dist/css/markdown.css\", \"https://cdn.holoviz.org/panel/0.14.4/dist/css/json.css\", \"https://cdn.holoviz.org/panel/0.14.4/dist/css/loading.css\", \"https://cdn.holoviz.org/panel/0.14.4/dist/css/dataframe.css\"];\n var inline_js = [ function(Bokeh) {\n inject_raw_css(\"\\n .bk.pn-loading.arc:before {\\n background-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJtYXJnaW46IGF1dG87IGJhY2tncm91bmQ6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyBzaGFwZS1yZW5kZXJpbmc6IGF1dG87IiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiPiAgPGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYzNjM2MzIiBzdHJva2Utd2lkdGg9IjEwIiByPSIzNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTY0LjkzMzYxNDMxMzQ2NDE1IDU2Ljk3Nzg3MTQzNzgyMTM4Ij4gICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJyb3RhdGUiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjFzIiB2YWx1ZXM9IjAgNTAgNTA7MzYwIDUwIDUwIiBrZXlUaW1lcz0iMDsxIj48L2FuaW1hdGVUcmFuc2Zvcm0+ICA8L2NpcmNsZT48L3N2Zz4=\\\");\\n background-size: auto calc(min(50%, 400px));\\n }\\n \");\n }, 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 }} 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 }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, js_modules, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\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": {
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"[INFO 07-10 11:42:13] ax.utils.notebook.plotting: Injecting Plotly library into cell. Do not overwrite or delete cell.\n"
]
},
{
"data": {
"text/html": [
" \n",
" "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import pathlib\n",
"import os\n",
"\n",
"import numpy as np\n",
"from ax.utils.notebook.plotting import init_notebook_plotting\n",
"from ax.plot.trace import optimization_trace_single_method_plotly\n",
"from ax.service.utils.report_utils import get_standard_plots, exp_to_df\n",
"import boa\n",
"from botorch.test_functions.synthetic import Cosine8\n",
"\n",
"init_notebook_plotting()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Loading the Scheduler"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# setup stuff just because this gets reused from the latest run for the case of the docs\n",
"try:\n",
" run = list(pathlib.Path().resolve().glob(\"boa_runs*\"))[-1]\n",
"except IndexError:\n",
" print(\"No run to load. Make sure you run optimization_run.ipynb first\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"# Filepath to the scheduler.json\n",
"\n",
"scheduler_fp = run / \"scheduler.json\""
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"scheduler = boa.scheduler_from_json_file(scheduler_fp)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Scheduler(experiment=Experiment(boa_runs), generation_strategy=GenerationStrategy(name='Sobol+GPEI', steps=[Sobol for 16 trials, GPEI 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))"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"scheduler"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Show the Best Fitted Trial and Raw Trial"
]
},
{
"cell_type": "markdown",
"metadata": {},
"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": 6,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/madelinescyphers/miniconda3/envs/boa-dev/lib/python3.10/site-packages/botorch/models/utils/assorted.py:201: InputDataWarning:\n",
"\n",
"Input data is not standardized. Please consider scaling the input to zero mean and unit variance.\n",
"\n",
"/Users/madelinescyphers/miniconda3/envs/boa-dev/lib/python3.10/site-packages/botorch/models/utils/assorted.py:201: InputDataWarning:\n",
"\n",
"Input data is not standardized. Please consider scaling the input to zero mean and unit variance.\n",
"\n"
]
},
{
"data": {
"text/plain": [
"{49: {'params': {'x0': 0.35172402518319096,\n",
" 'x1': 0.3698520404111157,\n",
" 'x2': 0.3666874377748964,\n",
" 'x3': 0.3891053518012792,\n",
" 'x4': 0.3734271631500215,\n",
" 'x5': 0.0,\n",
" 'x6': 0.36002879332283894,\n",
" 'x7': 0.35626455543974167},\n",
" 'means': {'Cosine8': 0.24623248264577358},\n",
" 'cov_matrix': {'Cosine8': {'Cosine8': 1.389173793847577e-06}}}}"
]
},
"execution_count": 6,
"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": 7,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"{46: {'params': {'x0': 0.35172402518319096,\n",
" 'x1': 0.3698520404111157,\n",
" 'x2': 0.3666874377748964,\n",
" 'x3': 0.3891053518012792,\n",
" 'x4': 0.3734271631500215,\n",
" 'x5': 0.0,\n",
" 'x6': 0.36002879332283894,\n",
" 'x7': 0.35626455543974167},\n",
" 'means': {'Cosine8': 0.24594534280000002},\n",
" 'cov_matrix': {'Cosine8': {'Cosine8': 0.0}}}}"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"trial = scheduler.best_raw_trials()\n",
"trial"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" trial_index | \n",
" arm_name | \n",
" trial_status | \n",
" generation_method | \n",
" Cosine8 | \n",
" x0 | \n",
" x1 | \n",
" x2 | \n",
" x3 | \n",
" x4 | \n",
" x5 | \n",
" x6 | \n",
" x7 | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0 | \n",
" 0_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 2.029324 | \n",
" 0.990547 | \n",
" 0.288610 | \n",
" 0.346135 | \n",
" 0.301916 | \n",
" 0.392528 | \n",
" 0.110616 | \n",
" 0.251962 | \n",
" 0.694829 | \n",
"
\n",
" \n",
" | 1 | \n",
" 1 | \n",
" 1_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 1.646673 | \n",
" 0.262968 | \n",
" 0.633469 | \n",
" 0.616036 | \n",
" 0.388401 | \n",
" 0.427373 | \n",
" 0.075654 | \n",
" 0.736025 | \n",
" 0.068805 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2 | \n",
" 2_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 2.144039 | \n",
" 0.449725 | \n",
" 0.480685 | \n",
" 0.448159 | \n",
" 0.548387 | \n",
" 0.476969 | \n",
" 0.054146 | \n",
" 0.188638 | \n",
" 0.978092 | \n",
"
\n",
" \n",
" | 3 | \n",
" 3 | \n",
" 3_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 2.753313 | \n",
" 0.431875 | \n",
" 0.352470 | \n",
" 0.052401 | \n",
" 0.387660 | \n",
" 0.960082 | \n",
" 0.576974 | \n",
" 0.864202 | \n",
" 0.656100 | \n",
"
\n",
" \n",
" | 4 | \n",
" 4 | \n",
" 4_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 3.049808 | \n",
" 0.417872 | \n",
" 0.647828 | \n",
" 0.534399 | \n",
" 0.174281 | \n",
" 0.122930 | \n",
" 0.771529 | \n",
" 0.943236 | \n",
" 0.778014 | \n",
"
\n",
" \n",
" | 5 | \n",
" 5 | \n",
" 5_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 3.438582 | \n",
" 0.895702 | \n",
" 0.123685 | \n",
" 0.017906 | \n",
" 0.944492 | \n",
" 0.357977 | \n",
" 0.397257 | \n",
" 0.967300 | \n",
" 0.830473 | \n",
"
\n",
" \n",
" | 6 | \n",
" 6 | \n",
" 6_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 2.069711 | \n",
" 0.730564 | \n",
" 0.433245 | \n",
" 0.129033 | \n",
" 0.007862 | \n",
" 0.276506 | \n",
" 0.861777 | \n",
" 0.722698 | \n",
" 0.493578 | \n",
"
\n",
" \n",
" | 7 | \n",
" 7 | \n",
" 7_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 3.978929 | \n",
" 0.119162 | \n",
" 0.841748 | \n",
" 0.990021 | \n",
" 0.173180 | \n",
" 0.671806 | \n",
" 0.980801 | \n",
" 0.351636 | \n",
" 0.768843 | \n",
"
\n",
" \n",
" | 8 | \n",
" 8 | \n",
" 8_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 2.448196 | \n",
" 0.872235 | \n",
" 0.815817 | \n",
" 0.038919 | \n",
" 0.380534 | \n",
" 0.389911 | \n",
" 0.711213 | \n",
" 0.233549 | \n",
" 0.776188 | \n",
"
\n",
" \n",
" | 9 | \n",
" 9 | \n",
" 9_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 2.355544 | \n",
" 0.286572 | \n",
" 0.689979 | \n",
" 0.266366 | \n",
" 0.717407 | \n",
" 0.132874 | \n",
" 0.584265 | \n",
" 0.825217 | \n",
" 0.396867 | \n",
"
\n",
" \n",
" | 10 | \n",
" 10 | \n",
" 10_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 3.009791 | \n",
" 0.878739 | \n",
" 0.405202 | \n",
" 0.912348 | \n",
" 0.580230 | \n",
" 0.005852 | \n",
" 0.909818 | \n",
" 0.364704 | \n",
" 0.253842 | \n",
"
\n",
" \n",
" | 11 | \n",
" 11 | \n",
" 11_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 4.328626 | \n",
" 0.923367 | \n",
" 0.330759 | \n",
" 0.834218 | \n",
" 0.927327 | \n",
" 0.997183 | \n",
" 0.092835 | \n",
" 0.869460 | \n",
" 0.131116 | \n",
"
\n",
" \n",
" | 12 | \n",
" 12 | \n",
" 12_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 1.768276 | \n",
" 0.243641 | \n",
" 0.347330 | \n",
" 0.265216 | \n",
" 0.186192 | \n",
" 0.356840 | \n",
" 0.319708 | \n",
" 0.540039 | \n",
" 0.912528 | \n",
"
\n",
" \n",
" | 13 | \n",
" 13 | \n",
" 13_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 3.453395 | \n",
" 0.687077 | \n",
" 0.397473 | \n",
" 0.776234 | \n",
" 0.949205 | \n",
" 0.041172 | \n",
" 0.667479 | \n",
" 0.779359 | \n",
" 0.674563 | \n",
"
\n",
" \n",
" | 14 | \n",
" 14 | \n",
" 14_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 3.690702 | \n",
" 0.975360 | \n",
" 0.064095 | \n",
" 0.197106 | \n",
" 0.757204 | \n",
" 0.497103 | \n",
" 0.936394 | \n",
" 0.569573 | \n",
" 0.615107 | \n",
"
\n",
" \n",
" | 15 | \n",
" 15 | \n",
" 15_0 | \n",
" COMPLETED | \n",
" Sobol | \n",
" 3.142783 | \n",
" 0.429568 | \n",
" 0.688117 | \n",
" 0.034250 | \n",
" 0.896887 | \n",
" 0.059263 | \n",
" 0.958642 | \n",
" 0.881870 | \n",
" 0.458131 | \n",
"
\n",
" \n",
" | 16 | \n",
" 16 | \n",
" 16_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 1.479021 | \n",
" 0.372412 | \n",
" 0.593584 | \n",
" 0.499630 | \n",
" 0.420313 | \n",
" 0.380171 | \n",
" 0.086078 | \n",
" 0.618598 | \n",
" 0.190225 | \n",
"
\n",
" \n",
" | 17 | \n",
" 17 | \n",
" 17_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 1.848654 | \n",
" 0.133412 | \n",
" 0.684324 | \n",
" 0.681570 | \n",
" 0.411335 | \n",
" 0.436329 | \n",
" 0.068753 | \n",
" 0.885155 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" | 18 | \n",
" 18 | \n",
" 18_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 1.719800 | \n",
" 0.325406 | \n",
" 0.594220 | \n",
" 0.725250 | \n",
" 0.252905 | \n",
" 0.509522 | \n",
" 0.030746 | \n",
" 0.666139 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" | 19 | \n",
" 19 | \n",
" 19_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 1.046564 | \n",
" 0.402912 | \n",
" 0.494737 | \n",
" 0.378010 | \n",
" 0.276616 | \n",
" 0.380545 | \n",
" 0.153921 | \n",
" 0.527507 | \n",
" 0.442987 | \n",
"
\n",
" \n",
" | 20 | \n",
" 20 | \n",
" 20_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 1.218009 | \n",
" 0.258951 | \n",
" 0.508938 | \n",
" 0.575936 | \n",
" 0.340772 | \n",
" 0.332884 | \n",
" 0.000000 | \n",
" 0.529066 | \n",
" 0.350962 | \n",
"
\n",
" \n",
" | 21 | \n",
" 21 | \n",
" 21_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 1.568101 | \n",
" 0.481007 | \n",
" 0.621265 | \n",
" 0.352696 | \n",
" 0.290243 | \n",
" 0.383432 | \n",
" 0.214157 | \n",
" 0.624025 | \n",
" 0.128180 | \n",
"
\n",
" \n",
" | 22 | \n",
" 22 | \n",
" 22_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.694584 | \n",
" 0.336467 | \n",
" 0.445526 | \n",
" 0.348530 | \n",
" 0.228832 | \n",
" 0.347404 | \n",
" 0.025912 | \n",
" 0.501000 | \n",
" 0.434758 | \n",
"
\n",
" \n",
" | 23 | \n",
" 23 | \n",
" 23_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.825017 | \n",
" 0.352038 | \n",
" 0.451447 | \n",
" 0.468967 | \n",
" 0.271408 | \n",
" 0.324219 | \n",
" 0.205404 | \n",
" 0.402803 | \n",
" 0.416627 | \n",
"
\n",
" \n",
" | 24 | \n",
" 24 | \n",
" 24_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 1.557443 | \n",
" 0.395534 | \n",
" 0.549492 | \n",
" 0.458918 | \n",
" 0.248066 | \n",
" 0.392106 | \n",
" 0.047248 | \n",
" 0.617300 | \n",
" 0.554689 | \n",
"
\n",
" \n",
" | 25 | \n",
" 25 | \n",
" 25_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.480696 | \n",
" 0.315712 | \n",
" 0.389980 | \n",
" 0.319921 | \n",
" 0.210277 | \n",
" 0.304849 | \n",
" 0.065001 | \n",
" 0.386094 | \n",
" 0.359033 | \n",
"
\n",
" \n",
" | 26 | \n",
" 26 | \n",
" 26_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.666511 | \n",
" 0.339306 | \n",
" 0.340017 | \n",
" 0.384153 | \n",
" 0.180095 | \n",
" 0.305986 | \n",
" 0.086064 | \n",
" 0.496477 | \n",
" 0.330224 | \n",
"
\n",
" \n",
" | 27 | \n",
" 27 | \n",
" 27_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.706937 | \n",
" 0.291560 | \n",
" 0.464385 | \n",
" 0.268035 | \n",
" 0.237875 | \n",
" 0.283826 | \n",
" 0.036284 | \n",
" 0.310615 | \n",
" 0.422044 | \n",
"
\n",
" \n",
" | 28 | \n",
" 28 | \n",
" 28_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.462260 | \n",
" 0.294458 | \n",
" 0.372932 | \n",
" 0.331051 | \n",
" 0.213052 | \n",
" 0.406540 | \n",
" 0.045543 | \n",
" 0.338189 | \n",
" 0.331316 | \n",
"
\n",
" \n",
" | 29 | \n",
" 29 | \n",
" 29_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.412818 | \n",
" 0.381948 | \n",
" 0.360701 | \n",
" 0.308135 | \n",
" 0.281827 | \n",
" 0.271955 | \n",
" 0.029180 | \n",
" 0.377959 | \n",
" 0.373382 | \n",
"
\n",
" \n",
" | 30 | \n",
" 30 | \n",
" 30_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.779420 | \n",
" 0.201541 | \n",
" 0.402730 | \n",
" 0.284366 | \n",
" 0.215171 | \n",
" 0.325871 | \n",
" 0.130716 | \n",
" 0.428317 | \n",
" 0.285005 | \n",
"
\n",
" \n",
" | 31 | \n",
" 31 | \n",
" 31_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.360526 | \n",
" 0.384370 | \n",
" 0.348921 | \n",
" 0.333884 | \n",
" 0.256066 | \n",
" 0.351508 | \n",
" 0.000000 | \n",
" 0.323477 | \n",
" 0.369886 | \n",
"
\n",
" \n",
" | 32 | \n",
" 32 | \n",
" 32_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.496104 | \n",
" 0.423386 | \n",
" 0.378361 | \n",
" 0.328701 | \n",
" 0.251978 | \n",
" 0.341967 | \n",
" 0.000000 | \n",
" 0.314916 | \n",
" 0.250011 | \n",
"
\n",
" \n",
" | 33 | \n",
" 33 | \n",
" 33_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.484507 | \n",
" 0.316908 | \n",
" 0.313341 | \n",
" 0.327963 | \n",
" 0.270480 | \n",
" 0.343131 | \n",
" 0.000000 | \n",
" 0.330986 | \n",
" 0.450200 | \n",
"
\n",
" \n",
" | 34 | \n",
" 34 | \n",
" 34_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.511228 | \n",
" 0.422185 | \n",
" 0.353153 | \n",
" 0.259158 | \n",
" 0.230322 | \n",
" 0.373841 | \n",
" 0.044939 | \n",
" 0.324527 | \n",
" 0.406461 | \n",
"
\n",
" \n",
" | 35 | \n",
" 35 | \n",
" 35_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.412813 | \n",
" 0.391179 | \n",
" 0.366165 | \n",
" 0.387284 | \n",
" 0.245393 | \n",
" 0.318190 | \n",
" 0.000000 | \n",
" 0.297713 | \n",
" 0.397175 | \n",
"
\n",
" \n",
" | 36 | \n",
" 36 | \n",
" 36_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.306940 | \n",
" 0.363556 | \n",
" 0.368205 | \n",
" 0.333058 | \n",
" 0.286906 | \n",
" 0.374388 | \n",
" 0.000000 | \n",
" 0.351965 | \n",
" 0.367086 | \n",
"
\n",
" \n",
" | 37 | \n",
" 37 | \n",
" 37_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.277358 | \n",
" 0.347890 | \n",
" 0.362567 | \n",
" 0.370842 | \n",
" 0.317156 | \n",
" 0.376454 | \n",
" 0.000000 | \n",
" 0.351853 | \n",
" 0.343095 | \n",
"
\n",
" \n",
" | 38 | \n",
" 38 | \n",
" 38_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 1.136160 | \n",
" 0.112641 | \n",
" 0.189161 | \n",
" 0.303689 | \n",
" 0.489141 | \n",
" 0.372734 | \n",
" 0.511617 | \n",
" 0.477609 | \n",
" 0.238445 | \n",
"
\n",
" \n",
" | 39 | \n",
" 39 | \n",
" 39_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.308610 | \n",
" 0.341814 | \n",
" 0.374499 | \n",
" 0.338032 | \n",
" 0.340505 | \n",
" 0.376037 | \n",
" 0.000000 | \n",
" 0.299552 | \n",
" 0.351262 | \n",
"
\n",
" \n",
" | 40 | \n",
" 40 | \n",
" 40_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.301817 | \n",
" 0.334515 | \n",
" 0.340547 | \n",
" 0.343663 | \n",
" 0.377408 | \n",
" 0.394207 | \n",
" 0.000000 | \n",
" 0.370891 | \n",
" 0.312737 | \n",
"
\n",
" \n",
" | 41 | \n",
" 41 | \n",
" 41_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.516885 | \n",
" 0.264182 | \n",
" 0.317618 | \n",
" 0.370233 | \n",
" 0.449533 | \n",
" 0.350750 | \n",
" 0.000000 | \n",
" 0.364791 | \n",
" 0.229735 | \n",
"
\n",
" \n",
" | 42 | \n",
" 42 | \n",
" 42_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.343410 | \n",
" 0.354746 | \n",
" 0.345775 | \n",
" 0.366915 | \n",
" 0.346625 | \n",
" 0.380737 | \n",
" 0.078507 | \n",
" 0.338985 | \n",
" 0.337162 | \n",
"
\n",
" \n",
" | 43 | \n",
" 43 | \n",
" 43_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.290229 | \n",
" 0.348906 | \n",
" 0.361392 | \n",
" 0.379225 | \n",
" 0.351250 | \n",
" 0.419578 | \n",
" 0.000000 | \n",
" 0.344883 | \n",
" 0.344597 | \n",
"
\n",
" \n",
" | 44 | \n",
" 44 | \n",
" 44_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.526956 | \n",
" 0.342680 | \n",
" 0.344620 | \n",
" 0.411267 | \n",
" 0.366610 | \n",
" 0.502446 | \n",
" 0.000000 | \n",
" 0.311529 | \n",
" 0.329995 | \n",
"
\n",
" \n",
" | 45 | \n",
" 45 | \n",
" 45_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 1.662781 | \n",
" 0.399885 | \n",
" 0.441332 | \n",
" 0.581806 | \n",
" 0.777294 | \n",
" 0.626267 | \n",
" 0.051651 | \n",
" 0.416699 | \n",
" 0.374300 | \n",
"
\n",
" \n",
" | 46 | \n",
" 46 | \n",
" 46_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.245945 | \n",
" 0.351724 | \n",
" 0.369852 | \n",
" 0.366687 | \n",
" 0.389105 | \n",
" 0.373427 | \n",
" 0.000000 | \n",
" 0.360029 | \n",
" 0.356265 | \n",
"
\n",
" \n",
" | 47 | \n",
" 47 | \n",
" 47_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.307105 | \n",
" 0.380847 | \n",
" 0.364766 | \n",
" 0.371232 | \n",
" 0.441443 | \n",
" 0.358401 | \n",
" 0.000000 | \n",
" 0.356899 | \n",
" 0.365381 | \n",
"
\n",
" \n",
" | 48 | \n",
" 48 | \n",
" 48_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 0.484492 | \n",
" 0.357150 | \n",
" 0.284339 | \n",
" 0.304645 | \n",
" 0.428924 | \n",
" 0.365574 | \n",
" 0.001600 | \n",
" 0.306166 | \n",
" 0.270031 | \n",
"
\n",
" \n",
" | 49 | \n",
" 49 | \n",
" 49_0 | \n",
" COMPLETED | \n",
" GPEI | \n",
" 3.524827 | \n",
" 0.675317 | \n",
" 0.286011 | \n",
" 0.860863 | \n",
" 0.223397 | \n",
" 0.281086 | \n",
" 0.897188 | \n",
" 0.753581 | \n",
" 0.865855 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" trial_index arm_name trial_status generation_method Cosine8 x0 \\\n",
"0 0 0_0 COMPLETED Sobol 2.029324 0.990547 \n",
"1 1 1_0 COMPLETED Sobol 1.646673 0.262968 \n",
"2 2 2_0 COMPLETED Sobol 2.144039 0.449725 \n",
"3 3 3_0 COMPLETED Sobol 2.753313 0.431875 \n",
"4 4 4_0 COMPLETED Sobol 3.049808 0.417872 \n",
"5 5 5_0 COMPLETED Sobol 3.438582 0.895702 \n",
"6 6 6_0 COMPLETED Sobol 2.069711 0.730564 \n",
"7 7 7_0 COMPLETED Sobol 3.978929 0.119162 \n",
"8 8 8_0 COMPLETED Sobol 2.448196 0.872235 \n",
"9 9 9_0 COMPLETED Sobol 2.355544 0.286572 \n",
"10 10 10_0 COMPLETED Sobol 3.009791 0.878739 \n",
"11 11 11_0 COMPLETED Sobol 4.328626 0.923367 \n",
"12 12 12_0 COMPLETED Sobol 1.768276 0.243641 \n",
"13 13 13_0 COMPLETED Sobol 3.453395 0.687077 \n",
"14 14 14_0 COMPLETED Sobol 3.690702 0.975360 \n",
"15 15 15_0 COMPLETED Sobol 3.142783 0.429568 \n",
"16 16 16_0 COMPLETED GPEI 1.479021 0.372412 \n",
"17 17 17_0 COMPLETED GPEI 1.848654 0.133412 \n",
"18 18 18_0 COMPLETED GPEI 1.719800 0.325406 \n",
"19 19 19_0 COMPLETED GPEI 1.046564 0.402912 \n",
"20 20 20_0 COMPLETED GPEI 1.218009 0.258951 \n",
"21 21 21_0 COMPLETED GPEI 1.568101 0.481007 \n",
"22 22 22_0 COMPLETED GPEI 0.694584 0.336467 \n",
"23 23 23_0 COMPLETED GPEI 0.825017 0.352038 \n",
"24 24 24_0 COMPLETED GPEI 1.557443 0.395534 \n",
"25 25 25_0 COMPLETED GPEI 0.480696 0.315712 \n",
"26 26 26_0 COMPLETED GPEI 0.666511 0.339306 \n",
"27 27 27_0 COMPLETED GPEI 0.706937 0.291560 \n",
"28 28 28_0 COMPLETED GPEI 0.462260 0.294458 \n",
"29 29 29_0 COMPLETED GPEI 0.412818 0.381948 \n",
"30 30 30_0 COMPLETED GPEI 0.779420 0.201541 \n",
"31 31 31_0 COMPLETED GPEI 0.360526 0.384370 \n",
"32 32 32_0 COMPLETED GPEI 0.496104 0.423386 \n",
"33 33 33_0 COMPLETED GPEI 0.484507 0.316908 \n",
"34 34 34_0 COMPLETED GPEI 0.511228 0.422185 \n",
"35 35 35_0 COMPLETED GPEI 0.412813 0.391179 \n",
"36 36 36_0 COMPLETED GPEI 0.306940 0.363556 \n",
"37 37 37_0 COMPLETED GPEI 0.277358 0.347890 \n",
"38 38 38_0 COMPLETED GPEI 1.136160 0.112641 \n",
"39 39 39_0 COMPLETED GPEI 0.308610 0.341814 \n",
"40 40 40_0 COMPLETED GPEI 0.301817 0.334515 \n",
"41 41 41_0 COMPLETED GPEI 0.516885 0.264182 \n",
"42 42 42_0 COMPLETED GPEI 0.343410 0.354746 \n",
"43 43 43_0 COMPLETED GPEI 0.290229 0.348906 \n",
"44 44 44_0 COMPLETED GPEI 0.526956 0.342680 \n",
"45 45 45_0 COMPLETED GPEI 1.662781 0.399885 \n",
"46 46 46_0 COMPLETED GPEI 0.245945 0.351724 \n",
"47 47 47_0 COMPLETED GPEI 0.307105 0.380847 \n",
"48 48 48_0 COMPLETED GPEI 0.484492 0.357150 \n",
"49 49 49_0 COMPLETED GPEI 3.524827 0.675317 \n",
"\n",
" x1 x2 x3 x4 x5 x6 x7 \n",
"0 0.288610 0.346135 0.301916 0.392528 0.110616 0.251962 0.694829 \n",
"1 0.633469 0.616036 0.388401 0.427373 0.075654 0.736025 0.068805 \n",
"2 0.480685 0.448159 0.548387 0.476969 0.054146 0.188638 0.978092 \n",
"3 0.352470 0.052401 0.387660 0.960082 0.576974 0.864202 0.656100 \n",
"4 0.647828 0.534399 0.174281 0.122930 0.771529 0.943236 0.778014 \n",
"5 0.123685 0.017906 0.944492 0.357977 0.397257 0.967300 0.830473 \n",
"6 0.433245 0.129033 0.007862 0.276506 0.861777 0.722698 0.493578 \n",
"7 0.841748 0.990021 0.173180 0.671806 0.980801 0.351636 0.768843 \n",
"8 0.815817 0.038919 0.380534 0.389911 0.711213 0.233549 0.776188 \n",
"9 0.689979 0.266366 0.717407 0.132874 0.584265 0.825217 0.396867 \n",
"10 0.405202 0.912348 0.580230 0.005852 0.909818 0.364704 0.253842 \n",
"11 0.330759 0.834218 0.927327 0.997183 0.092835 0.869460 0.131116 \n",
"12 0.347330 0.265216 0.186192 0.356840 0.319708 0.540039 0.912528 \n",
"13 0.397473 0.776234 0.949205 0.041172 0.667479 0.779359 0.674563 \n",
"14 0.064095 0.197106 0.757204 0.497103 0.936394 0.569573 0.615107 \n",
"15 0.688117 0.034250 0.896887 0.059263 0.958642 0.881870 0.458131 \n",
"16 0.593584 0.499630 0.420313 0.380171 0.086078 0.618598 0.190225 \n",
"17 0.684324 0.681570 0.411335 0.436329 0.068753 0.885155 0.000000 \n",
"18 0.594220 0.725250 0.252905 0.509522 0.030746 0.666139 0.000000 \n",
"19 0.494737 0.378010 0.276616 0.380545 0.153921 0.527507 0.442987 \n",
"20 0.508938 0.575936 0.340772 0.332884 0.000000 0.529066 0.350962 \n",
"21 0.621265 0.352696 0.290243 0.383432 0.214157 0.624025 0.128180 \n",
"22 0.445526 0.348530 0.228832 0.347404 0.025912 0.501000 0.434758 \n",
"23 0.451447 0.468967 0.271408 0.324219 0.205404 0.402803 0.416627 \n",
"24 0.549492 0.458918 0.248066 0.392106 0.047248 0.617300 0.554689 \n",
"25 0.389980 0.319921 0.210277 0.304849 0.065001 0.386094 0.359033 \n",
"26 0.340017 0.384153 0.180095 0.305986 0.086064 0.496477 0.330224 \n",
"27 0.464385 0.268035 0.237875 0.283826 0.036284 0.310615 0.422044 \n",
"28 0.372932 0.331051 0.213052 0.406540 0.045543 0.338189 0.331316 \n",
"29 0.360701 0.308135 0.281827 0.271955 0.029180 0.377959 0.373382 \n",
"30 0.402730 0.284366 0.215171 0.325871 0.130716 0.428317 0.285005 \n",
"31 0.348921 0.333884 0.256066 0.351508 0.000000 0.323477 0.369886 \n",
"32 0.378361 0.328701 0.251978 0.341967 0.000000 0.314916 0.250011 \n",
"33 0.313341 0.327963 0.270480 0.343131 0.000000 0.330986 0.450200 \n",
"34 0.353153 0.259158 0.230322 0.373841 0.044939 0.324527 0.406461 \n",
"35 0.366165 0.387284 0.245393 0.318190 0.000000 0.297713 0.397175 \n",
"36 0.368205 0.333058 0.286906 0.374388 0.000000 0.351965 0.367086 \n",
"37 0.362567 0.370842 0.317156 0.376454 0.000000 0.351853 0.343095 \n",
"38 0.189161 0.303689 0.489141 0.372734 0.511617 0.477609 0.238445 \n",
"39 0.374499 0.338032 0.340505 0.376037 0.000000 0.299552 0.351262 \n",
"40 0.340547 0.343663 0.377408 0.394207 0.000000 0.370891 0.312737 \n",
"41 0.317618 0.370233 0.449533 0.350750 0.000000 0.364791 0.229735 \n",
"42 0.345775 0.366915 0.346625 0.380737 0.078507 0.338985 0.337162 \n",
"43 0.361392 0.379225 0.351250 0.419578 0.000000 0.344883 0.344597 \n",
"44 0.344620 0.411267 0.366610 0.502446 0.000000 0.311529 0.329995 \n",
"45 0.441332 0.581806 0.777294 0.626267 0.051651 0.416699 0.374300 \n",
"46 0.369852 0.366687 0.389105 0.373427 0.000000 0.360029 0.356265 \n",
"47 0.364766 0.371232 0.441443 0.358401 0.000000 0.356899 0.365381 \n",
"48 0.284339 0.304645 0.428924 0.365574 0.001600 0.306166 0.270031 \n",
"49 0.286011 0.860863 0.223397 0.281086 0.897188 0.753581 0.865855 "
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"boa.scheduler_to_df(scheduler)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## EDA Plots"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.holoviews_exec.v0+json": "",
"text/html": [
"\n",
""
],
"text/plain": [
"Column(sizing_mode='stretch_width')\n",
" [0] Markdown(str)\n",
" [1] Row\n",
" [0] Select(name='Metric Name', options=['Cosine8'], value='Cosine8')\n",
" [2] ParamFunction(function, _pane=Plotly)"
]
},
"execution_count": 9,
"metadata": {
"application/vnd.holoviews_exec.v0+json": {
"id": "1002"
}
},
"output_type": "execute_result"
}
],
"source": [
"boa.plot_metrics_trace(scheduler)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.holoviews_exec.v0+json": "",
"text/html": [
"\n",
""
],
"text/plain": [
"Column\n",
" [0] Markdown(str)\n",
" [1] Row\n",
" [0] Select(name='Metric Name', options=['Cosine8'], value='Cosine8')\n",
" [1] Select(name='Param X', options=['x0', 'x2', 'x3', ...], value='x0')\n",
" [2] Select(name='Param Y', options=['x1', 'x2', 'x3', ...], value='x1')\n",
" [2] Plotly(Figure)"
]
},
"execution_count": 10,
"metadata": {
"application/vnd.holoviews_exec.v0+json": {
"id": "1105"
}
},
"output_type": "execute_result"
}
],
"source": [
"boa.plot_contours(scheduler)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.holoviews_exec.v0+json": "",
"text/html": [
"\n",
""
],
"text/plain": [
"Plotly(Figure)"
]
},
"execution_count": 11,
"metadata": {
"application/vnd.holoviews_exec.v0+json": {
"id": "1184"
}
},
"output_type": "execute_result"
}
],
"source": [
"boa.plot_slice(scheduler)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can also directly pass in our scheduler file path instead of having to reload it ourselves"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.holoviews_exec.v0+json": "",
"text/html": [
"\n",
""
],
"text/plain": [
"Column(sizing_mode='stretch_width')\n",
" [0] Markdown(str)\n",
" [1] Row\n",
" [0] Select(name='Metric Name', options=['Cosine8'], value='Cosine8')\n",
" [2] ParamFunction(function, _pane=Plotly)"
]
},
"execution_count": 12,
"metadata": {
"application/vnd.holoviews_exec.v0+json": {
"id": "1236"
}
},
"output_type": "execute_result"
}
],
"source": [
"boa.plot_metrics_trace(scheduler_fp)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"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.9"
},
"vscode": {
"interpreter": {
"hash": "e4753ff389e29e439da2b5f976c0c752a36b29db5d37953ba5fa1bffb26df317"
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}