{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": { "collapsed": true, "customInput": null, "originalKey": "ac61b043-8ebf-43b9-9fa5-ed9a42a184ce", "showInput": false }, "source": [ "# Tune a CNN on MNIST\n", "\n", "This tutorial walks through using Ax to tune two hyperparameters (learning rate and momentum) for a PyTorch CNN on the MNIST dataset trained using SGD with momentum." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:53:19.686280Z", "iopub.status.busy": "2023-08-11T15:53:19.685935Z", "iopub.status.idle": "2023-08-11T15:53:27.131552Z", "shell.execute_reply": "2023-08-11T15:53:27.130183Z" }, "executionStartTime": 1690415246079, "executionStopTime": 1690415266324, "originalKey": "c2b37f0f-3644-4367-912f-f775082f6676", "requestMsgId": "0b481630-f0f4-436a-a205-a25aa163a364", "showInput": true }, "outputs": [ { "data": { "text/html": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:53:26] 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 torch\n", "\n", "from ax.service.ax_client import AxClient, ObjectiveProperties\n", "from ax.service.utils.report_utils import exp_to_df\n", "from ax.utils.notebook.plotting import init_notebook_plotting, render\n", "from ax.utils.tutorials.cnn_utils import evaluate, load_mnist, train\n", "\n", "import torch.nn as nn\n", "import torch.nn.functional as F\n", "from torch._tensor import Tensor\n", "from torch.utils.data import DataLoader\n", "\n", "init_notebook_plotting()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:53:27.166432Z", "iopub.status.busy": "2023-08-11T15:53:27.166071Z", "iopub.status.idle": "2023-08-11T15:53:27.209937Z", "shell.execute_reply": "2023-08-11T15:53:27.208929Z" }, "executionStartTime": 1690415266521, "executionStopTime": 1690415266529, "originalKey": "4d0a27c4-a6ce-4b7d-97eb-1c229aabb375", "requestMsgId": "fd975d25-a185-4b09-a50f-7b2bcd89f93f", "showInput": true }, "outputs": [], "source": [ "torch.manual_seed(42)\n", "dtype = torch.float\n", "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "10384e51-444c-4265-b56d-ad078d05d2a1", "showInput": false }, "source": [ "## 1. Load MNIST data\n", "First, we need to load the MNIST data and partition it into training, validation, and test sets.\n", "\n", "Note: this will download the dataset if necessary." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:53:27.213698Z", "iopub.status.busy": "2023-08-11T15:53:27.213414Z", "iopub.status.idle": "2023-08-11T15:53:29.135349Z", "shell.execute_reply": "2023-08-11T15:53:29.134420Z" }, "executionStartTime": 1690415266733, "executionStopTime": 1690415266902, "originalKey": "6f0949e2-1064-44b8-99c0-f6ce23df7c63", "requestMsgId": "8ce7dd21-9afb-4379-ad11-4112b4d27f8a", "showInput": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz\n", "Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz to ./data/MNIST/raw/train-images-idx3-ubyte.gz\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\r", " 0%| | 0/9912422 [00:00= p2\" or \"p1 + p2 <= some_bound\".\n", " # outcome_constraints: Optional, a list of strings of form \"constrained_metric <= some_bound\".\n", ")" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "af441a83-50fd-4385-a380-d8ebc570c0e5", "showInput": false }, "source": [ "## 4. Define how to evaluate trials\n" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "c7630dfd-548b-408a-badf-b6abf79275e2", "showInput": false }, "source": [ "First we define a simple CNN class to classify the MNIST images" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:53:29.161199Z", "iopub.status.busy": "2023-08-11T15:53:29.160935Z", "iopub.status.idle": "2023-08-11T15:53:29.166479Z", "shell.execute_reply": "2023-08-11T15:53:29.165855Z" }, "executionStartTime": 1690415267282, "executionStopTime": 1690415267286, "originalKey": "e41fea0a-ae71-4e6f-8c0a-6eb6ae143fb0", "requestMsgId": "60f14ec9-eb1b-4e88-95c5-15c91f999c90", "showInput": true }, "outputs": [], "source": [ "class CNN(nn.Module):\n", " \n", " def __init__(self) -> None:\n", " super().__init__()\n", " self.conv1 = nn.Conv2d(1, 20, kernel_size=5, stride=1)\n", " self.fc1 = nn.Linear(8 * 8 * 20, 64)\n", " self.fc2 = nn.Linear(64, 10)\n", "\n", " def forward(self, x: Tensor) -> Tensor:\n", " x = F.relu(self.conv1(x))\n", " x = F.max_pool2d(x, 3, 3)\n", " x = x.view(-1, 8 * 8 * 20)\n", " x = F.relu(self.fc1(x))\n", " x = self.fc2(x)\n", " return F.log_softmax(x, dim=-1)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "8ef6bcb9-c492-4874-b8c7-a07f7e6291ad", "showInput": false }, "source": [ "In this tutorial, we want to optimize classification accuracy on the validation set as a function of the learning rate and momentum. The `train_evaluate` function takes in a parameterization (set of parameter values), computes the classification accuracy, and returns that metric. " ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:53:29.169723Z", "iopub.status.busy": "2023-08-11T15:53:29.169458Z", "iopub.status.idle": "2023-08-11T15:53:29.174611Z", "shell.execute_reply": "2023-08-11T15:53:29.173868Z" }, "executionStartTime": 1690415267388, "executionStopTime": 1690415267395, "originalKey": "a7e4bcc4-7494-429b-bb93-7ad84d0985af", "requestMsgId": "5d486dbf-60cb-453d-8f24-8605f974b0a7", "showInput": true }, "outputs": [], "source": [ "def train_evaluate(parameterization):\n", " \"\"\"\n", " Train the model and then compute an evaluation metric.\n", "\n", " In this tutorial, the CNN utils package is doing a lot of work\n", " under the hood:\n", " - `train` initializes the network, defines the loss function\n", " and optimizer, performs the training loop, and returns the\n", " trained model.\n", " - `evaluate` computes the accuracy of the model on the\n", " evaluation dataset and returns the metric.\n", "\n", " For your use case, you can define training and evaluation functions\n", " of your choosing.\n", "\n", " \"\"\"\n", " net = CNN()\n", " net = train(\n", " net=net,\n", " train_loader=train_loader,\n", " parameters=parameterization,\n", " dtype=dtype,\n", " device=device,\n", " )\n", "\n", " return evaluate(\n", " net=net, \n", " data_loader=valid_loader, \n", " dtype=dtype, \n", " device=device,\n", " )\n" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "9ab127a8-021f-4ec8-9f4e-f4256a2e322a", "showInput": false }, "source": [ "## 5. Run optimization loop\n" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "411a2fb4-e8a3-4414-bc17-09f0b5ba3e74", "showInput": false }, "source": [ "First we use `attach_trial` to attach a custom trial with manually-chosen parameters. This step is optional, but we include it here to demonstrate adding manual trials and to serve as a baseline model with decent performance. " ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "customInput": null, "execution": { "iopub.execute_input": "2023-08-11T15:53:29.177999Z", "iopub.status.busy": "2023-08-11T15:53:29.177757Z", "iopub.status.idle": "2023-08-11T15:53:35.835862Z", "shell.execute_reply": "2023-08-11T15:53:35.834984Z" }, "executionStartTime": 1690415267533, "executionStopTime": 1690415287786, "originalKey": "1388ef55-5642-46ab-b297-c76a73a48aca", "requestMsgId": "b32a4981-ad59-46e1-b701-fa5a5f118d8b", "showInput": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:53:29] ax.core.experiment: Attached custom parameterizations [{'lr': 2.6e-05, 'momentum': 0.58}] as trial 0.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:53:35] ax.service.ax_client: Completed trial 0 with data: {'accuracy': (0.841833, None)}.\n" ] } ], "source": [ "# Attach the trial\n", "ax_client.attach_trial(\n", " parameters={\"lr\": 0.000026, \"momentum\": 0.58}\n", ")\n", "\n", "# Get the parameters and run the trial \n", "baseline_parameters = ax_client.get_trial_parameters(trial_index=0)\n", "ax_client.complete_trial(trial_index=0, raw_data=train_evaluate(baseline_parameters))" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "f0f886a1-c5c8-44bb-b2fd-9fa3f140357a", "showInput": false }, "source": [ "Now we start the optimization loop.\n", "\n", "At each step, the user queries the client for a new trial then submits the evaluation of that trial back to the client.\n", "\n", "Note that Ax auto-selects an appropriate optimization algorithm based on the search space. For more advanced use cases that require a specific optimization algorithm, pass a `generation_strategy` argument into the `AxClient` constructor. Note that when Bayesian Optimization is used, generating new trials may take a few minutes." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:53:35.839013Z", "iopub.status.busy": "2023-08-11T15:53:35.838773Z", "iopub.status.idle": "2023-08-11T15:56:32.287933Z", "shell.execute_reply": "2023-08-11T15:56:32.287278Z" }, "executionStartTime": 1690415287908, "executionStopTime": 1690415945107, "originalKey": "bff5d714-1ab3-43d3-b9b3-8c3a53c81dcb", "requestMsgId": "a203534f-85dd-4dfa-9fa6-6aa46a0200a3", "showInput": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:53:35] ax.service.ax_client: Generated new trial 1 with parameters {'lr': 0.009955, 'momentum': 0.633423}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:53:42] ax.service.ax_client: Completed trial 1 with data: {'accuracy': (0.100333, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:53:42] ax.service.ax_client: Generated new trial 2 with parameters {'lr': 5e-06, 'momentum': 0.022851}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:53:49] ax.service.ax_client: Completed trial 2 with data: {'accuracy': (0.318667, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:53:49] ax.service.ax_client: Generated new trial 3 with parameters {'lr': 7e-06, 'momentum': 0.176948}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:53:56] ax.service.ax_client: Completed trial 3 with data: {'accuracy': (0.4585, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:53:56] ax.service.ax_client: Generated new trial 4 with parameters {'lr': 8.2e-05, 'momentum': 0.90883}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:02] ax.service.ax_client: Completed trial 4 with data: {'accuracy': (0.925833, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:02] ax.service.ax_client: Generated new trial 5 with parameters {'lr': 0.000302, 'momentum': 0.341904}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:09] ax.service.ax_client: Completed trial 5 with data: {'accuracy': (0.928667, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:09] ax.service.ax_client: Generated new trial 6 with parameters {'lr': 0.000137, 'momentum': 0.591261}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:15] ax.service.ax_client: Completed trial 6 with data: {'accuracy': (0.92, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:16] ax.service.ax_client: Generated new trial 7 with parameters {'lr': 9e-06, 'momentum': 1.0}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:23] ax.service.ax_client: Completed trial 7 with data: {'accuracy': (0.8515, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:24] ax.service.ax_client: Generated new trial 8 with parameters {'lr': 0.000247, 'momentum': 0.0}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:31] ax.service.ax_client: Completed trial 8 with data: {'accuracy': (0.905167, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:31] ax.service.ax_client: Generated new trial 9 with parameters {'lr': 0.000151, 'momentum': 0.267503}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:38] ax.service.ax_client: Completed trial 9 with data: {'accuracy': (0.886333, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:38] ax.service.ax_client: Generated new trial 10 with parameters {'lr': 0.000659, 'momentum': 0.0}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:45] ax.service.ax_client: Completed trial 10 with data: {'accuracy': (0.8285, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:45] ax.service.ax_client: Generated new trial 11 with parameters {'lr': 3.4e-05, 'momentum': 1.0}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:52] ax.service.ax_client: Completed trial 11 with data: {'accuracy': (0.826833, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:53] ax.service.ax_client: Generated new trial 12 with parameters {'lr': 0.000249, 'momentum': 0.96372}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:59] ax.service.ax_client: Completed trial 12 with data: {'accuracy': (0.15, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:54:59] ax.service.ax_client: Generated new trial 13 with parameters {'lr': 4.2e-05, 'momentum': 0.750602}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:06] ax.service.ax_client: Completed trial 13 with data: {'accuracy': (0.9015, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:06] ax.service.ax_client: Generated new trial 14 with parameters {'lr': 1e-06, 'momentum': 1.0}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:12] ax.service.ax_client: Completed trial 14 with data: {'accuracy': (0.518667, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:13] ax.service.ax_client: Generated new trial 15 with parameters {'lr': 7.6e-05, 'momentum': 0.474843}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:19] ax.service.ax_client: Completed trial 15 with data: {'accuracy': (0.900667, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:20] ax.service.ax_client: Generated new trial 16 with parameters {'lr': 7.5e-05, 'momentum': 0.720726}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:26] ax.service.ax_client: Completed trial 16 with data: {'accuracy': (0.912333, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:27] ax.service.ax_client: Generated new trial 17 with parameters {'lr': 0.000321, 'momentum': 0.17207}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:34] ax.service.ax_client: Completed trial 17 with data: {'accuracy': (0.8935, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:34] ax.modelbridge.base: Untransformed parameter 0.40000000000000013 greater than upper bound 0.4, clamping\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:34] ax.service.ax_client: Generated new trial 18 with parameters {'lr': 0.4, 'momentum': 0.0}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:41] ax.service.ax_client: Completed trial 18 with data: {'accuracy': (0.104333, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:41] ax.service.ax_client: Generated new trial 19 with parameters {'lr': 6e-06, 'momentum': 0.74119}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:47] ax.service.ax_client: Completed trial 19 with data: {'accuracy': (0.6875, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:48] ax.service.ax_client: Generated new trial 20 with parameters {'lr': 6.4e-05, 'momentum': 0.0}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:55] ax.service.ax_client: Completed trial 20 with data: {'accuracy': (0.855, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:55] ax.modelbridge.base: Untransformed parameter 0.40000000000000013 greater than upper bound 0.4, clamping\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:55:55] ax.service.ax_client: Generated new trial 21 with parameters {'lr': 0.4, 'momentum': 1.0}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:56:02] ax.service.ax_client: Completed trial 21 with data: {'accuracy': (0.100333, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:56:02] ax.service.ax_client: Generated new trial 22 with parameters {'lr': 6.4e-05, 'momentum': 0.626646}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:56:09] ax.service.ax_client: Completed trial 22 with data: {'accuracy': (0.9085, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:56:10] ax.service.ax_client: Generated new trial 23 with parameters {'lr': 0.000175, 'momentum': 0.433834}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:56:17] ax.service.ax_client: Completed trial 23 with data: {'accuracy': (0.917167, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:56:17] ax.service.ax_client: Generated new trial 24 with parameters {'lr': 6.3e-05, 'momentum': 0.866459}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:56:24] ax.service.ax_client: Completed trial 24 with data: {'accuracy': (0.905833, None)}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:56:25] ax.service.ax_client: Generated new trial 25 with parameters {'lr': 3.6e-05, 'momentum': 0.228539}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:56:32] ax.service.ax_client: Completed trial 25 with data: {'accuracy': (0.791, None)}.\n" ] } ], "source": [ "for i in range(25):\n", " parameters, trial_index = ax_client.get_next_trial()\n", " # Local evaluation here can be replaced with deployment to external system.\n", " ax_client.complete_trial(trial_index=trial_index, raw_data=train_evaluate(parameters))" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "ccd16059-db9f-475b-b527-75afb320e0f4", "showInput": false }, "source": [ "### How many trials can run in parallel?\n", "By default, Ax restricts number of trials that can run in parallel for some optimization stages, in order to improve the optimization performance and reduce the number of trials that the optimization will require. To check the maximum parallelism for each optimization stage:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:56:32.291125Z", "iopub.status.busy": "2023-08-11T15:56:32.290859Z", "iopub.status.idle": "2023-08-11T15:56:32.297029Z", "shell.execute_reply": "2023-08-11T15:56:32.296318Z" }, "executionStartTime": 1690415945269, "executionStopTime": 1690415945336, "originalKey": "7182d2f9-912c-464c-b5ad-f65ce6f00017", "requestMsgId": "4cb4ff79-e45b-4c7d-86a1-7f8007eb2c81", "showInput": true }, "outputs": [ { "data": { "text/plain": [ "[(5, 5), (-1, 3)]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ax_client.get_max_parallelism()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "e2f429e6-2ec8-4af2-906b-52a36a53d329", "showInput": false }, "source": [ "The output of this function is a list of tuples of form (number of trials, max parallelism), so the example above means \"the max parallelism is 5 for the first 5 trials and 3 for all subsequent trials.\" This is because the first 5 trials are produced quasi-randomly and can all be evaluated at once, and subsequent trials are produced via Bayesian optimization, which converges on optimal point in fewer trials when parallelism is limited. MaxParallelismReachedException indicates that the parallelism limit has been reached –– refer to the 'Service API Exceptions Meaning and Handling' section at the end of the tutorial for handling.\n", "\n" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "86c7aef9-993a-411e-add5-05839b00d3cf", "showInput": false }, "source": [ "### How to view all existing trials during optimization?" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false, "customInput": null, "execution": { "iopub.execute_input": "2023-08-11T15:56:32.300343Z", "iopub.status.busy": "2023-08-11T15:56:32.300112Z", "iopub.status.idle": "2023-08-11T15:56:32.357796Z", "shell.execute_reply": "2023-08-11T15:56:32.356904Z" }, "executionStartTime": 1690415945532, "executionStopTime": 1690415946199, "originalKey": "3fbad5dc-863a-494e-b04f-d7dc1e47936c", "requestMsgId": "905ea8b6-add0-473e-8516-5be6ad7d7658", "showInput": true }, "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", "
trial_indexarm_nametrial_statusgeneration_methodaccuracylrmomentum
000_0COMPLETEDManual0.8418330.0000260.580000
111_0COMPLETEDSobol0.1003330.0099550.633423
222_0COMPLETEDSobol0.3186670.0000050.022851
333_0COMPLETEDSobol0.4585000.0000070.176948
444_0COMPLETEDSobol0.9258330.0000820.908830
555_0COMPLETEDSobol0.9286670.0003020.341904
666_0COMPLETEDGPEI0.9200000.0001370.591261
777_0COMPLETEDGPEI0.8515000.0000091.000000
888_0COMPLETEDGPEI0.9051670.0002470.000000
999_0COMPLETEDGPEI0.8863330.0001510.267503
101010_0COMPLETEDGPEI0.8285000.0006590.000000
111111_0COMPLETEDGPEI0.8268330.0000341.000000
121212_0COMPLETEDGPEI0.1500000.0002490.963720
131313_0COMPLETEDGPEI0.9015000.0000420.750602
141414_0COMPLETEDGPEI0.5186670.0000011.000000
151515_0COMPLETEDGPEI0.9006670.0000760.474843
161616_0COMPLETEDGPEI0.9123330.0000750.720726
171717_0COMPLETEDGPEI0.8935000.0003210.172070
181818_0COMPLETEDGPEI0.1043330.4000000.000000
191919_0COMPLETEDGPEI0.6875000.0000060.741190
202020_0COMPLETEDGPEI0.8550000.0000640.000000
212121_0COMPLETEDGPEI0.1003330.4000001.000000
222222_0COMPLETEDGPEI0.9085000.0000640.626646
232323_0COMPLETEDGPEI0.9171670.0001750.433834
242424_0COMPLETEDGPEI0.9058330.0000630.866459
252525_0COMPLETEDGPEI0.7910000.0000360.228539
\n", "
" ], "text/plain": [ " trial_index arm_name trial_status generation_method accuracy lr \\\n", "0 0 0_0 COMPLETED Manual 0.841833 0.000026 \n", "1 1 1_0 COMPLETED Sobol 0.100333 0.009955 \n", "2 2 2_0 COMPLETED Sobol 0.318667 0.000005 \n", "3 3 3_0 COMPLETED Sobol 0.458500 0.000007 \n", "4 4 4_0 COMPLETED Sobol 0.925833 0.000082 \n", "5 5 5_0 COMPLETED Sobol 0.928667 0.000302 \n", "6 6 6_0 COMPLETED GPEI 0.920000 0.000137 \n", "7 7 7_0 COMPLETED GPEI 0.851500 0.000009 \n", "8 8 8_0 COMPLETED GPEI 0.905167 0.000247 \n", "9 9 9_0 COMPLETED GPEI 0.886333 0.000151 \n", "10 10 10_0 COMPLETED GPEI 0.828500 0.000659 \n", "11 11 11_0 COMPLETED GPEI 0.826833 0.000034 \n", "12 12 12_0 COMPLETED GPEI 0.150000 0.000249 \n", "13 13 13_0 COMPLETED GPEI 0.901500 0.000042 \n", "14 14 14_0 COMPLETED GPEI 0.518667 0.000001 \n", "15 15 15_0 COMPLETED GPEI 0.900667 0.000076 \n", "16 16 16_0 COMPLETED GPEI 0.912333 0.000075 \n", "17 17 17_0 COMPLETED GPEI 0.893500 0.000321 \n", "18 18 18_0 COMPLETED GPEI 0.104333 0.400000 \n", "19 19 19_0 COMPLETED GPEI 0.687500 0.000006 \n", "20 20 20_0 COMPLETED GPEI 0.855000 0.000064 \n", "21 21 21_0 COMPLETED GPEI 0.100333 0.400000 \n", "22 22 22_0 COMPLETED GPEI 0.908500 0.000064 \n", "23 23 23_0 COMPLETED GPEI 0.917167 0.000175 \n", "24 24 24_0 COMPLETED GPEI 0.905833 0.000063 \n", "25 25 25_0 COMPLETED GPEI 0.791000 0.000036 \n", "\n", " momentum \n", "0 0.580000 \n", "1 0.633423 \n", "2 0.022851 \n", "3 0.176948 \n", "4 0.908830 \n", "5 0.341904 \n", "6 0.591261 \n", "7 1.000000 \n", "8 0.000000 \n", "9 0.267503 \n", "10 0.000000 \n", "11 1.000000 \n", "12 0.963720 \n", "13 0.750602 \n", "14 1.000000 \n", "15 0.474843 \n", "16 0.720726 \n", "17 0.172070 \n", "18 0.000000 \n", "19 0.741190 \n", "20 0.000000 \n", "21 1.000000 \n", "22 0.626646 \n", "23 0.433834 \n", "24 0.866459 \n", "25 0.228539 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ax_client.get_trials_data_frame()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "9f1ebc55-e6f2-498f-9185-569227c2f3d5", "showInput": false }, "source": [ "## 6. Retrieve best parameters\n", "\n", "Once it's complete, we can access the best parameters found, as well as the corresponding metric values. Note that these parameters may not necessarily be the set that yielded the highest _observed_ accuracy because Ax uses the highest model _predicted_ accuracy to choose the best parameters (see [here](https://ax.dev/api/service.html#module-ax.service.utils.best_point_mixin) for more details). Due to randomness in the data or the algorithm itself, using observed accuracy may result in choosing an outlier for the best set of parameters. Using the model predicted best will use the model to regularize the observations and reduce the likelihood of picking some outlier in the data." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:56:32.361162Z", "iopub.status.busy": "2023-08-11T15:56:32.360698Z", "iopub.status.idle": "2023-08-11T15:56:32.701777Z", "shell.execute_reply": "2023-08-11T15:56:32.701072Z" }, "executionStartTime": 1690415946312, "executionStopTime": 1690415949198, "originalKey": "8fdf0023-2bf5-4cdd-93ea-a8a708dc6845", "requestMsgId": "c0b8c25d-c6ae-476e-be23-f1b963df296b", "showInput": true }, "outputs": [ { "data": { "text/plain": [ "{'lr': 7.5306955935234e-05, 'momentum': 0.7207258543270095}" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "best_parameters, values = ax_client.get_best_parameters()\n", "best_parameters" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:56:32.705212Z", "iopub.status.busy": "2023-08-11T15:56:32.704965Z", "iopub.status.idle": "2023-08-11T15:56:32.709186Z", "shell.execute_reply": "2023-08-11T15:56:32.708494Z" }, "executionStartTime": 1690415949308, "executionStopTime": 1690415949313, "originalKey": "f3eb18fc-be99-494a-aeac-e9b05a3bc182", "requestMsgId": "ac214ea0-ea8c-46f2-a988-b42893ef6d6d", "showInput": true }, "outputs": [ { "data": { "text/plain": [ "{'accuracy': 0.9253223188121286}" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mean, covariance = values\n", "mean" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "6be3b006-d090-4c73-a64a-12901d1af817", "showInput": false }, "source": [ "## 7. Plot the response surface and optimization trace\n", "\n", "Contour plot showing classification accuracy as a function of the two hyperparameters.\n", "\n", "The black squares show points that we have actually run; notice how they are clustered in the optimal region." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:56:32.712179Z", "iopub.status.busy": "2023-08-11T15:56:32.711930Z", "iopub.status.idle": "2023-08-11T15:56:37.728234Z", "shell.execute_reply": "2023-08-11T15:56:37.727730Z" }, "executionStartTime": 1690415949431, "executionStopTime": 1690415953540, "originalKey": "1beca759-2fa5-48d1-bfed-c9b13a054733", "requestMsgId": "fa48963e-b43c-4079-81a4-079d347fe9ba", "showInput": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:56:32] ax.service.ax_client: Retrieving contour plot with parameter 'lr' on X-axis and 'momentum' on Y-axis, for metric 'accuracy'. Remaining parameters are affixed to the middle of their range.\n" ] }, { "data": { "application/vnd.plotly.v1+json": { "config": { "linkText": "Export to plot.ly", "plotlyServerURL": "https://plot.ly", "showLink": false }, "data": [ { "autocolorscale": false, "autocontour": true, "colorbar": { "tickfont": { "size": 8 }, "ticksuffix": "", "x": 0.45, "y": 0.5 }, "colorscale": [ [ 0.0, "rgb(247,252,253)" ], [ 0.125, "rgb(229,245,249)" ], [ 0.25, "rgb(204,236,230)" ], [ 0.375, "rgb(153,216,201)" ], [ 0.5, "rgb(102,194,164)" ], [ 0.625, "rgb(65,174,118)" ], [ 0.75, "rgb(35,139,69)" ], [ 0.875, "rgb(0,109,44)" ], [ 1.0, "rgb(0,68,27)" ] ], "contours": { "coloring": "heatmap" }, "hoverinfo": "x+y+z", "ncontours": 25, "type": "contour", "x": [ 1e-06, 1.3011511650442548e-06, 1.692994354296022e-06, 2.2028415765056147e-06, 2.866229883678204e-06, 3.729398352432554e-06, 4.852511011181743e-06, 6.3138503555892e-06, 8.215273746089953e-06, 1.0689313005882424e-05, 1.390841207112662e-05, 1.809694657026198e-05, 2.354686311364001e-05, 3.063802837345029e-05, 3.986470631277378e-05, 5.1870009063012666e-05, 6.749072272319499e-05, 8.781563250096393e-05, 0.00011426141253772724, 0.00014867137004306603, 0.00019344392634026088, 0.0002516997901283655, 0.0003274994751669172, 0.0004261263236648159, 0.0005544547624925005, 0.0007214294601814526, 0.000938688782612345, 0.0012213760031100258, 0.0015891948094037057, 0.002067782677737912, 0.0026904978401970136, 0.0035007443993213955, 0.004554997653699184, 0.005926740503884541, 0.007711585311544345, 0.010033938212454078, 0.013055670395116691, 0.01698740074503987, 0.02210317627048227, 0.028759573555516536, 0.03742055263793628, 0.04868979566145066, 0.06335278435066323, 0.0824315491666629, 0.10725590623460621, 0.13955614735503497, 0.18158364372009145, 0.23626776957937787, 0.3074200836506151, 0.4 ], "xaxis": "x", "y": [ 0.0, 0.02040816326530612, 0.04081632653061224, 0.061224489795918366, 0.08163265306122448, 0.1020408163265306, 0.12244897959183673, 0.14285714285714285, 0.16326530612244897, 0.18367346938775508, 0.2040816326530612, 0.22448979591836732, 0.24489795918367346, 0.26530612244897955, 0.2857142857142857, 0.3061224489795918, 0.32653061224489793, 0.3469387755102041, 0.36734693877551017, 0.3877551020408163, 0.4081632653061224, 0.42857142857142855, 0.44897959183673464, 0.4693877551020408, 0.4897959183673469, 0.5102040816326531, 0.5306122448979591, 0.5510204081632653, 0.5714285714285714, 0.5918367346938775, 0.6122448979591836, 0.6326530612244897, 0.6530612244897959, 0.673469387755102, 0.6938775510204082, 0.7142857142857142, 0.7346938775510203, 0.7551020408163265, 0.7755102040816326, 0.7959183673469387, 0.8163265306122448, 0.836734693877551, 0.8571428571428571, 0.8775510204081632, 0.8979591836734693, 0.9183673469387754, 0.9387755102040816, 0.9591836734693877, 0.9795918367346939, 1.0 ], "yaxis": "y", "z": [ [ 0.25451306126945633, 0.2408398544308581, 0.23119176122818474, 0.22865473119616886, 0.2369142883190719, 0.2597697710695608, 0.3000177392013319, 0.35717735426788466, 0.4254504894813723, 0.4976943984793071, 0.5691072526856976, 0.6368801361364144, 0.6990880188649709, 0.7539561096790887, 0.7995501597760034, 0.8339507453088125, 0.8562469110306982, 0.8687626822026624, 0.8773744791688094, 0.8868012686361376, 0.8963459469916458, 0.9001949782543485, 0.8938098520999047, 0.8776144809618633, 0.8511296703434643, 0.8123996092092521, 0.7616195941622309, 0.7021132882908334, 0.6382583609532022, 0.5740226711455423, 0.5124545659647429, 0.4556625614374821, 0.4049761405444415, 0.36111714922078836, 0.3243087397673828, 0.29431807475771116, 0.27047475277199323, 0.25172038804104296, 0.2367208430025598, 0.22403053286015645, 0.21227132145872335, 0.2002914178773615, 0.18728964631957312, 0.17290828500457556, 0.1573040921063038, 0.14120197400071632, 0.12592074225050476, 0.11333445062173675, 0.10568994539846077, 0.1051293787599672 ], [ 0.25746869115544363, 0.24438293968052804, 0.23544263296257628, 0.23374758760748887, 0.2429748791755747, 0.2668671624457584, 0.3080834986620151, 0.36591321529677023, 0.4343103814485725, 0.5061409990509411, 0.57678710045443, 0.6435825749890425, 0.7046753524407287, 0.7583308953949303, 0.8026555760561633, 0.8357875457135178, 0.8569001345466891, 0.8684354078974509, 0.8764357702553018, 0.8858156552920419, 0.8958439052887653, 0.9003350930163061, 0.8944672650282914, 0.8785479991591083, 0.8518930441335073, 0.8125289744460941, 0.7608500216916628, 0.7003794052103732, 0.635620885430036, 0.5705957964018228, 0.5083625149136011, 0.45102460846753384, 0.39991000971448576, 0.3557493238042723, 0.31878135950618164, 0.28878530639468253, 0.2650875580179365, 0.2466056829275009, 0.23196441945129898, 0.219670237430716, 0.20830100447593508, 0.19667197823367644, 0.18396272905304467, 0.16980943736866638, 0.15437369658846511, 0.13839323535898695, 0.1232043689174821, 0.1106997143494064, 0.10314182519784476, 0.10268167057825817 ], [ 0.26068212333892826, 0.24823678703626478, 0.24006345951847669, 0.23927415229178967, 0.24953287923832468, 0.27451414968838, 0.31671124994258204, 0.3751316658948221, 0.44351075239828186, 0.5147858325809681, 0.584545751127934, 0.6502625811926758, 0.7101486837945746, 0.7625066856741317, 0.8054893060207079, 0.8373081647531717, 0.8572468229136587, 0.8678663942299967, 0.8753229588259883, 0.88470861771934, 0.8952658643813836, 0.9004273460823409, 0.8950734218018294, 0.8793446445800094, 0.8523561427124047, 0.8122043652293145, 0.7595452503278873, 0.6980949061537967, 0.6324614527589073, 0.566698979506897, 0.5038603401265858, 0.44603442729053483, 0.3945430118998989, 0.35012482201671385, 0.3130362562657207, 0.2830713303361214, 0.259555247982061, 0.241381931916885, 0.22713414689157158, 0.2152693395122608, 0.20432089647500495, 0.19307149183897765, 0.18068250360168003, 0.16678544456960276, 0.15154817383201946, 0.13572223572988074, 0.12066137626533024, 0.10827463394301728, 0.10083445867593477, 0.1004888333931323 ], [ 0.2641468528904101, 0.25239129978207936, 0.24503876486268744, 0.24521117943505694, 0.25655437175410967, 0.28266336882291215, 0.32583976639749507, 0.38476687166150014, 0.45299218565422816, 0.523583852880119, 0.5923545671896868, 0.656906789279837, 0.7155086559792407, 0.7664979574251078, 0.8080811976730307, 0.8385612961201931, 0.8573562082286135, 0.8671404765765512, 0.8741337391780715, 0.8835868534855815, 0.8947290960105356, 0.9005960638655519, 0.8957287738651467, 0.8800639340731288, 0.8525394042281694, 0.8114222344972528, 0.7576900118867425, 0.6952425622433672, 0.6287656416565501, 0.5623222372171277, 0.4989425255933333, 0.44069028824557355, 0.3888762884665291, 0.3442467744791332, 0.3070778654120995, 0.2771814540729039, 0.2538837387551875, 0.23605541404014174, 0.22223635540964148, 0.21083387070574006, 0.20033641547787429, 0.18949452533410072, 0.1774525220805251, 0.16383872675611044, 0.1488287069309957, 0.1331888021631401, 0.11829008420511222, 0.10605582470418717, 0.09876252102059391, 0.09854394230022767 ], [ 0.2678552895755984, 0.2568348143103144, 0.2503507444820618, 0.25153186183548937, 0.2639998441600091, 0.29125849220328465, 0.33539427229630703, 0.394740968667779, 0.46268822533833964, 0.5324870673015192, 0.6001842881601062, 0.6635025465335536, 0.7207576451618918, 0.7703219914905601, 0.8104652451988031, 0.8396013743166296, 0.8573038062879059, 0.866348381719267, 0.8729706024178143, 0.8825598487046451, 0.8943513855924414, 0.9009640226117961, 0.8965299552173213, 0.8807570708823924, 0.85245505105581, 0.8101739604784611, 0.7552666289041424, 0.6918043598004728, 0.6245192375978315, 0.5574563472516159, 0.49360460088324487, 0.4349916392483396, 0.38291220341989135, 0.3381195229630954, 0.30091178158047616, 0.27112206603160544, 0.24807992957736635, 0.23063326965298625, 0.2172780852282366, 0.2063703967808475, 0.19635332325764254, 0.1859457899418312, 0.17427626848179323, 0.16097139392623905, 0.1462158722039384, 0.13079177055212476, 0.11608731081501089, 0.10403773057850452, 0.09691773780020341, 0.09683681164281854 ], [ 0.2717988693792652, 0.26155429660445517, 0.25597960928567415, 0.2582064361854626, 0.27182528031085734, 0.30023633443256686, 0.34529105686935413, 0.40496742522556256, 0.4725275916126602, 0.5414460050081911, 0.6080058213764593, 0.6700382211170314, 0.7258996954380286, 0.7739984162739877, 0.8126785328048839, 0.8404863683699366, 0.8571682478018974, 0.8655838745025493, 0.8719379558391851, 0.8817358579338699, 0.8942437707066325, 0.9016421150132623, 0.8975612785914093, 0.8814604523130863, 0.8521028266046835, 0.8084433410915548, 0.7522540178734385, 0.6877611873679133, 0.6197081779074732, 0.5520928826846784, 0.4878432008198482, 0.4289391698109065, 0.3766544071667393, 0.3317486832292618, 0.29454481918694575, 0.26490069157932866, 0.24215175193323085, 0.22512353985705008, 0.21226711467510345, 0.20188603524160842, 0.1923777362582526, 0.18243015074074664, 0.17115717148173293, 0.15818526765060237, 0.14370967660360345, 0.12852904976928914, 0.11404848551350522, 0.1022128397140113, 0.09528934434482117, 0.09535470379439548 ], [ 0.27596817925415157, 0.26653556410240503, 0.26190397966970524, 0.26520289154005333, 0.27998347720555317, 0.3095294559343965, 0.3554422149305528, 0.4153552419417569, 0.4824369948192182, 0.5504113944596319, 0.6157910785625784, 0.6765034969912974, 0.7309404076796842, 0.7775486695844123, 0.8147600463824225, 0.8412755320646357, 0.8570282934734887, 0.8649406032093789, 0.8711388931746551, 0.8812176034792017, 0.8945030920860242, 0.9027189903035575, 0.8988852192987926, 0.8821885927668864, 0.8514659798890412, 0.8062045206722042, 0.748626812290277, 0.6830925766430406, 0.6143185245445799, 0.546224258768176, 0.48165612882346687, 0.42253487422337915, 0.3701078977217893, 0.3251412051949169, 0.28798507066753387, 0.25852604700528803, 0.23610821651531538, 0.2195352033206408, 0.20721198508802186, 0.19738846991241898, 0.188416134414219, 0.1789526354821157, 0.1680986191944338, 0.15548190816976848, 0.1413096056370856, 0.12639770449275223, 0.11216779437361135, 0.10057195171674527, 0.09386458435814304, 0.09408294669453188 ], [ 0.2803530917494404, 0.27176352629592726, 0.2681013157342328, 0.27248774832512507, 0.2884254966463997, 0.3190689507315008, 0.3657600776558793, 0.42581351437742826, 0.4923444008388191, 0.5593359442941256, 0.6235138122855546, 0.6828896395589505, 0.7358867848672436, 0.780995405494703, 0.8167494369838837, 0.8420272758225392, 0.8569600486896419, 0.8645088116492239, 0.8706717121757794, 0.8810979293599757, 0.8952049491302354, 0.9042508755998679, 0.900532186339731, 0.8829269775129874, 0.8505078779389036, 0.8034204774768221, 0.7443547199145857, 0.6777765362860775, 0.608336477575672, 0.5398437963456961, 0.47504242484966225, 0.4157821135693536, 0.3632790785716206, 0.3183054295587778, 0.281241961628066, 0.2520080907091044, 0.22995945727972972, 0.21387820967962784, 0.20212202183677747, 0.19288596182252593, 0.1844753672898506, 0.1755184424644486, 0.1651039753639464, 0.15286264613210765, 0.13901468043860643, 0.12439405376502155, 0.11043835017454051, 0.09910447539978828, 0.09262919536994696, 0.09300547051166097 ], [ 0.2849429058150935, 0.2772224366279776, 0.27454836782248127, 0.2800268709597669, 0.29710215383227245, 0.3287871415031312, 0.37616120863973523, 0.43625615112081306, 0.5021825170645114, 0.5681760932293239, 0.6311504022165303, 0.6891897158792379, 0.7407470372725834, 0.7843618739600686, 0.81868581006532, 0.8427972380040036, 0.857034399815983, 0.8643720491651731, 0.8706262672139168, 0.8814556125583681, 0.8963975203337002, 0.9062521425557037, 0.9024897390366365, 0.8836256301300187, 0.8491695980988674, 0.8000421703664484, 0.7394021966942327, 0.6717895121510102, 0.6017484408044003, 0.5329458053956817, 0.4680024385427127, 0.40868567605528766, 0.3561758122504481, 0.31125113987055675, 0.2743263019658778, 0.24535807071289945, 0.22371677170609788, 0.208163508586162, 0.1970073505482388, 0.18838735560703257, 0.18056265692309847, 0.17213294694714742, 0.16217659642562643, 0.15032861811604437, 0.13682352240028284, 0.12251378190148177, 0.10885237928564195, 0.09779873791579452, 0.09156785543644708, 0.0921052727524364 ], [ 0.28972648985879224, 0.28289614780215655, 0.2812216307177038, 0.28778627618519464, 0.30596544966774447, 0.33861997812151706, 0.386569791534354, 0.44660668738911075, 0.5118921285438042, 0.576893581571655, 0.6386805419886503, 0.695398754456348, 0.7455303513854213, 0.7876712992869448, 0.8206065988701499, 0.8436365945531189, 0.8573147049751219, 0.8646039885954041, 0.8710802304662855, 0.8823514716120712, 0.8980966209528386, 0.908687712836485, 0.9046913441456456, 0.8841944824243603, 0.8473688188536784, 0.7960084185665227, 0.7337284860907047, 0.6651064984668089, 0.5945411483487616, 0.5255256912594753, 0.4605379078025833, 0.4012518349049786, 0.3488074685065307, 0.3039896088756008, 0.267250331887066, 0.2385885674882262, 0.21739265624823045, 0.20240307334923874, 0.19187890752352887, 0.18390208058884527, 0.17668559673575635, 0.16880170556440677, 0.1593198488245141, 0.14788080499117917, 0.13473442361000199, 0.12075205817380541, 0.10740141770228673, 0.09664229011028491, 0.09066458195616323, 0.091364820181841 ], [ 0.29469242306117505, 0.2887683625368654, 0.288097785003103, 0.29573290133066227, 0.31496986832237567, 0.34850900995136574, 0.3969201936430096, 0.45680275702047757, 0.5214247481410462, 0.5854567081676215, 0.6460877838143955, 0.7015138319995133, 0.750246626665227, 0.7909462799837652, 0.8225465642814338, 0.8445906315055169, 0.857854781794649, 0.8652654607892031, 0.872095330003348, 0.8838248292469923, 0.9002822834069448, 0.911468813720433, 0.9070068718784093, 0.8845017610267575, 0.8450002506698047, 0.7912465531064662, 0.7272880419237111, 0.6577013134082774, 0.5867018573965488, 0.5175800848349967, 0.45265204245109447, 0.3934884028139826, 0.341184965748038, 0.2965336377921812, 0.26002776159035684, 0.23171353094842767, 0.2110008358222733, 0.19660991797611616, 0.18674844323804185, 0.17944014566163313, 0.17285214586187914, 0.16553045819489964, 0.1565371259545103, 0.1455200721183808, 0.13274542127148692, 0.11910366171537479, 0.10607650932386503, 0.09562219734070831, 0.0899030816981582, 0.09076639505188466 ], [ 0.2998291310335443, 0.2948228720729991, 0.2951541101882968, 0.30383530143054877, 0.32407348202789327, 0.35840286642376323, 0.40715854256883344, 0.46679812129026776, 0.5307440689236463, 0.5938411755025237, 0.6533599093085681, 0.7075340780177054, 0.7549061841475694, 0.7942082278324795, 0.824536949468089, 0.8456975995311651, 0.8586972414430896, 0.8664018266783665, 0.873713659152073, 0.8858902898058119, 0.9028970438288281, 0.9144533174182219, 0.9092446263234328, 0.8843762457436217, 0.8419377177171141, 0.7856738330080913, 0.7200313260101642, 0.6495470407743781, 0.5782186082749836, 0.5091069965375912, 0.4443496121079691, 0.3854047816880472, 0.3333208042591873, 0.2888975869914951, 0.2526738032196586, 0.2247483103008031, 0.2045562860236777, 0.19079810627702298, 0.18162851771850097, 0.17501212706253533, 0.16907061825264635, 0.1623251267534549, 0.15383186407814575, 0.14324721036992438, 0.1308543742850531, 0.11756310829692329, 0.10486840066709335, 0.09472530898143594, 0.08926705475046492, 0.09029239235106801 ], [ 0.3051250121237353, 0.3010437753460339, 0.3023688560751905, 0.3120642505233789, 0.33323882728432447, 0.3682582344687094, 0.41724331187191416, 0.4765615652618133, 0.5398261040214554, 0.6020304849721992, 0.6604891095584237, 0.7134605923242493, 0.7595194507314196, 0.7974768588523501, 0.8266048062631965, 0.8469878665376486, 0.8598722209551967, 0.868040824145304, 0.8759542381816127, 0.8885346915076847, 0.905846037572561, 0.917450803005696, 0.9111637493919942, 0.8836134222506709, 0.8380378328807944, 0.7791995680555526, 0.7119059485233656, 0.6406166282766363, 0.5690805487117303, 0.5001059922536041, 0.4356370367859037, 0.37701200612039454, 0.3252290894792613, 0.281097396350101, 0.24520519350107106, 0.2177096752795794, 0.19807524659162057, 0.18498275153771382, 0.17653248650003062, 0.17062914810950558, 0.16534966594130518, 0.15919181039908215, 0.15120755660298968, 0.14106297696537717, 0.12905904023896297, 0.1161247759551689, 0.10376772744606755, 0.09393850298908057, 0.08874045646322071, 0.08992557407403168 ], [ 0.3105685510260835, 0.3074156726092582, 0.309721561267738, 0.3203932297348622, 0.3424335375192952, 0.37804036491066284, 0.4271450910558961, 0.4860749879925299, 0.5486583764852867, 0.6100159071633466, 0.6674719730910247, 0.7192962750743466, 0.764096622708824, 0.8007697436627788, 0.8287725010064388, 0.8484833806659426, 0.8613965632136928, 0.8701910349061726, 0.8788101722438979, 0.8917139962691338, 0.908999011857436, 0.9202314408388559, 0.9124881633496053, 0.8819847376487995, 0.8331450342130092, 0.7717278393652097, 0.7028580992079387, 0.6308836230469216, 0.5592783150899457, 0.4905783879521541, 0.42652247812549293, 0.368322778813189, 0.3169255434487068, 0.27315059333350533, 0.23764020527529228, 0.2106158270883866, 0.19157522444776098, 0.17918000509606669, 0.17147447578561426, 0.16630284998706968, 0.1616982558990978, 0.15613677670017423, 0.14866776612665678, 0.1389681351639711, 0.12735715118783042, 0.11478302687664876, 0.10276518967068027, 0.09324890418775211, 0.08830772180474222, 0.08964928586373411 ], [ 0.3161484168109142, 0.31392382837986066, 0.317193310494806, 0.3287987920694723, 0.3516307348288189, 0.3877231706641094, 0.4368458084665855, 0.4953316265473678, 0.5572386548752633, 0.6177960998868247, 0.6743092946081953, 0.7250455734061343, 0.7686473118425782, 0.8041019198879498, 0.8310573998332992, 0.8501974507501131, 0.8632734854112877, 0.8728411045294129, 0.882246930984824, 0.895349885697317, 0.9121944454933888, 0.9225375716838039, 0.9129209117828733, 0.879248808779312, 0.82709760515665, 0.7631606657046041, 0.6928342019197109, 0.6203230169438606, 0.5488044599030721, 0.4805274581835359, 0.4170159286554917, 0.35935149593849475, 0.3084275023596467, 0.26507628665171795, 0.22999864591191782, 0.2034863971679341, 0.1850749844236349, 0.17340703198199048, 0.16646934536733282, 0.16204535270205545, 0.1581256399848896, 0.15316644836280258, 0.14621613371661768, 0.1369634919252185, 0.12574648676179134, 0.11353232339816599, 0.10185171301637741, 0.09264407646998707, 0.08795395644290893, 0.08944764079061596 ], [ 0.3218535430340699, 0.32055429980284506, 0.3247669252915871, 0.3372608005705226, 0.3608091967005454, 0.3972889958559823, 0.44633765957310206, 0.5043344635788756, 0.5655735738653218, 0.6253764696092052, 0.6810057283041129, 0.7307141527223528, 0.7731801771138331, 0.8074855648506433, 0.8334717264503327, 0.852134844223189, 0.865492762670256, 0.8759598098042161, 0.8862022945017407, 0.8993284334431838, 0.9152459105852462, 0.9240971460942071, 0.9121592065019277, 0.8751634576755438, 0.819734207466771, 0.7534014333860859, 0.6817827141763779, 0.6089121683954489, 0.5376539117167153, 0.46995865247194946, 0.4071292960190308, 0.35011426028359655, 0.2997538980173888, 0.25689514310752654, 0.22230184034647738, 0.19634243166875653, 0.1785945255555047, 0.16768197159800868, 0.1615326378329235, 0.1578692054044034, 0.1546413175899617, 0.15028738521155593, 0.14385638496172926, 0.13504993274131405, 0.12422494334348, 0.11236733644634045, 0.10101859514742939, 0.09211219006680793, 0.08766509856979032, 0.0893056744983527 ], [ 0.3276731881919588, 0.32729402781904526, 0.33242708538044713, 0.34576254222522806, 0.3699533223411163, 0.40672813776287176, 0.45562192034650817, 0.5130947990973318, 0.5736772984679412, 0.6327683712157997, 0.6875693162791151, 0.7363085038680209, 0.7777025452127994, 0.8109297229725749, 0.8360225788539573, 0.8542921936410655, 0.8680314350493702, 0.8794970054662117, 0.8905881937723068, 0.9035062694282096, 0.9179503419766295, 0.9246383174579411, 0.9099104567013314, 0.8694975403090762, 0.8109004244197668, 0.7423583944074814, 0.6696559881099564, 0.5966317640097694, 0.5258244518884372, 0.4588798126778926, 0.3968764787841288, 0.34062887995445323, 0.29092522094176027, 0.24862934504338124, 0.21457259621286967, 0.18920635924784945, 0.17215504056518105, 0.16202388123705636, 0.15668051258489113, 0.15378732538507356, 0.15125499070701987, 0.14750626121347699, 0.1415923324170869, 0.1332284529518969, 0.12279059825561178, 0.1112830451730854, 0.1002576364158283, 0.09164216558131522, 0.08742805512277918, 0.08920947545850133 ], [ 0.33359697542670724, 0.3341308898188263, 0.3401603806583555, 0.354290724464883, 0.3790529277481882, 0.4160381960839337, 0.4647077511810674, 0.5216309660862704, 0.5815702870763544, 0.6399882253470491, 0.6940109250207235, 0.7418354998081034, 0.7822200230048029, 0.8144400791153753, 0.838712085007223, 0.8566586927497525, 0.8708550254703377, 0.8833854114603225, 0.8952941453222184, 0.9077195985398009, 0.9200971534623094, 0.9239039859854989, 0.9059092645761744, 0.8620415483875096, 0.8004548415369738, 0.7299480425942994, 0.6564121096064042, 0.5834667820077678, 0.5133171911479503, 0.44730138380990964, 0.3862734302821293, 0.3309148504379347, 0.2819634628327765, 0.24030252559372672, 0.2068351482514041, 0.18210193951908116, 0.16577885585821606, 0.15645266006421865, 0.15192966325859414, 0.14981292523117984, 0.14797651130994338, 0.14482983645281067, 0.13942787415965896, 0.1315001849684294, 0.12144176810831031, 0.11027482693196922, 0.0995612549151873, 0.09122379673471004, 0.08723081567398028, 0.08914629363135962 ], [ 0.33961491103447455, 0.3410537137083298, 0.3479552959357427, 0.3628353642974571, 0.38810289971986056, 0.4252233109898094, 0.47361104382419755, 0.5299671707299536, 0.5892781637386072, 0.6470566113412883, 0.7003436218813603, 0.7473019169084505, 0.786736105659787, 0.818018766665098, 0.8415376711636082, 0.8592170516671132, 0.8739192353863503, 0.8875431422808633, 0.9001916246345235, 0.9117919095647167, 0.9214767515260096, 0.9216639697194775, 0.8999333168620467, 0.8526160066640305, 0.7882742752707079, 0.7160981994447917, 0.6420166381804919, 0.5694074205291016, 0.5001370288970193, 0.4352366105293879, 0.375338206906478, 0.32099331796382174, 0.2728920362179088, 0.2319396787823042, 0.1991150788544911, 0.17505418916738247, 0.15948934905544976, 0.1509889510461081, 0.14729721726044365, 0.14595942784540794, 0.144815821118096, 0.1422649240952233, 0.13736698827598048, 0.12986642095657996, 0.12017706065267586, 0.10933853707124475, 0.09892258626342398, 0.09084785383819671, 0.08706254688503434, 0.08910463042297079 ], [ 0.34571738196579405, 0.3480522544685472, 0.3558021324298368, 0.37138958210623174, 0.3971027374999731, 0.4342933365130973, 0.48235333205259145, 0.5381324390430575, 0.5968306929217571, 0.6539973735506691, 0.7065820200481905, 0.7527139367059346, 0.791251784990651, 0.8216641976379455, 0.8444924104784952, 0.8619446685599689, 0.8771720660332498, 0.8918768463959773, 0.9051387411779607, 0.9155400357393411, 0.9218872330292309, 0.9177220092176078, 0.8918113354965077, 0.8410769611079619, 0.7742578840832154, 0.7007506765494402, 0.6264441804296546, 0.5544499567549829, 0.48629307868801075, 0.42270171171402016, 0.36409099746329227, 0.31088702237399973, 0.2637356693157594, 0.22356704139255934, 0.19143921126719232, 0.16808928238248477, 0.15331084072950318, 0.14565401821981538, 0.14280061638183106, 0.14224036932901762, 0.1417828840345129, 0.1398183525217459, 0.1354137232115975, 0.12832863064577893, 0.11899541966826477, 0.10847057828835616, 0.0983355687448364, 0.09050616994652383, 0.08691367006676354, 0.08907431245394815 ], [ 0.3518951331109935, 0.3551171353202764, 0.3636928714854155, 0.3799493131411196, 0.4060560076493944, 0.443262981824178, 0.49096076950981293, 0.5461596525139502, 0.6042608438088048, 0.6608367623872602, 0.7127416157974222, 0.7580766443170015, 0.7957651639158979, 0.8253709016775044, 0.8475654141105422, 0.8648149623393662, 0.8805562965432095, 0.8962853192422129, 0.9099848299360496, 0.9187785907961271, 0.9211386482866981, 0.9119168028023564, 0.8814201881508316, 0.8273184082832405, 0.7583300416249418, 0.6838634246427706, 0.6096797434989967, 0.5385975071994733, 0.4717990446731135, 0.40971602590280926, 0.35255413049075063, 0.30062021810569733, 0.25452027452416326, 0.21521194352013984, 0.1838354715885927, 0.161234421875445, 0.14726845664581623, 0.14046959669012016, 0.13845747780663276, 0.13866929008945128, 0.13888761178733666, 0.13749692296105132, 0.13357218402150128, 0.12688847405158354, 0.11789616257235858, 0.10766795949848507, 0.09779501458735673, 0.0901917115149029, 0.086775924045282, 0.0890465513105636 ], [ 0.35813922572115053, 0.36223975650322193, 0.3716209871014673, 0.38851294995498714, 0.41496973383540675, 0.45215094110867804, 0.49946316910726307, 0.5540846559951464, 0.6116039289909055, 0.6676026193936148, 0.7188381367743165, 0.7633935395897689, 0.8002710849471123, 0.8291293617907249, 0.850742222701382, 0.8677987975048843, 0.88401223545741, 0.9006634686338543, 0.9145748449915754, 0.9213230023675636, 0.9190548339549635, 0.9041191934533418, 0.8686780226484245, 0.8112721348641649, 0.7404419935495038, 0.6654121246980814, 0.5917198304002949, 0.5218606649956807, 0.4566735357404951, 0.39630212119724884, 0.3407520569437498, 0.2902185724287463, 0.2452727895027993, 0.20690262484440503, 0.17633271532572337, 0.15451767630613944, 0.14138795641377788, 0.13545771288467245, 0.13428543535045034, 0.135259614965078, 0.1361397835626269, 0.13530736309902192, 0.13184651466792885, 0.12554780900523643, 0.11687901057536165, 0.10692834432002363, 0.09729666820798555, 0.0898986352008857, 0.08664241521853322, 0.08901399112845199 ], [ 0.36444097881402193, 0.3694121754287342, 0.3795812146295619, 0.39708092874304146, 0.42385373919741687, 0.460979023518988, 0.5078930938078592, 0.5619454215117577, 0.6188968016408614, 0.6743236072673082, 0.7248869152713198, 0.7686660769381674, 0.804760783269661, 0.8329258373360467, 0.8540051536384751, 0.8708659187200964, 0.8874806471404114, 0.9049065305221706, 0.918753624020366, 0.9229917369286189, 0.9154734816569734, 0.8942283252028475, 0.8535380596239167, 0.7929058118784624, 0.7205724338514932, 0.6453912184990332, 0.5725732547605333, 0.504257996074193, 0.44094030640773946, 0.3824858641859567, 0.32871130625176226, 0.2797090407356487, 0.2360209906032838, 0.19866801401155454, 0.16896051384444077, 0.1479677794673887, 0.1356955240514648, 0.130640472963224, 0.13030196147731943, 0.13202452365537976, 0.13354896068549282, 0.13325627729143275, 0.13024087661329675, 0.12430869348341833, 0.11594411131850735, 0.10625008937872071, 0.0968372522491402, 0.08962233224596872, 0.08650765638815272, 0.08897074556072915 ], [ 0.3707918958469658, 0.37662696257433864, 0.38756928353691994, 0.4056552719611931, 0.4327199552497416, 0.4697712878685988, 0.516284986300537, 0.5697812519259763, 0.6261770948950147, 0.6810284801597765, 0.7309022963449449, 0.7738932496358517, 0.8092215783385605, 0.8367421694477291, 0.8573335597463996, 0.8739863001214345, 0.8909057338713002, 0.9089144366635445, 0.9223701706757388, 0.9236087705998048, 0.9102461825793574, 0.8821684843803375, 0.8359837953942818, 0.7722202110922001, 0.698727207755415, 0.6238144105394381, 0.5522616672884209, 0.4858163823441187, 0.42462841616066, 0.36829644363189523, 0.3164604144720236, 0.269119719449603, 0.22679327942874472, 0.1905374692216295, 0.161748895665641, 0.14161388603601, 0.13021751558965333, 0.12603981798285813, 0.1265241715568799, 0.1289768132917435, 0.13112439767411943, 0.13135009414293763, 0.1287594240484492, 0.12317338281787726, 0.11509205401779021, 0.10563227268662234, 0.09641450216760883, 0.08935946165033093, 0.08636759566878616, 0.08891242540184052 ], [ 0.377183579299802, 0.383877037960975, 0.3955816224543676, 0.41423909892782773, 0.4415817082325916, 0.4785531820223315, 0.5246743238993884, 0.5776320085076683, 0.6334824868643562, 0.6877453858827202, 0.7368970872575196, 0.7790712342550632, 0.8136366218515676, 0.8405555710434088, 0.8607039590634047, 0.8771313050907047, 0.8942380126679834, 0.9125962008966633, 0.9252820928949901, 0.9230072633508282, 0.9032405060436813, 0.8678872514029683, 0.8160255201998432, 0.7492462026333974, 0.6749383729887571, 0.6007146974046322, 0.5308197989011468, 0.46657120594446255, 0.4077723016482243, 0.3537663459470054, 0.30402982404207113, 0.25847967795936366, 0.21761844458919088, 0.1825404793142995, 0.15472803722618245, 0.13548527810694644, 0.12498015855705047, 0.12167724561848992, 0.1229686129584523, 0.12612875555912884, 0.12887495124383797, 0.12959501233699988, 0.1274062761769923, 0.12214432193847646, 0.11432387720343662, 0.10507471236926647, 0.096027190039491, 0.08910797312557628, 0.08621963650803943, 0.08883615787283683 ], [ 0.383607636097371, 0.3911554934002609, 0.4036150449118204, 0.42283611550787137, 0.4504529916081989, 0.48735068394519365, 0.5330967843858692, 0.5855373464332508, 0.6408499743170143, 0.6945011892996907, 0.742882052153155, 0.7841931109060349, 0.8179847242461383, 0.844338413034578, 0.8640900042738835, 0.8802745494704001, 0.8974368505529482, 0.9158741082299366, 0.9273602745946361, 0.9210344673646482, 0.8943439304921175, 0.8513549761386653, 0.7936979491038204, 0.7240419301313878, 0.6492628377900069, 0.5761439943501897, 0.5082954353930953, 0.4465663740208099, 0.3904117588305328, 0.3389312808146631, 0.2914517554459745, 0.24781877186784296, 0.20852540223891458, 0.17470632655588592, 0.1479278975877092, 0.12961101606694903, 0.12000919815071631, 0.1175735001121403, 0.11965104290678608, 0.12349195134870583, 0.12680898905992066, 0.1279969457005834, 0.12618548704279642, 0.12122413286390943, 0.11364106918984684, 0.10457797600226548, 0.09567513811942752, 0.08886712057871105, 0.08606264959225118, 0.08874059831984704 ], [ 0.390055577013359, 0.3984554059291148, 0.41166642424577726, 0.43145009354538955, 0.4593477321200965, 0.4961894398371076, 0.5415874081726127, 0.5935359420823557, 0.6483151376016688, 0.7013208048222448, 0.7488654540004722, 0.7892486748883354, 0.8222402860751565, 0.8480580304743026, 0.86746227528846, 0.8833923674411396, 0.900472395843355, 0.9186874283734989, 0.9284937839886531, 0.9175572848806698, 0.8834682451405756, 0.8325652858816506, 0.7690587381061798, 0.6966903452329304, 0.6217807561271061, 0.5501724325972177, 0.4847491454959611, 0.4258541880845649, 0.37259183471082213, 0.3238300566462505, 0.2787600519066935, 0.23716744069817247, 0.1995429206729722, 0.16706371516379848, 0.14137779191684685, 0.12401952663195237, 0.11532948543058397, 0.1137482348667398, 0.11658620048399437, 0.1210771864420831, 0.12493430021132335, 0.1265614685583213, 0.1251010134379108, 0.12041559770234189, 0.11304556144012201, 0.10414338078363838, 0.09535922254896845, 0.08863746664801653, 0.08589697716360467, 0.08862593483232839 ], [ 0.39651871333459554, 0.40576964797159143, 0.41973236617421666, 0.4400843505092137, 0.4682790565298124, 0.5050938945676596, 0.5501797419848595, 0.6016646957404213, 0.6559113788488568, 0.7082265254737882, 0.7548526445509766, 0.7942243551033958, 0.8263733641709903, 0.8516765872968138, 0.8707879003092157, 0.8864637946604457, 0.9033267488878658, 0.9209953876148019, 0.9285949421765342, 0.9124681163170759, 0.87055379266697, 0.8115362120436939, 0.7421876505813993, 0.6672971417004308, 0.5925938123908884, 0.5228873969577754, 0.46025378827263014, 0.40449506571710114, 0.35436263057721545, 0.30850440682281693, 0.2659899989629679, 0.2265564939711146, 0.19069933599751854, 0.1596403735364995, 0.13510590001594602, 0.11873812005905149, 0.11096450468626795, 0.11021965583679949, 0.11378757963538966, 0.11889429214652003, 0.12325800948618881, 0.12529376246840385, 0.12415668146087666, 0.11972163746049358, 0.1125397150057641, 0.10377298471795349, 0.09508136745371742, 0.08842087857871883, 0.08572443002987773, 0.08849388604826958 ], [ 0.40298805413021876, 0.41309069978967455, 0.42780888748776513, 0.4487412398542419, 0.4772585668097601, 0.5140864107574623, 0.5589049492251396, 0.6099578929603134, 0.6636691149797488, 0.7152373365561547, 0.7608457022712491, 0.7991032536241849, 0.8303499051257688, 0.8551510567161881, 0.8740300399556616, 0.8894700068428651, 0.9059942741699964, 0.9227790989187397, 0.9276043242058649, 0.9056910159389571, 0.8555732623233556, 0.7883115135233977, 0.7131861448595236, 0.6359890478585756, 0.5618234799643425, 0.494392364303582, 0.43489382737428117, 0.3825571251713771, 0.33577902067929205, 0.2929987688341825, 0.2531781214468176, 0.21601689018088405, 0.18202226748157146, 0.1524626431665841, 0.1291387101629441, 0.11379242764127051, 0.10693584165834646, 0.10700415852676914, 0.11126721134585704, 0.11695201506133324, 0.12178649755875959, 0.12419856543272745, 0.12335615231026187, 0.11914528698566951, 0.11212630023005843, 0.10346956892922543, 0.0948445295075645, 0.08822051549354004, 0.08554827730664061, 0.08834769217706395 ], [ 0.40945420746536365, 0.4204104697100772, 0.43589110919936147, 0.45742166284135005, 0.4862956331477365, 0.5231863755105135, 0.5677908724238385, 0.618446307402211, 0.671614906731138, 0.7223682038932102, 0.7668431178475401, 0.8038653182474658, 0.8341321833436046, 0.8584333978759189, 0.8771473052786481, 0.8923931862309409, 0.9084809053161678, 0.9240420460160685, 0.925495059556166, 0.897188237701299, 0.838534626783884, 0.7629618305313929, 0.6821771722567735, 0.6029123953824302, 0.5296092968685269, 0.46480559156526896, 0.4087644793101039, 0.36011564535920343, 0.3169002919410635, 0.2773600194549929, 0.2403619609173847, 0.20557951358566767, 0.17353834239562005, 0.14555507286759917, 0.12350040789403405, 0.10920574959128937, 0.10326260426994349, 0.1041159765256, 0.10903546407068299, 0.11525790020556104, 0.12052532913518754, 0.12328012463496596, 0.1227028878954477, 0.11868966638288869, 0.11180846990735449, 0.10323661115820415, 0.09465267287994672, 0.08804080688005178, 0.08537322869021535, 0.0881920990344156 ], [ 0.41590728882766625, 0.4277201274448788, 0.4439729723108962, 0.4661246129188135, 0.4953967164837298, 0.5324092983017371, 0.5768610339908264, 0.6271562274704806, 0.6797705050822541, 0.7296293304707502, 0.7728395269320949, 0.8084876543869413, 0.8376794982387272, 0.8614710355621751, 0.8800932220851365, 0.8952148436867104, 0.9108022601316359, 0.9248086765204547, 0.9222749897612155, 0.8869662586760171, 0.8194826928749294, 0.7355853885058957, 0.6493050039388228, 0.5682318666607399, 0.4961071697679602, 0.43425868948395413, 0.3819707211440529, 0.3372524149105673, 0.2977897116632613, 0.2616371699699466, 0.22757983700724793, 0.19527495384030924, 0.16527294066996046, 0.13894004216470923, 0.11821223887187393, 0.10499830230856533, 0.09996082685125063, 0.10156686405386128, 0.10710087178574967, 0.11381819153513884, 0.1194791909470958, 0.12254215368217336, 0.12220011682736232, 0.11835794926076526, 0.11158972609446582, 0.10307825044284802, 0.0945107343237439, 0.08788742188299337, 0.08520540881543326, 0.08803333464458607 ], [ 0.4223368399010187, 0.43500995556042843, 0.4520469840667508, 0.4748467641265768, 0.504564735234377, 0.5417659102519141, 0.5861335635639983, 0.6361083885079717, 0.6881517977800555, 0.7370253817240761, 0.7788254903644354, 0.8129449734800357, 0.8409491910610076, 0.8642077593687918, 0.8828158977310352, 0.8979137166738738, 0.9129803926921567, 0.9251207444229128, 0.9179846492166404, 0.8750770211995753, 0.7984988137296313, 0.7063080713136057, 0.614734940834055, 0.5321293217757871, 0.46148769515861054, 0.4028951067830942, 0.3546261805442076, 0.31405498460301645, 0.2785140312112746, 0.2458810261694842, 0.21487059638792472, 0.1851332933018588, 0.1572499693234385, 0.1326374407314378, 0.11329190837376957, 0.1011863527916611, 0.09704291937691367, 0.09936583739850124, 0.10546999846002147, 0.11263775340489901, 0.1186518412280797, 0.1219877952107341, 0.12185080131782922, 0.11815332816760715, 0.11147388077920217, 0.10299924293525886, 0.09442457801278215, 0.08776722875546217, 0.08505232300248355, 0.08787907772068448 ], [ 0.4287317606294948, 0.44226922379139666, 0.4601040021364443, 0.4835821151894005, 0.5137984940175785, 0.5512612842719921, 0.5956200450939082, 0.6453167916952202, 0.6967676424737791, 0.7445546894115991, 0.7847873232458585, 0.8172101629802001, 0.8438979700130289, 0.866585132998712, 0.8852580878535805, 0.9004634948417428, 0.9150391284012687, 0.9250312305194673, 0.9126901563298578, 0.8616109053790346, 0.7756986421467239, 0.6752827866362144, 0.578652798846918, 0.4948026129030949, 0.4259344724638089, 0.3708685397943766, 0.3268519283996696, 0.2906158376464746, 0.2591429344521238, 0.23014381838206932, 0.20227335316257156, 0.17518390633578673, 0.1494916751950981, 0.12666442960897195, 0.10875311840337365, 0.09778124369992292, 0.09451725506670727, 0.09751899865505842, 0.10414734624709199, 0.11172001579621438, 0.11804607196893324, 0.12161958957064567, 0.12165760547002502, 0.11807897758578867, 0.11146501062903269, 0.10300490878127122, 0.09440093960562967, 0.08768824358895755, 0.08492281343915264, 0.08773841708064933 ], [ 0.4350802572714076, 0.44948609044661597, 0.4681330635670922, 0.4923217008473939, 0.5230921950775684, 0.5608940072258704, 0.6053242875233195, 0.6547873901297485, 0.7056185822846249, 0.752208457270416, 0.7907069760073783, 0.8212549505239821, 0.8464834632142892, 0.8685444634313678, 0.8873578940919841, 0.9028307488779015, 0.9169983268236065, 0.9245958966651314, 0.9064724866982306, 0.8466856996008439, 0.7512282505471628, 0.6426881426217967, 0.5412640973826469, 0.45646430447000486, 0.3896423764825095, 0.33834127539936626, 0.29877519171405487, 0.26703149222845673, 0.23974844023324976, 0.2144788071976469, 0.1898272244575825, 0.16545527418053163, 0.14201850211205025, 0.12103530339538338, 0.10460535232631563, 0.09478875275886456, 0.09238799322312774, 0.09602945891909265, 0.10313531230452677, 0.11106694517661841, 0.11766368483913692, 0.12143945012999702, 0.12162286538726386, 0.11813801486024988, 0.11156740607416937, 0.10310106998776458, 0.09444735890482503, 0.08765956721077195, 0.08482700457583192, 0.08762180079212678 ], [ 0.44136980885657773, 0.45664753461413254, 0.4761212645418509, 0.5010533813670663, 0.5324350551064728, 0.5706554483750239, 0.6152410454938915, 0.664516621812905, 0.7146954607745234, 0.7599700078799226, 0.7965619728859298, 0.8250506247586838, 0.8486659090363491, 0.8700293324949131, 0.8890503443258303, 0.9049734949694092, 0.9188671639723341, 0.9238627631669845, 0.8994156563087704, 0.8304360697906539, 0.7252592591222586, 0.6087265294604877, 0.5027929089020331, 0.4173402290821505, 0.3528157546630876, 0.3054824706307565, 0.27052800249002845, 0.24340155051149825, 0.22040426852879103, 0.19893987078130437, 0.17757106483151996, 0.1559748179630498, 0.13484899550886953, 0.11576146127381826, 0.1008539598317344, 0.09220958834093751, 0.09065518255039151, 0.0948973676173942, 0.10243419612528093, 0.11067904175478893, 0.11750548120843729, 0.1214486455526308, 0.12174856146634094, 0.1183334594481229, 0.11178551502759737, 0.10329397923531047, 0.09457210040842878, 0.08769130891232091, 0.08477623622816499, 0.08754097356054602 ], [ 0.44758715413802086, 0.4637393222529412, 0.48405369595484704, 0.5097617199445217, 0.5418110505770098, 0.5805291806051682, 0.6253547602666996, 0.6744897684171713, 0.7239779977557576, 0.7678141271667145, 0.8023254157266452, 0.8285687691513237, 0.8504098771729289, 0.8709886042737218, 0.890270109603621, 0.9068408271372227, 0.9206359683953664, 0.9228601782743483, 0.8915957737774396, 0.8130047260070623, 0.6979836698581593, 0.5736217412819294, 0.4634803482157526, 0.3776678204688171, 0.3156665167811757, 0.2724663703640271, 0.2422457970220902, 0.21982770803394902, 0.2011851800540092, 0.18358107979332905, 0.16554320287748903, 0.14676875139555523, 0.1279997541071678, 0.11085148141210488, 0.097500497114266, 0.09004029231428667, 0.08931510599770542, 0.09412004247371275, 0.1020422559971339, 0.11055536273553923, 0.11757126623090386, 0.12164778920579633, 0.12203629317850118, 0.118668190892671, 0.1121238816125939, 0.10359023966781, 0.09478406102723425, 0.08779449546090856, 0.08478298258356087, 0.08750890057810135 ], [ 0.45371830078320685, 0.47074600857089155, 0.4919134385645568, 0.5184279557696555, 0.5511988129235361, 0.5904906184774432, 0.6356384633070193, 0.6846791176933987, 0.7334334685293196, 0.7757065766204098, 0.8079660633545063, 0.8317819632952089, 0.8516858878593334, 0.8713796636871811, 0.8909555932472567, 0.9083739648054833, 0.9222672999721138, 0.9215851000766295, 0.8830721672262515, 0.7945354968848992, 0.6696089549100739, 0.5376162790013059, 0.42358269121627745, 0.3376941748146478, 0.27841208990466715, 0.23947046502233693, 0.21406597949000838, 0.19641273726702835, 0.18216629919793004, 0.16845626593914176, 0.15378118309439348, 0.13786195363101827, 0.12148542506725024, 0.10631128165599202, 0.09454321504826757, 0.08827404119338644, 0.08836077249116792, 0.09369218391456835, 0.10195581014541488, 0.11069357006572433, 0.11785986649402724, 0.12203683566102619, 0.12248725657904169, 0.11914490594709115, 0.11258708035791465, 0.10399671581376901, 0.09509266428282781, 0.0879809636621891, 0.0848607549909225, 0.08753967573378063 ], [ 0.459748558192053, 0.47765097835072134, 0.4996816200326507, 0.5270300778568673, 0.5605716905538372, 0.6005069354581533, 0.6460530709270695, 0.6950419154601485, 0.7430157387406301, 0.7836038481728983, 0.8134484985252597, 0.8346644088304742, 0.8524717823595138, 0.8711714375588755, 0.8910545695094473, 0.9095087043365484, 0.9236897710479358, 0.9199947433912871, 0.8738813454809693, 0.7751683564327005, 0.6403537225347185, 0.5009684480930642, 0.38336911387699374, 0.29767380091680995, 0.24127321950156988, 0.2066735928219044, 0.1861264639714939, 0.17325945895860317, 0.16342243007230495, 0.1536185900870526, 0.1423215157742267, 0.12927786181259138, 0.11531873647728641, 0.10214434243621318, 0.0919775929003489, 0.0869013350909037, 0.08778246085038988, 0.0936061510752233, 0.10216937566188966, 0.11109000018712967, 0.11836916031514744, 0.1226150840698943, 0.1231022247286565, 0.11976607530253891, 0.11317964643242207, 0.10452043597221239, 0.09550774042920618, 0.08826323460033358, 0.08502398607634953, 0.08764841174241755 ], [ 0.46566259497259266, 0.48443652512215596, 0.5073375345290888, 0.5355430014434512, 0.5698979877634671, 0.6105373084556334, 0.6565473350302152, 0.7055187346795612, 0.7526649720361215, 0.7914532285192586, 0.8187333954934228, 0.8371924439971501, 0.8527537072411356, 0.8703466052509082, 0.890530777639964, 0.9101785786080248, 0.9247991040117417, 0.918004594455679, 0.8640342306125655, 0.7550363595002461, 0.6104440730962242, 0.4639493167302791, 0.34311903504665237, 0.25786602846076323, 0.20447160793301405, 0.1742539954466662, 0.1585642098670308, 0.15046971484704919, 0.14502737533653098, 0.13912011572897076, 0.13119943732362216, 0.12103838209881113, 0.10951055942854293, 0.09835196621807818, 0.08979685286350547, 0.08591058732743251, 0.08756825211668462, 0.09385227475583835, 0.10267583673719094, 0.11173975254985669, 0.11909611941052689, 0.1233811880350022, 0.12388153115817258, 0.12053390040946388, 0.11390600262306982, 0.10516848663432887, 0.09603939217738566, 0.08865436761739076, 0.08528789237139156, 0.08785110938027385 ], [ 0.47144452176569157, 0.4910839693143651, 0.5148588238364009, 0.5439388449795832, 0.5791413816691233, 0.620533511355595, 0.6670586212530185, 0.7160346608170804, 0.7623082323680277, 0.7991932183473323, 0.8237779016406941, 0.839344921487886, 0.8525266111601046, 0.8689024863457484, 0.8893666919718369, 0.9103175162293086, 0.9254651404836708, 0.9154924113303352, 0.8535167794881011, 0.7342643430140167, 0.5801105924100763, 0.42683954055640394, 0.30311903326295075, 0.2185320538995948, 0.16822739428718347, 0.14238734174881207, 0.13151376708448914, 0.12814335532610555, 0.12705326723890797, 0.12501139333100975, 0.12044868312915835, 0.11316381742911485, 0.10406999131131989, 0.09493355052403685, 0.08799242500576498, 0.08528862628878742, 0.0877045177168565, 0.09441918483031775, 0.10346663307168613, 0.11263679313367103, 0.12003686038613715, 0.12433317146204192, 0.12482505646496578, 0.12145027092037519, 0.1147703839092925, 0.10594789981083763, 0.09669784607397769, 0.0891677921475933, 0.08566831226787341, 0.08816450261179609 ], [ 0.47707799980248466, 0.4975738147873262, 0.5222217170739297, 0.5521873017230032, 0.5882615082313458, 0.6304408456418464, 0.6775144771819104, 0.7265024598519736, 0.7718609540605431, 0.8067543232654695, 0.8285361467317669, 0.841103437396318, 0.8517942088917665, 0.866850455231601, 0.8875595036282679, 0.9098610963433499, 0.9255400382481949, 0.912305523746472, 0.8422938256379674, 0.7129691399826026, 0.5495858085834573, 0.3899260001051353, 0.26365929171585, 0.17993161718856499, 0.13275649447572757, 0.1112447406504441, 0.10510584894884378, 0.10637725563051303, 0.10956992001258947, 0.11134106083679562, 0.11010127480049425, 0.10567281002529971, 0.09900445224474563, 0.09188685658322537, 0.08655435265772049, 0.08502111996916184, 0.0881763510462712, 0.0952941340421265, 0.10453195954984973, 0.11377406898712628, 0.12118670431351464, 0.1254684497754287, 0.12593221809479282, 0.12251672332299668, 0.11577676064700271, 0.10686553449094238, 0.0974932901161506, 0.08981711576289797, 0.08618151573411459, 0.08860587595268443 ], [ 0.4825463753179079, 0.5038859424572909, 0.5294013243421594, 0.5602560959887267, 0.5972146985060973, 0.6401993635287742, 0.6878347726754072, 0.7368257841894869, 0.7812290447867071, 0.8140602068000139, 0.8329598935020415, 0.8424524128227109, 0.8505684277685519, 0.8642141787328281, 0.8851159060091124, 0.9087463384189636, 0.9248654407528125, 0.908269851410805, 0.8303157628022737, 0.6912609447143032, 0.5191018533783283, 0.3534981421680862, 0.2250295106757731, 0.14231932274700865, 0.09826783748275614, 0.08099077132057042, 0.07946595243265131, 0.08526437402311005, 0.09264421237173093, 0.09815546525186236, 0.100187323388647, 0.09858229658541418, 0.09431978749572667, 0.08920826121504177, 0.08547163815583192, 0.08509293259276429, 0.08896794056790791, 0.09646330522279967, 0.10586096912500231, 0.11514362980776827, 0.12254024256094143, 0.12678385580989526, 0.1272019633368917, 0.12373440137195635, 0.11692876153812382, 0.1079279538611384, 0.0984356988963424, 0.09061590730744629, 0.08684398186482467, 0.08919284993353904 ], [ 0.4878328397453291, 0.5099998391136578, 0.536371977801912, 0.5681115104749193, 0.6059548376346042, 0.6497453147683856, 0.6979341491066345, 0.7469022575604377, 0.7903113603214886, 0.8210291803091685, 0.8369993432730177, 0.8433790421465797, 0.8488683993705303, 0.8610272131377595, 0.8820482273635278, 0.906910592687074, 0.9232784092110534, 0.9032008194387721, 0.8175275186901052, 0.6692453770046528, 0.488888016090294, 0.31784387100664463, 0.18751421880834362, 0.10594064743388776, 0.06496055199022666, 0.05178156528922451, 0.05471304668012189, 0.06489286522106918, 0.07633950835854242, 0.08549830985607743, 0.09073484997680337, 0.09190747427532786, 0.09002037007864827, 0.08689298450812177, 0.08473253305198869, 0.08548842175657678, 0.09006288732952694, 0.09791209366532783, 0.10744197213094564, 0.11673675281203266, 0.12409140704469657, 0.12827566965330117, 0.12863276554201997, 0.12510401896050305, 0.11822959771601449, 0.10914130034247238, 0.09953464846723081, 0.09157745492871094, 0.08767214004346946, 0.08994313000110787 ], [ 0.49292061549438027, 0.515894858960539, 0.5431076119774694, 0.5757189680459225, 0.6144343126577123, 0.6590127360196083, 0.7077245714544749, 0.7566264864175195, 0.7990023856931953, 0.8275760035288271, 0.8406041090828601, 0.8438731316043635, 0.8467190836543866, 0.85733044594794, 0.8783719700928184, 0.9042906366010512, 0.920616678048059, 0.8969173015271408, 0.8038790246972172, 0.6470257397932977, 0.4591678608391362, 0.2832448008079214, 0.1513874230116643, 0.07102771930297402, 0.033021176083536496, 0.023762980739606476, 0.030958351660677175, 0.045345261827859806, 0.060715124183127966, 0.07341033116381357, 0.081769624870768, 0.08566177590573298, 0.08610919921022808, 0.08493528973888764, 0.08432477840865393, 0.08619168367364805, 0.09144447172479853, 0.09962536017583379, 0.10926262668473863, 0.11854406752846358, 0.12583354313652928, 0.1299396517095649, 0.13022262356096992, 0.12662582609669482, 0.11968198941051733, 0.11051117093539087, 0.10079912418424197, 0.09271450031024675, 0.08868207038740372, 0.09087421361512693 ], [ 0.49779316707793975, 0.521550514840942, 0.5495821734118754, 0.5830436491006366, 0.6226050115026425, 0.66793510051325, 0.7171178520762618, 0.7658930332962209, 0.8071950622610414, 0.8336139804659484, 0.8437243641367251, 0.8439268579566673, 0.8441496144017385, 0.8531696561267534, 0.8741045945437639, 0.9008237969666825, 0.9167263955153268, 0.8892599386839679, 0.789336003898731, 0.6247049706090757, 0.4301556113354476, 0.24997065727499368, 0.11690657746550615, 0.03779500352476539, 0.0026209794542825238, -0.0029310869336002243, 0.008304228902415, 0.026697735774691922, 0.0458258479656003, 0.06192900927922762, 0.07331502646485111, 0.07985685304106704, 0.0825879917331086, 0.08332865474507889, 0.08423580111589857, 0.0871867533117453, 0.09309587489438276, 0.10158765311869733, 0.1113101162887552, 0.12055567763654251, 0.1277594835973428, 0.13177107827113121, 0.1319690643928848, 0.12829957865630892, 0.12128809675470997, 0.11204249575522651, 0.10223732596718682, 0.09403895264248507, 0.08988915947829235, 0.0920030496619596 ], [ 0.5024344374140303, 0.526946795337184, 0.5557700482073828, 0.5900511243185995, 0.6304193344758158, 0.676446952172334, 0.7260280640963219, 0.774599367298525, 0.8147837685301876, 0.8390573527558326, 0.8463121616948629, 0.8435344799095656, 0.8411914451442191, 0.8485932450225467, 0.8692652525595155, 0.8964525433252872, 0.9114782722277488, 0.8801141914084647, 0.7738894750533767, 0.6023868700261491, 0.4020516216482096, 0.2182726027647855, 0.0843059566310157, 0.0064350917861305534, -0.026086500079385067, -0.028180212772649038, -0.013156794562321772, 0.009019450675057494, 0.03172151842910831, 0.051088314777192, 0.06539192071472177, 0.07450256616965145, 0.0794572648945856, 0.08206591579594669, 0.08445287197238982, 0.08845776550894247, 0.09500036012213142, 0.10378339967955352, 0.113571312058099, 0.12276127751319488, 0.12986162208687524, 0.13376477893276528, 0.13386914902599933, 0.1301245125731051, 0.12304945634483189, 0.11373942295464945, 0.10385647662587782, 0.09556158895142164, 0.09130770871497751, 0.09334564360532294 ], [ 0.506829109290454, 0.5320645025839613, 0.5616464944881618, 0.596707982218371, 0.6378311810116168, 0.6844854585155592, 0.7343737834761745, 0.7826487747122554, 0.8216674975801505, 0.8438240094515269, 0.848322899669, 0.842692035333534, 0.8378763705928706, 0.8436500268693352, 0.863875003712621, 0.891131580136415, 0.9047872868170216, 0.8694323951199776, 0.7575622308524593, 0.5801763530943442, 0.3750370016056865, 0.18837525424727253, 0.05378972862981557, -0.02288515225754928, -0.05296759866934242, -0.05187872408956873, -0.03334284977111046, -0.0076279854628334975, 0.018446667604420486, 0.040918494681264295, 0.05801856200028466, 0.06960698142831256, 0.07671640991117645, 0.08113938610580529, 0.08496323087007396, 0.08998908249922288, 0.09714141927714359, 0.10619706778723081, 0.1160329181245936, 0.12515026169547927, 0.13213198500828027, 0.13591517523710317, 0.1359194814458622, 0.1320993230924361, 0.12496692515277474, 0.11560521341456909, 0.10566263996673875, 0.09729175129332457, 0.09295049615935591, 0.09491660102230681 ], [ 0.510962892247732, 0.5368856028781421, 0.5671880655500011, 0.6029824315839384, 0.6447968777962527, 0.6919918279236817, 0.7420801034815683, 0.7899531656397984, 0.8277532863885556, 0.8478385388042854, 0.8497168663776136, 0.8413970559630455, 0.8342345164080054, 0.8383868724323378, 0.8579569270090484, 0.8848344979585613, 0.8966236822748161, 0.8572391942282808, 0.7404110506615758, 0.5581786875812311, 0.34926790711913486, 0.16046716432597385, 0.025525373994491285, -0.05002780419800967, -0.07791024454401274, -0.07393671719734896, -0.05218338059040084, -0.02319095953136796, 0.006040231501723503, 0.031445899512581144, 0.05121051599945192, 0.06517637368942863, 0.07436375654909877, 0.08054095172902143, 0.08575418394696255, 0.09176539269157657, 0.0995028889452566, 0.10881330084715957, 0.11868159967720227, 0.12771182598713238, 0.1345623006694252, 0.13821632001152961, 0.13811622077553998, 0.1342221496543149, 0.12704063330755777, 0.1176421485972694, 0.10766055614528003, 0.0992370556363229, 0.0948283008034817, 0.09672860132204109 ], [ 0.5148228355100478, 0.5413935767938031, 0.5723730086865869, 0.6088448603651658, 0.6512760191840047, 0.6989125479974069, 0.7490803645349964, 0.7964356523786407, 0.8329599352919399, 0.8510356180887846, 0.8504607556807527, 0.8396483284084523, 0.8302924371524752, 0.8328459724880772, 0.8515355834473678, 0.8775576652530686, 0.8870121543901275, 0.8436187547677974, 0.7225245138671766, 0.5364979022061276, 0.32487057415914433, 0.134689621940547, -0.00036150707724313946, -0.07488616701446149, -0.10082516512661588, -0.094280777672332, -0.06961961725200849, -0.037624179117966894, -0.005464668499097769, 0.02269285275426325, 0.04498060501178203, 0.06121523606476342, 0.07239662951814141, 0.08026214781726193, 0.08681317708488223, 0.09377178500995931, 0.10206904045852849, 0.1116170278003441, 0.12150409379611615, 0.13043505940543354, 0.1371440649660779, 0.1406619369301898, 0.1404550964970518, 0.13649056688618033, 0.1292699471035057, 0.11985145476043024, 0.10985350194400534, 0.1014031311122604, 0.09694941430675974, 0.09879179250641801 ], [ 0.5183976680723767, 0.5455737467854415, 0.577181624828235, 0.6142683350407184, 0.6572321965622263, 0.7052004126191083, 0.7553175442904279, 0.8020327163803382, 0.8372219332335054, 0.8533635839118244, 0.8505289931996025, 0.8374457255352172, 0.8260715252815325, 0.8270615966070228, 0.8446356066938558, 0.8693208016009577, 0.8760235515884778, 0.8286982598560384, 0.70401741960812, 0.5152347041477805, 0.3019384845127862, 0.1111274126392835, -0.023789822806209115, -0.0973859201195495, -0.12164652254313724, -0.11285438344956589, -0.0856048610092266, -0.05089088166616906, -0.016040872065676948, 0.014677563424176365, 0.03933887596603136, 0.05772629605053525, 0.07081139784110191, 0.08029421823548999, 0.08812784965630283, 0.09599380261423196, 0.10482464760273247, 0.11459355115081171, 0.12448730374578187, 0.133309026569838, 0.139868603005195, 0.14324545990951343, 0.1429314266823255, 0.13890158207496062, 0.1316534433595038, 0.12223324631179022, 0.11224318316000725, 0.10379341036962686, 0.09931919149933977, 0.10111309679815395 ] ], "zauto": true, "zmax": 0.9285949421765342, "zmin": -0.9285949421765342 }, { "autocolorscale": false, "autocontour": true, "colorbar": { "tickfont": { "size": 8 }, "ticksuffix": "", "x": 1, "y": 0.5 }, "colorscale": [ [ 0.0, "rgb(255,247,251)" ], [ 0.14285714285714285, "rgb(236,231,242)" ], [ 0.2857142857142857, "rgb(208,209,230)" ], [ 0.42857142857142855, "rgb(166,189,219)" ], [ 0.5714285714285714, "rgb(116,169,207)" ], [ 0.7142857142857143, "rgb(54,144,192)" ], [ 0.8571428571428571, "rgb(5,112,176)" ], [ 1.0, "rgb(3,78,123)" ] ], "contours": { "coloring": "heatmap" }, "hoverinfo": "x+y+z", "ncontours": 25, "type": "contour", "x": [ 1e-06, 1.3011511650442548e-06, 1.692994354296022e-06, 2.2028415765056147e-06, 2.866229883678204e-06, 3.729398352432554e-06, 4.852511011181743e-06, 6.3138503555892e-06, 8.215273746089953e-06, 1.0689313005882424e-05, 1.390841207112662e-05, 1.809694657026198e-05, 2.354686311364001e-05, 3.063802837345029e-05, 3.986470631277378e-05, 5.1870009063012666e-05, 6.749072272319499e-05, 8.781563250096393e-05, 0.00011426141253772724, 0.00014867137004306603, 0.00019344392634026088, 0.0002516997901283655, 0.0003274994751669172, 0.0004261263236648159, 0.0005544547624925005, 0.0007214294601814526, 0.000938688782612345, 0.0012213760031100258, 0.0015891948094037057, 0.002067782677737912, 0.0026904978401970136, 0.0035007443993213955, 0.004554997653699184, 0.005926740503884541, 0.007711585311544345, 0.010033938212454078, 0.013055670395116691, 0.01698740074503987, 0.02210317627048227, 0.028759573555516536, 0.03742055263793628, 0.04868979566145066, 0.06335278435066323, 0.0824315491666629, 0.10725590623460621, 0.13955614735503497, 0.18158364372009145, 0.23626776957937787, 0.3074200836506151, 0.4 ], "xaxis": "x2", "y": [ 0.0, 0.02040816326530612, 0.04081632653061224, 0.061224489795918366, 0.08163265306122448, 0.1020408163265306, 0.12244897959183673, 0.14285714285714285, 0.16326530612244897, 0.18367346938775508, 0.2040816326530612, 0.22448979591836732, 0.24489795918367346, 0.26530612244897955, 0.2857142857142857, 0.3061224489795918, 0.32653061224489793, 0.3469387755102041, 0.36734693877551017, 0.3877551020408163, 0.4081632653061224, 0.42857142857142855, 0.44897959183673464, 0.4693877551020408, 0.4897959183673469, 0.5102040816326531, 0.5306122448979591, 0.5510204081632653, 0.5714285714285714, 0.5918367346938775, 0.6122448979591836, 0.6326530612244897, 0.6530612244897959, 0.673469387755102, 0.6938775510204082, 0.7142857142857142, 0.7346938775510203, 0.7551020408163265, 0.7755102040816326, 0.7959183673469387, 0.8163265306122448, 0.836734693877551, 0.8571428571428571, 0.8775510204081632, 0.8979591836734693, 0.9183673469387754, 0.9387755102040816, 0.9591836734693877, 0.9795918367346939, 1.0 ], "yaxis": "y2", "z": [ [ 0.2964429154610283, 0.2691991120178124, 0.23401844678374015, 0.19014427930586467, 0.13793524320155356, 0.0800893076271871, 0.03013748872135224, 0.05415431837413504, 0.10017620151118836, 0.13668484525761482, 0.15946853544870773, 0.16640478825456836, 0.1567780526685301, 0.13131204843395639, 0.09264535112466821, 0.0474472772738628, 0.0245664652126016, 0.04901889463393918, 0.06284463989388094, 0.05758457899701082, 0.0382401112843547, 0.022886646599979785, 0.03513513487207187, 0.04250998297231618, 0.0307917617875621, 0.03011097682528225, 0.07546147353630968, 0.12877627345421697, 0.17806652738606335, 0.21900868234216136, 0.2503003432880613, 0.27243264151191443, 0.28698036011530836, 0.2960970353940374, 0.3020665085561794, 0.30684364866388963, 0.3116466833118993, 0.3167570396331889, 0.32161631627137094, 0.3251264497383424, 0.32595660725021114, 0.32272362766395213, 0.31403735933094984, 0.29847910047160214, 0.27459817684011345, 0.2410036283747648, 0.1966245332477149, 0.1412451240715654, 0.07677987784379109, 0.02370916604616555 ], [ 0.2960409050558506, 0.2690943975897392, 0.23435271369864002, 0.19106867301614686, 0.13955478557248077, 0.08217535866486923, 0.029046531267392782, 0.04733281857835116, 0.09367420311368731, 0.1309548865289035, 0.1546321651472565, 0.1624205933331198, 0.15364701482821191, 0.12914030743040808, 0.09162464883172527, 0.04788129619373224, 0.02529845239703231, 0.047330327992030345, 0.06000833554814996, 0.05475880127942355, 0.03657916325856846, 0.021464487322327228, 0.03217340823070064, 0.039600909179849084, 0.02966062658431682, 0.03250538238675302, 0.07712639737532961, 0.12956584496407952, 0.17810777984422413, 0.21834686502376854, 0.24892880847919058, 0.2703286662475713, 0.28414765647489015, 0.29261139451814017, 0.29810766070598904, 0.302688351234713, 0.3076118695058998, 0.3131173050290163, 0.3185422578635819, 0.32267159150253916, 0.3240841898029908, 0.3213476673991815, 0.3130587317411226, 0.29781000061035673, 0.2741765155479753, 0.2408024109966829, 0.19666459427917296, 0.14163607490041297, 0.07794972699302352, 0.027805996509473314 ], [ 0.29567126201091054, 0.26908906707423996, 0.23489023920813162, 0.1923561745674375, 0.1417960265977422, 0.08539526479487433, 0.031053786311787266, 0.041025515943390586, 0.08723267373311734, 0.1252634084511325, 0.1498425096289149, 0.1585065886835312, 0.1506723545643653, 0.1273312383114321, 0.0913891449145716, 0.05005605528173994, 0.028867753551601812, 0.046723732327774395, 0.05754702795924603, 0.052202442418054794, 0.03565089236685143, 0.021465488381883602, 0.02982870955406089, 0.03751083273261487, 0.030991319588743974, 0.03788781857146841, 0.08041712764931205, 0.13130988726322476, 0.17872468387555074, 0.21801563387089415, 0.24771325739245503, 0.2682454344639024, 0.28122466982159544, 0.28894527642243106, 0.29390472480908364, 0.2982606872200071, 0.3033144331481241, 0.3092545218675308, 0.3152998036144712, 0.3201052044682538, 0.3221532667773491, 0.3199631912754186, 0.31212450887472404, 0.2972514506802736, 0.27396075739114123, 0.2409585570164236, 0.1973229221948198, 0.14315212525323343, 0.08152243766298584, 0.03745636323941507 ], [ 0.2953165455836463, 0.2691576918284603, 0.2355908247948009, 0.19393731606778958, 0.14452517009376864, 0.08943525211729128, 0.035194046925368094, 0.03526472604435363, 0.08085836480482207, 0.11963596794401664, 0.14510917823018554, 0.15464766963330637, 0.14781193008764504, 0.12580377467982773, 0.09176294225080427, 0.05338144422131133, 0.033816658247737726, 0.046935034794934376, 0.055334622294484784, 0.04976115477904665, 0.035147982024432846, 0.022286593611256605, 0.027920503787958233, 0.03616473157851701, 0.03418829711766007, 0.04490927685558112, 0.0850045517186865, 0.13390084341855424, 0.17987350639453073, 0.21799524895191008, 0.24664371907981872, 0.2661760222357891, 0.278203553974961, 0.28508767248344435, 0.28944339812213676, 0.29354523830526075, 0.29874106650353227, 0.3051596424853209, 0.31188423819216526, 0.31742554913047405, 0.3201633796360947, 0.31856956702658346, 0.3112326839633958, 0.29679882158662463, 0.2739418100998055, 0.241454882346085, 0.19856489268482932, 0.14570596692911508, 0.08709215656547395, 0.049289172618084465 ], [ 0.2949581251163658, 0.26927317643630455, 0.23641191538206852, 0.19573962281833607, 0.14760711465150994, 0.09400134935987421, 0.040441067200894326, 0.030135238187201343, 0.07458608804106114, 0.11411289406095108, 0.1404460050618779, 0.1508274426786722, 0.14501869788621238, 0.12446705277156522, 0.09254984688403821, 0.05728735433229193, 0.039110517094022176, 0.047663660478008164, 0.0532530018759884, 0.047297958809491884, 0.03479135470339662, 0.023387930826813497, 0.02629313161234119, 0.03547831397223217, 0.038524359682594184, 0.05265165985790587, 0.09054257177383755, 0.13721167377568078, 0.1815006857552514, 0.21826137852138652, 0.2457083649664311, 0.264113074740597, 0.275076637159657, 0.28102776706771115, 0.28470930966427865, 0.2885264075157774, 0.29387854802045443, 0.30082413718557005, 0.3082916236231911, 0.31463162662161426, 0.31811454323430066, 0.31716621601862227, 0.3103807217324249, 0.29644607311736604, 0.27410763729199344, 0.24226820992347783, 0.20034277481144241, 0.14917648893747756, 0.09416742088229027, 0.0618302405561495 ], [ 0.2945764152486239, 0.2694072694201351, 0.2373097477196594, 0.19769038267798397, 0.15091296461059064, 0.09884454183461346, 0.046119228183598926, 0.025841831997778144, 0.06849187092049587, 0.10875076343298212, 0.13587075520130315, 0.14702845037659756, 0.14224224034609426, 0.12322533833576922, 0.09355250718636565, 0.0613183624181256, 0.044178731741916076, 0.048627258571040013, 0.05120504846778247, 0.044707853416394744, 0.03437283800571686, 0.024430568027231873, 0.024851528908728167, 0.035372072015272676, 0.04344117324906435, 0.06060344798838095, 0.09671859991605168, 0.14110740209480205, 0.1835459065571652, 0.2187861086008133, 0.24489394677972295, 0.26204909518820224, 0.271836677072531, 0.276755152501381, 0.2796881645088357, 0.2831885220981584, 0.28871387521717673, 0.2962401739488121, 0.3045189795652788, 0.3117233182585488, 0.3160073392155453, 0.3157526791394651, 0.3095656265399682, 0.2961858701337828, 0.27444352256042565, 0.2433700846560921, 0.20259814946146354, 0.15342086066272526, 0.10228139023601883, 0.07448566623448297 ], [ 0.29415111179945236, 0.2695310613008063, 0.2382404178977204, 0.1997189908627523, 0.15432516755595058, 0.10376825051513913, 0.05186482689997023, 0.02278608870020859, 0.06270688712819107, 0.10362228635303192, 0.13140431327116453, 0.14323235309496735, 0.13943036734185257, 0.1219827834952238, 0.0945871430062659, 0.06514431647080954, 0.048717096874031945, 0.04959304237458699, 0.04912392652938988, 0.041927802076225894, 0.03376749960964873, 0.025254698449495114, 0.023574956485036633, 0.035777085275188907, 0.048588166699305074, 0.06848979868504168, 0.10327523298981864, 0.1454549168886403, 0.18594524002087956, 0.21953904994526893, 0.24418628306041132, 0.25997676339512776, 0.26847714637907993, 0.27226007531085655, 0.2743659093241645, 0.277515949796415, 0.2832344178719417, 0.29140082509803156, 0.30056448474304265, 0.30870153568327147, 0.3138430137718355, 0.3143286875164859, 0.3087840226388398, 0.2960097279443288, 0.27493240052774576, 0.2447276454779729, 0.20526469301391526, 0.15828646624578635, 0.11104293018678081, 0.08697478518690008 ], [ 0.2936614205836939, 0.2696154513598888, 0.23916082265055502, 0.20175877467588074, 0.1577403672664597, 0.10862510373448718, 0.05750176755962771, 0.021537728682633532, 0.057428966004694174, 0.09881393377780262, 0.12706936125629736, 0.13942008795745964, 0.1365306971870293, 0.12064759697194245, 0.09549282245416386, 0.06853780541931409, 0.05255975623888049, 0.05038659666117558, 0.046978150672078875, 0.0389428425770432, 0.03292696938855037, 0.025815182619848075, 0.022505496925195122, 0.036631778202820375, 0.053762950120742344, 0.07616245915562322, 0.110012525932169, 0.15013010175406138, 0.1886340626111399, 0.2204884698689212, 0.24357077329080826, 0.257889276829884, 0.26499254788458176, 0.267533716826316, 0.2687289215884241, 0.2714932293559787, 0.277428094396067, 0.28630030474586615, 0.29642770099768423, 0.30556838076559195, 0.311623578234639, 0.31289423654670906, 0.30803224454318956, 0.2959081820121716, 0.27555523914438135, 0.24630459395678464, 0.20827103255372192, 0.1636208268858366, 0.12014433000399813, 0.09914034633015492 ], [ 0.2930862724901571, 0.2696315685082058, 0.24002944592241035, 0.20374827731203454, 0.16107036814061368, 0.11330882321534806, 0.06295341036251322, 0.02250599527338812, 0.052923827135566, 0.0944207055114139, 0.12288862757825708, 0.13557204157842342, 0.1334921428360724, 0.1191353936584723, 0.09613599002882163, 0.0713480981930971, 0.05561632647740439, 0.050887421750085565, 0.04477256885727943, 0.03578970186082946, 0.03186452404148445, 0.026124814076384978, 0.02171259152968834, 0.03787454560195468, 0.0588537496357955, 0.08354278541303312, 0.11678125963182694, 0.15502222692374693, 0.19154955222676215, 0.2216023830339784, 0.24303291838839408, 0.2557807062813038, 0.26137875845160013, 0.2625685120069453, 0.2627642255847632, 0.26510521619523886, 0.271283574978467, 0.2809342415680889, 0.2921098213039263, 0.3023273139858235, 0.3093519106193778, 0.31144966149673725, 0.30730643517289447, 0.29587097645788135, 0.2762914561239469, 0.24806219900912088, 0.21154342736435114, 0.16927871040964226, 0.12934987952425486, 0.11088153216182185 ], [ 0.29240451946697826, 0.26955113616116727, 0.24080697845730342, 0.20563203747191527, 0.16424171992433087, 0.11774479091069183, 0.06819049123338028, 0.025540760032835806, 0.04950123061055351, 0.09053775536321487, 0.11888287181226455, 0.13166828613549575, 0.1302662555643359, 0.11737165830219991, 0.09641163431727748, 0.07348071657437752, 0.05784168416887153, 0.051019351718767286, 0.04254539995069675, 0.032558962420812985, 0.030637422642382544, 0.02621370672041473, 0.021241461574386184, 0.039439181474233004, 0.0638025602006946, 0.09059273902160779, 0.1234736850089205, 0.16003604227046964, 0.19463265564013224, 0.22284954735491444, 0.2425588273461812, 0.2536463578444835, 0.2576334005411964, 0.25735851132806326, 0.2564597392250277, 0.25833724433041544, 0.2647905160474537, 0.2752999923150953, 0.2876139428967749, 0.29898332945107436, 0.30703185587441995, 0.30999571272970466, 0.30660264923185204, 0.29588726545766125, 0.2771193523701294, 0.24996028346415075, 0.21500810673501758, 0.17512648312603749, 0.13848013947577956, 0.12212718277282295 ], [ 0.29159510751440854, 0.26934677551697767, 0.24145677231925955, 0.20736093934231142, 0.16719442013387945, 0.12188113133436992, 0.0732008983116228, 0.03006185920148522, 0.04744977695597566, 0.0872492669067245, 0.11506884486851073, 0.12768893602726708, 0.12680840561932877, 0.11529338124580861, 0.09624243580723563, 0.07488327832531393, 0.05922084581867332, 0.050740406768673946, 0.04036113719494559, 0.02939532983702056, 0.0293280518548884, 0.026105169636749106, 0.02107045993749901, 0.041257604861594896, 0.06858426141412871, 0.09729948064009082, 0.1300147010735881, 0.1650921880463643, 0.19782950267772892, 0.22420032605025933, 0.24213569186861497, 0.25148313261364674, 0.2537562399668116, 0.25189979179410577, 0.2498045570539239, 0.2511753058420058, 0.25793983190359115, 0.26939700251439125, 0.28294536627206346, 0.29554313399809545, 0.30466832219161466, 0.3085336284517445, 0.30591695915769074, 0.2959458215995307, 0.2780165463853242, 0.251958148571769, 0.21859317413057872, 0.1810442249886941, 0.1473978934879204, 0.13282372603832088 ], [ 0.29063722426606836, 0.268992245761601, 0.2419451432814437, 0.2088922269602992, 0.16988015829787967, 0.12568113311564294, 0.07797253850163474, 0.035464796604444286, 0.04693642533931044, 0.08461600685330363, 0.11145751489346037, 0.12361468389788764, 0.12307880387650572, 0.11284999468605086, 0.09557688716417273, 0.07553609865891756, 0.05976105780136028, 0.05003403838792305, 0.03829894831632698, 0.026492014960615304, 0.0280240111396271, 0.025808338623905643, 0.021120783551944668, 0.043269544795278364, 0.07319531762742458, 0.1036666482735804, 0.13635442634737957, 0.17012650657294323, 0.2010923017478338, 0.22562739218700023, 0.24175221360341403, 0.24928987523322801, 0.2497496079637338, 0.24619092463034098, 0.24278927660229593, 0.2436062494557261, 0.2507240111836488, 0.263227222049046, 0.2781119202011756, 0.29201532697551774, 0.302267370325424, 0.3070652027465627, 0.30524556095903393, 0.2960352455145543, 0.27896039569950704, 0.25401540495759684, 0.2222300564015766, 0.18692626037119006, 0.15599723047415331, 0.14292912320656725 ], [ 0.28951042015097206, 0.2684626232221672, 0.24224154157465297, 0.21018928160907888, 0.17226043183857317, 0.12911730697354573, 0.08248471186015056, 0.04129397472593754, 0.047923931527451794, 0.08266407199752357, 0.10805285666564217, 0.11942757057808834, 0.11904338843542756, 0.11000376476910233, 0.09438700451945106, 0.07544599762091452, 0.0594876040846929, 0.04890244950545851, 0.036436809453299975, 0.024068854154101562, 0.026798127282617153, 0.025325948906162823, 0.021313684838264835, 0.0454348486135803, 0.0776476460211408, 0.10970902011630812, 0.1424622410235261, 0.17508871561939154, 0.20437978637404922, 0.22710626597781017, 0.24139897165383822, 0.24706770219619487, 0.24561884485305469, 0.24023350896760007, 0.23540637781247367, 0.23561800021960014, 0.24313748833889404, 0.2567955847213975, 0.27312431192686293, 0.2884105762573799, 0.29983629245288507, 0.3055928465897295, 0.3045848773265694, 0.2961441715977821, 0.27992839400077896, 0.2560926910721819, 0.2258545261098741, 0.1926806922108352, 0.16419551949587596, 0.15240952578829217 ], [ 0.288194703396146, 0.2677344242066682, 0.2423186156590074, 0.21122125481042095, 0.17430476982605644, 0.13216710485182492, 0.08670519281151996, 0.047228515584014606, 0.05017252435766959, 0.08137785666829395, 0.10485145528621331, 0.11511203518011062, 0.11467461518713122, 0.10672979311768621, 0.09266595831795518, 0.07464215176178135, 0.05844173512466407, 0.04736218238039032, 0.03483352934304846, 0.022318973923338842, 0.025692005519639, 0.02467287221757966, 0.02163074563091885, 0.04774297442907779, 0.08196487625086132, 0.11544892118730458, 0.14832207607980602, 0.1799407685639502, 0.20765729736847072, 0.2286156864991883, 0.24106872116598152, 0.2448203004070786, 0.24137276123334894, 0.23403278284121118, 0.22765066888930297, 0.2271998028598406, 0.2351770838764157, 0.25011056249616204, 0.2679965002432957, 0.284741784802507, 0.29738367670400756, 0.30411963951046367, 0.30393165555587426, 0.29626146531210545, 0.28089853556774425, 0.25815227144367625, 0.2294073543308037, 0.19822838791703526, 0.1719276270831987, 0.16123726085208953 ], [ 0.2866706102040182, 0.2667856781538127, 0.24215219489966294, 0.21196263655177897, 0.175989217679719, 0.1348101744646747, 0.09059092898318374, 0.05303520278665345, 0.0533245633324739, 0.08069956734111886, 0.1018430742941631, 0.1106562818125693, 0.10995220297201602, 0.10301576547620028, 0.09042576106910684, 0.07317317670685919, 0.056679948361124256, 0.04544198976756433, 0.033513570456651, 0.021324091220989327, 0.02470930229720431, 0.023899970212726062, 0.022151804208017097, 0.050215688147735735, 0.0861793061874921, 0.12091352089243029, 0.15392867399679996, 0.18465511258439163, 0.21089658617375395, 0.2301378279636308, 0.24075661669246384, 0.24255418598258538, 0.23702411053300915, 0.2275983249806071, 0.21951981715355257, 0.21834249230465583, 0.226842532208663, 0.2431848067650816, 0.2627460870269165, 0.28102424063686576, 0.2949194531262622, 0.3026493696045077, 0.3032830580404127, 0.2963764083611567, 0.2818496415167275, 0.2601585161808906, 0.23283466380821535, 0.20350172309875816, 0.17914175889704126, 0.169389517048439 ], [ 0.2849192522950194, 0.2655959588102247, 0.24172121589218648, 0.21239282184542385, 0.17729516665670667, 0.1370269376435349, 0.09409074413971437, 0.05853555242963685, 0.057004052569847426, 0.08053569510413852, 0.09901219978731146, 0.10605399102436126, 0.1048638945510392, 0.0988615658235144, 0.0876950368387878, 0.07110485177522857, 0.05427421293202878, 0.043182884789624204, 0.03246084098250751, 0.02099340864537698, 0.023824159864483534, 0.023117593723902402, 0.02305589802669467, 0.05290146108498348, 0.09032862631971411, 0.12613257411442486, 0.15928458335016626, 0.18921297318156466, 0.21407541748082082, 0.2316583762798763, 0.24046035659915443, 0.2402789125186471, 0.2325900636170566, 0.22094486293875323, 0.21101499108314528, 0.2090387962684468, 0.21813712332348992, 0.2360358904671912, 0.25739471974668066, 0.2772757415155246, 0.2924549165508214, 0.30118655970413555, 0.30263674336789986, 0.29647886886002134, 0.2827616450634618, 0.26207826987371935, 0.2360880530231855, 0.20844327407424623, 0.18579644749809332, 0.17684742641472861 ], [ 0.2829223446412888, 0.2641463815543279, 0.24100761436977713, 0.2124957210606067, 0.1782085573450039, 0.13879823894222018, 0.09714889612639827, 0.06358736709731677, 0.060878510767577325, 0.08076863082508628, 0.09634042320763617, 0.10130639928214234, 0.09940630800399597, 0.09427885838551407, 0.08451683865686867, 0.06851801682034916, 0.05131287682439819, 0.04064010420432676, 0.031624776708619996, 0.021103330138553075, 0.023004572415343826, 0.022510193239831593, 0.024573538515140762, 0.05586257556044001, 0.09445209048433209, 0.1311363908456842, 0.16439770895536585, 0.1936027382850199, 0.21717703795383625, 0.23316648477034024, 0.24018024695693502, 0.23800721713754658, 0.22809267163716426, 0.21409320462534523, 0.20214165095174866, 0.19928367701965, 0.20906849525083035, 0.22868716579935763, 0.2519684932717737, 0.27351668376694505, 0.2900027216452786, 0.29973647768746736, 0.3019909363673363, 0.2965594544672482, 0.2836158353097701, 0.2638811223837723, 0.2391245553556275, 0.2130045681798647, 0.19185834406221464, 0.18359538505912118 ], [ 0.2806622166476985, 0.26241957484055395, 0.23999620079486855, 0.21225944250219592, 0.17871944577715332, 0.14010580379154167, 0.09970876368025634, 0.06807490070894344, 0.06467980524015897, 0.08127028692371409, 0.09380939633578039, 0.09642476851421981, 0.09358597495406593, 0.08929073143470441, 0.08094645599204413, 0.06550621937256884, 0.04790201761102163, 0.03788648978180506, 0.030935922381282555, 0.021401116410592922, 0.022243384586052108, 0.022326269861030007, 0.02689759112080449, 0.059158191911738725, 0.09858628445880116, 0.13595396512048633, 0.1692792954141537, 0.19781848115582013, 0.22018956571781628, 0.23465462912613333, 0.23991918517492597, 0.23575509164317007, 0.2235592971011127, 0.20707131035990844, 0.19291054223107307, 0.1890747230991531, 0.19964963018209705, 0.22116875175457745, 0.24649833361745882, 0.26977010303229243, 0.28757684542066797, 0.2983051291660031, 0.30134448579295087, 0.29660964722112904, 0.2843950609192411, 0.26553959633601626, 0.24190648781113774, 0.217144947399805, 0.19730057721314787, 0.1896205279548516 ], [ 0.27812181029049043, 0.2603996332075419, 0.2386745334870919, 0.2116760606280312, 0.17882189287249425, 0.1409332647483571, 0.1017162678112489, 0.0719035820552691, 0.06820219643780155, 0.08191471726846809, 0.09140400481005975, 0.09143326552802307, 0.08742070115988743, 0.0839314980864726, 0.07704915257238013, 0.06217270369637634, 0.04416690638601266, 0.035016440070013095, 0.030323662809551583, 0.021686917967365542, 0.021586050997334762, 0.022825452222609625, 0.030101028758093146, 0.06282808129120732, 0.1027609574161008, 0.14061128630472486, 0.17394226700578608, 0.20185864146535662, 0.2231053438474254, 0.2361183815237755, 0.2396825651716131, 0.23354176524687734, 0.21902298492801517, 0.19991551951871034, 0.18333897121031195, 0.17841260787988258, 0.18990013071429837, 0.21351866240958065, 0.24102033885500782, 0.2660616529482737, 0.28519251267132517, 0.29689923113248823, 0.30069690868168414, 0.29662191951208333, 0.2850838964176963, 0.26702926684721173, 0.24440123327921337, 0.22083056831426046, 0.20210151711279983, 0.19491231008532758 ], [ 0.27528466883890873, 0.2580720585463254, 0.23703279896614216, 0.21074147079483066, 0.1785141208344096, 0.1412675505081437, 0.10312286380373215, 0.07499710441080748, 0.07129275518513177, 0.08258787010452025, 0.08911536810919404, 0.08637225474499476, 0.0809414569788566, 0.07824676304114717, 0.07289778713265474, 0.05862635886181165, 0.04025297656171106, 0.0321489348823669, 0.0297291596163331, 0.021843818968670232, 0.021143564856090657, 0.024190187579430627, 0.03412090304718433, 0.0668815031601368, 0.10699549911863938, 0.1451299065578461, 0.17839987941577104, 0.20572487286192306, 0.22592029117530182, 0.23755612279459604, 0.23947810726686417, 0.23138958487342098, 0.21452273493486024, 0.19267193690227102, 0.17345248076911843, 0.16730164247220858, 0.17984788798851628, 0.2057840783514035, 0.23557604310735694, 0.2624195065271566, 0.28286608033133787, 0.2955261655847296, 0.3000484207709189, 0.29658983119780735, 0.28566877476276775, 0.2683288286032977, 0.24658099045618362, 0.22403354296273081, 0.20624383445700598, 0.19946216603459704 ], [ 0.272134919801827, 0.25542369551472704, 0.23506370547922942, 0.2094553217885378, 0.17779887162809907, 0.14110047588220215, 0.10388808464632653, 0.07729576430160341, 0.0738414017845084, 0.08319392397499097, 0.08694327683878592, 0.08130194745112242, 0.07419513792157652, 0.07229389456995806, 0.06857028990662235, 0.054976348000178116, 0.03632505016727097, 0.029426860663740975, 0.029110549282438045, 0.021830760594476927, 0.02107791000174776, 0.026457824383246314, 0.03880591674359465, 0.0712935715138568, 0.11129656745637678, 0.14952585318475445, 0.18266465957299052, 0.2094210591894792, 0.22863327547826165, 0.2389687100159426, 0.23931561734170997, 0.2293237794120506, 0.21010362504125457, 0.18539796448639292, 0.16328710305770724, 0.15575046951665347, 0.16953130624228574, 0.19802274602409978, 0.2302125584859794, 0.258874164398605, 0.28061487759706516, 0.2941939126651907, 0.2993999527029245, 0.2965081083162375, 0.2861380903184609, 0.2694201242195471, 0.24842251710955582, 0.2267312157464121, 0.2097137789478228, 0.20326323119399423 ], [ 0.26865725569912885, 0.25244266624768696, 0.2327623927156832, 0.20782101061796418, 0.17668390032447467, 0.14043041398981115, 0.10398169985848586, 0.0787554888041795, 0.07577286745080423, 0.08365856179736882, 0.08489770806035839, 0.07630618729188403, 0.06724877973413501, 0.06614309541831932, 0.06414698923501468, 0.05132541590879002, 0.032562324253888414, 0.027007824695281287, 0.02844167309587228, 0.021659501058349167, 0.02155164871529331, 0.02952624135530155, 0.043972910945142496, 0.07600853638517399, 0.11565714773352644, 0.15380896003147776, 0.18674762050656632, 0.21295249778923606, 0.23124552736006312, 0.24035911516059222, 0.23920668127059, 0.22737209592412946, 0.20581672145460514, 0.17816392711837953, 0.15289245544470573, 0.14377297989556642, 0.159002326379754, 0.1903044572294965, 0.22498253765441198, 0.25545815462304083, 0.2784569999477065, 0.2929109634665484, 0.29875315206365166, 0.2963727041702222, 0.28648227650596186, 0.2702881461995057, 0.2499068854875048, 0.22890556738316686, 0.212500625460818, 0.2063101141556327 ], [ 0.26483691619199745, 0.249118308960234, 0.2301263586626991, 0.20584571991555733, 0.17518253755373187, 0.13926396877593683, 0.10338559776727453, 0.07934727371499918, 0.07704081362770851, 0.0839299122938067, 0.08299910665126843, 0.0714957811255771, 0.06019625543137584, 0.05987935583834308, 0.059707798313228706, 0.04776239539654338, 0.02914480088093895, 0.025040260325794757, 0.027708104938923304, 0.021369819914650742, 0.022657238606109756, 0.03321438912855704, 0.04944137376952294, 0.08094737920474943, 0.12005704679474473, 0.1579826572348783, 0.1906577407233002, 0.21632524550848292, 0.23376010766823188, 0.24173204867516673, 0.23916430226227225, 0.22556429927289812, 0.20171870027906694, 0.17105467593150847, 0.14233608023848246, 0.13138960356399232, 0.14833060361368308, 0.18271250536893352, 0.21994388795555292, 0.2522056109605763, 0.27641105692920004, 0.2916862133387791, 0.29811037159950504, 0.29618084375145065, 0.2866938622462766, 0.27092102298225873, 0.2510192633153211, 0.23054273588674082, 0.2145962522404483, 0.20859871368433278 ], [ 0.2606596750463079, 0.2454411247536556, 0.22715540351696212, 0.20354047646602005, 0.17331425846292714, 0.13761759286860561, 0.10209552204067462, 0.0790569027161104, 0.07762372986785651, 0.08397788606193478, 0.08127718994773525, 0.06701006419228502, 0.053169243419853025, 0.05360570581502253, 0.055329277383023553, 0.04435517260161102, 0.026226165097281887, 0.023623080315787914, 0.02690478767755086, 0.021013843266465028, 0.024375071276897517, 0.037321960664915735, 0.05504747260696113, 0.08601675556304952, 0.12446458461171409, 0.16204421466620778, 0.1944016944997502, 0.21954562040459535, 0.2361814367846415, 0.24309358015676255, 0.2392024905744323, 0.22393153236590213, 0.19787109795026459, 0.16417094867497836, 0.13170962024527338, 0.11862926764113442, 0.13760934580271503, 0.17534492651543057, 0.21515915948255743, 0.2491517207851201, 0.27449587574820344, 0.2905288372747428, 0.29747464422129505, 0.2959310525494524, 0.28676751092574426, 0.2713099976860458, 0.25174872976263835, 0.23163264516513174, 0.21599482657929103, 0.2101260760162052 ], [ 0.25611183537067733, 0.24140273697525585, 0.22385159055941467, 0.2009202095020528, 0.17110519872215108, 0.13551911016561208, 0.10012280726941865, 0.07788490114762746, 0.07752216048181614, 0.08379245862032955, 0.07976814611834597, 0.06301424066387551, 0.04635534378078973, 0.04744833788646055, 0.0510815880595074, 0.04114605282470653, 0.02389414920738061, 0.02276342723969507, 0.026038515919188588, 0.0206569115309459, 0.026595447159567007, 0.04166222278681483, 0.06064714323409694, 0.09111715376173259, 0.12883910397112325, 0.1659853921688544, 0.19798381310023036, 0.2226198493982957, 0.2385148903823657, 0.24445076669629656, 0.23933581704580456, 0.22250554246742696, 0.19433911089006167, 0.15763011199236682, 0.12113766460499477, 0.10553262432420762, 0.1269634912854332, 0.16831520403629105, 0.21069452838878264, 0.2463320406736757, 0.27273016529794586, 0.2894481497208629, 0.29684964563579674, 0.2956231707681453, 0.2867000450572657, 0.27144940630957554, 0.25208813275817893, 0.23216873330095797, 0.21669258127039853, 0.2108902897385488 ], [ 0.25118023657964406, 0.23699586788764482, 0.22021922489528153, 0.19800378911045916, 0.16858856009854156, 0.13300910212140504, 0.09749627140925599, 0.0758467347143495, 0.0767568901462458, 0.08338124475141176, 0.07851028432607317, 0.05968879695715824, 0.04002668070830558, 0.041564171068357206, 0.047025382773008766, 0.03815155832670658, 0.022137108153963008, 0.022364750496758807, 0.025136189730098013, 0.020392603432031756, 0.029175755552612023, 0.04607320866636032, 0.06611491666852429, 0.09614927509263907, 0.13313388863772227, 0.1697934174430132, 0.2014062495091597, 0.2255538493359391, 0.2407664630755299, 0.24581129795441187, 0.23957894389508863, 0.22131778975787533, 0.19118988433038547, 0.15156571085629547, 0.11079030419195948, 0.09215787553615028, 0.11656100005061414, 0.16175194753708164, 0.20661830879734275, 0.24378168723128402, 0.2711321480868476, 0.2884534519207688, 0.29623964563934374, 0.2952583538637743, 0.28649045912463755, 0.27133666038129317, 0.2520339918203877, 0.23214777443412027, 0.2166876708109314, 0.21089041651192952 ], [ 0.24585227659126602, 0.23221433820397405, 0.21626485289201966, 0.19481402807108789, 0.16580484835123363, 0.13014209878417476, 0.094264437716127, 0.07297331700705934, 0.07536780801809968, 0.0827665345953536, 0.07753847231254656, 0.05720730954534198, 0.03457680025090728, 0.03615056706036311, 0.04320878005123009, 0.035367706241270475, 0.020847561390206402, 0.022263893349784215, 0.0242566063094441, 0.020358168427103203, 0.03198504090325446, 0.05041842686631148, 0.07134163130438795, 0.10101849943627123, 0.13729913671558394, 0.17345219447260404, 0.20466931261488178, 0.22835312626193882, 0.24294249869860732, 0.24718316560612982, 0.2399461480715703, 0.22039846687088988, 0.1884902726884041, 0.14612504470396329, 0.10090025437781201, 0.07859236625676078, 0.10662772839859382, 0.15579687962443534, 0.20299895804393847, 0.24153442266140435, 0.26971917047309557, 0.2875538706084083, 0.29564944926287706, 0.2948390601422901, 0.2861399223225676, 0.27097223735671794, 0.25158644893158855, 0.23156979017965773, 0.21598010066372206, 0.21012645660911436 ], [ 0.240115952881964, 0.22705309627121018, 0.2119972879210529, 0.19137763444764122, 0.16280188484850772, 0.1269874768002936, 0.09049827048395272, 0.06931196171738481, 0.07341322446400023, 0.08198184450360485, 0.07687803171981851, 0.05570275036102563, 0.03053444849286301, 0.03145309150232549, 0.03966483072529968, 0.03277986244964719, 0.01987003556881713, 0.022293288833486174, 0.023499820183368804, 0.02073002764687506, 0.03492086213176326, 0.05458375207723396, 0.07623219146216235, 0.10563774289459589, 0.14128473732371352, 0.1769436419938558, 0.2077719321257436, 0.23102277542527447, 0.2450494836832254, 0.2485743634010619, 0.2404508538595988, 0.2197754712705581, 0.1863041224054454, 0.1414638844778303, 0.0917837992117269, 0.06497830851498379, 0.09746480208383232, 0.15060035716610307, 0.19990259521160136, 0.23962166809953012, 0.2685073043653508, 0.2867581924735732, 0.2950843290731214, 0.2943690259305926, 0.2856517720714018, 0.2703596804360921, 0.25074926870395103, 0.230438048575279, 0.2145717264108965, 0.20859934879718614 ], [ 0.2339599261950716, 0.22150828538267892, 0.20742767151220826, 0.18772510703978298, 0.1596345314054355, 0.1236299035587849, 0.08629459682759587, 0.06492803631604353, 0.07096941871519112, 0.08106797907627797, 0.07653904995186024, 0.05523099044087805, 0.028453889955764814, 0.027756537486655, 0.03641029244357262, 0.030374232510827576, 0.019064159381225108, 0.022329443624797298, 0.023004310614066, 0.021682774718355988, 0.03790658984903567, 0.058473244670374604, 0.08070369073973754, 0.10992914824907035, 0.14504270702011265, 0.18024906990947895, 0.21071221342405563, 0.2335675628679146, 0.2470938981364958, 0.2499926227075209, 0.24110519216794118, 0.21947338417155854, 0.18468921895846313, 0.13773762882417903, 0.08385939162152166, 0.05157732065426211, 0.08946282394997777, 0.14631376372334517, 0.19739013162564206, 0.23807149126548746, 0.26751095582394524, 0.28607469927597295, 0.29454995001058676, 0.29385322858493734, 0.2850314983191167, 0.26950560787561706, 0.24952988798142983, 0.22875915062719132, 0.21246632278978383, 0.20631100456838422 ], [ 0.22737361094513028, 0.21557735996309563, 0.20256958313142603, 0.1838905711600293, 0.15636406749816767, 0.12016907910650955, 0.08178029646848764, 0.059907799041683495, 0.0681301363717235, 0.08006860644884153, 0.07651215937409044, 0.05574820048114432, 0.02859749516915937, 0.02532892077132087, 0.0334469650194327, 0.028147077803963028, 0.018348505283091513, 0.0223124176524604, 0.022921620034929962, 0.02332023456084422, 0.04088038248797208, 0.06200491294796988, 0.08468393381361294, 0.11382502130394602, 0.14852923318465655, 0.18335051744809888, 0.21348804208461195, 0.23599206851599647, 0.2490821177672837, 0.2514451870232742, 0.24191960372949875, 0.21951251799871263, 0.18369413845383298, 0.13508889151607067, 0.07764519569309893, 0.03895513608966318, 0.08309756365009424, 0.1430786203752002, 0.19551420526055238, 0.2369076264411217, 0.26674249746550394, 0.285511008736336, 0.2940522881836879, 0.2932978373424805, 0.2842867177673674, 0.2684197302550124, 0.24793951391718796, 0.22654320660376864, 0.2096697257563462, 0.2032643772043118 ], [ 0.22034729670425346, 0.2092592643579625, 0.1974392163374376, 0.17991155782126317, 0.15305716358298524, 0.1167184245596615, 0.07711704996734449, 0.05436334025143165, 0.06500561427474862, 0.07902541788224686, 0.07676661672427483, 0.05711571321523681, 0.030675484993097458, 0.024302502120118395, 0.03076697126841038, 0.026108511708077778, 0.01771088702189657, 0.022242503113499672, 0.023368646808769416, 0.02562255867395144, 0.04378348420502765, 0.06510687982154081, 0.08811033010723218, 0.11726834119037499, 0.15170633480126391, 0.18623199579732824, 0.2160977004946393, 0.23830087057528182, 0.25102035876315154, 0.2529386275409866, 0.24290250212382966, 0.2199080969237497, 0.18335532566002058, 0.13363278663937442, 0.07370012986858736, 0.028550721461625714, 0.07887984120082314, 0.1410132706421372, 0.19431619949538653, 0.23614859174327263, 0.26621194194647346, 0.2850739263459948, 0.29359754504270136, 0.29271015178058085, 0.28342713629791183, 0.26711487250120963, 0.24599326828411613, 0.22380410630932876, 0.20619005424564738, 0.19946356670930424 ], [ 0.2128723056550873, 0.2025546919626446, 0.19205564386701746, 0.17582873488300224, 0.1497844082763745, 0.11340227678363303, 0.07250570452300178, 0.048441420489628614, 0.06172047000014278, 0.07797306993433042, 0.07725101088130897, 0.05913016799542193, 0.03403182505889837, 0.02456729668034222, 0.02836278318502636, 0.024280228256456718, 0.01718836152470399, 0.022164378267976074, 0.024380272789706534, 0.02845227140869962, 0.04655194624464179, 0.06771425596221067, 0.09092914623328563, 0.12021308410118144, 0.1545431869839465, 0.18888059625215967, 0.21854046326813414, 0.2404987516939027, 0.25291465709326, 0.2544787004682096, 0.2440600100587795, 0.2206696302303943, 0.18369475421948936, 0.1334426871727776, 0.07248001385277268, 0.023820690779162216, 0.07723796547786102, 0.14019930347404733, 0.1938236829953429, 0.23580696896362796, 0.2659266728733056, 0.28476931298621766, 0.2931920583322364, 0.2920985274461153, 0.2824644970591285, 0.2656069957184613, 0.24371037412763902, 0.22055988962075693, 0.20203802262244558, 0.19491396236179306 ], [ 0.20494119165159874, 0.19546644793171686, 0.1864411989716676, 0.17168560338193978, 0.1466183757903126, 0.11035113610399971, 0.0681877930494568, 0.04233967979831461, 0.05840946998731332, 0.07693427129480308, 0.07789631973229803, 0.061562813562252724, 0.038019556296025755, 0.025806293475736385, 0.02624119033013057, 0.02268982635645588, 0.01682945310975543, 0.02214521436050035, 0.025894482281162343, 0.03160881807042066, 0.049113241873571724, 0.06976692810210067, 0.09309513130691303, 0.12262452744531778, 0.15701716946558, 0.19128744020900101, 0.22081714324727053, 0.24259090870405095, 0.2547708734917358, 0.2560702454520476, 0.24539577879943728, 0.22180052575539927, 0.18471848732980195, 0.1345401321458997, 0.07415540320153756, 0.02793634460358815, 0.07836473006878024, 0.14067086843786444, 0.19404860480101985, 0.23588890356641304, 0.2658912471909163, 0.2846019727307719, 0.2928422111724186, 0.29147228807708614, 0.28141251093500697, 0.26391521201928114, 0.24111437864308619, 0.21683322548559222, 0.19722736049809886, 0.1896224256376254 ], [ 0.196547987734806, 0.18799994651988616, 0.18062200466817319, 0.16752817530765154, 0.1436312675581156, 0.10769467430304436, 0.06443924615852781, 0.03633646630009967, 0.0552099067566591, 0.07591553137193284, 0.07862057426399789, 0.06419192929270227, 0.04216899300529712, 0.027647515145526234, 0.024437648195933713, 0.021365915561557848, 0.01666323212901727, 0.022249879498525214, 0.02777684024323501, 0.0348828004122118, 0.05138735759118661, 0.07120836183532156, 0.0945715508217782, 0.12447964782086077, 0.15911469762609176, 0.19344845843526012, 0.22293056520372917, 0.24458314965555364, 0.2565947155380245, 0.257717123191668, 0.2469108962547547, 0.2232979715564639, 0.18641634438378804, 0.13689196057858083, 0.07852968679931831, 0.03809539556365151, 0.08213235887870436, 0.1424099183827762, 0.1949865029115416, 0.23639386684437816, 0.26610727953734925, 0.2845755644377485, 0.2925543405541327, 0.2908416237844165, 0.28028676550557596, 0.26206178359326454, 0.23823340311430916, 0.21265200913224822, 0.19177536441881848, 0.18359751776431454 ], [ 0.1876885109469901, 0.18016388552595072, 0.1746286857808635, 0.16340464940681088, 0.14089222927633713, 0.1055526470921581, 0.06154889910968288, 0.030842039785476373, 0.05224941459789518, 0.07490417035937727, 0.07933423008085218, 0.06682185370922075, 0.04617768290028028, 0.029782112086397087, 0.02302352121460457, 0.02033533168022777, 0.016688297530349026, 0.022515982007974226, 0.029860856997812508, 0.03808598491076114, 0.05329092444878115, 0.07198540284624702, 0.09533067932824302, 0.12576768768941615, 0.16083188311574642, 0.19536499379536684, 0.2248859494342827, 0.2464820641593049, 0.25839176875746267, 0.25942218918854326, 0.24860388439316777, 0.22515309082778004, 0.1887627134305147, 0.14041557481584757, 0.08513668729594907, 0.05068142115534748, 0.08815094414018919, 0.14534886828926788, 0.19661684473509838, 0.23731470043383024, 0.2665734144962891, 0.2846925397601556, 0.29233464646006013, 0.29021747461475683, 0.27910460817356353, 0.26007209523380437, 0.23510040662039797, 0.20805008798154326, 0.18570361705373928, 0.17684977852019268 ], [ 0.17836073668868382, 0.17197115743849398, 0.16849729953358078, 0.1593650980358892, 0.1384645256955119, 0.10402459066643725, 0.059775962385145376, 0.026461191447091883, 0.04962913487981637, 0.07386714263090205, 0.07994548643054478, 0.06929032356433186, 0.049857174893338733, 0.03199209347407833, 0.022094895707355993, 0.019619098769540256, 0.01686843730081227, 0.02293367005165302, 0.03198057270972791, 0.04106248871920188, 0.05474282494399695, 0.07204897061650117, 0.09535481576630726, 0.1264909366463203, 0.16217505377363053, 0.19704422454551, 0.22669119202620952, 0.2482951556257065, 0.26016752946697397, 0.2611872996353086, 0.2504707818029796, 0.22735135140239449, 0.1917183741045333, 0.14499056464332302, 0.09342343977820103, 0.06414159195162669, 0.09591716770891154, 0.149379822039573, 0.19890444658748438, 0.23863793848675238, 0.26728538755122716, 0.2849541090799395, 0.29218910274838233, 0.2896113990940217, 0.2778849989431181, 0.25797458756002484, 0.23175344473177603, 0.20306812585679385, 0.17903892564095125, 0.1693920667112904 ], [ 0.1685652607915388, 0.1634400830695618, 0.16227051683935534, 0.15546116959826572, 0.13640283504862244, 0.10318003540543921, 0.05929201643114181, 0.023960931578963337, 0.047404702230482605, 0.07275202809548821, 0.08036509963660121, 0.07146869948043785, 0.05308944632355831, 0.034128037304137146, 0.021733773258898824, 0.019223708914428768, 0.01713003062198599, 0.02343756057129589, 0.03398914019902004, 0.0436913539720258, 0.055670162508135015, 0.07135549939351496, 0.09463790695099575, 0.1266657479867799, 0.16316114189031042, 0.198499405353768, 0.228357032577505, 0.25003092669284144, 0.2619274331294444, 0.2630133447229021, 0.2525053027946754, 0.22987319054018054, 0.1952330577836705, 0.1504732388490159, 0.10288514222658832, 0.0778701191481201, 0.10494409691458693, 0.15436763915937896, 0.20180176233163907, 0.2403443786370546, 0.2682361703543706, 0.28536023567250746, 0.29212337086652296, 0.2890354276696538, 0.2766483284671519, 0.25580063638586387, 0.22823589734518743, 0.19775461116064785, 0.1718145551449471, 0.16123997915632732 ], [ 0.15830587805268906, 0.15459609402643976, 0.1559990745505312, 0.15174579719539785, 0.13475097869355535, 0.10305151487810138, 0.060132089393104035, 0.023899324181397286, 0.04557092163866914, 0.07149024301361379, 0.08051056048830481, 0.07325907585130664, 0.05579902749390133, 0.036078016901148965, 0.021949885742874726, 0.019130611075391893, 0.017369543004486804, 0.023917377182805514, 0.035768249233078114, 0.04588670656589066, 0.05601410699625602, 0.06986900503848983, 0.09318790408710667, 0.12632378384366197, 0.16381792741012588, 0.1997499214914312, 0.22989710367809815, 0.2516989118991796, 0.2636768731933174, 0.2649003041826668, 0.2546990608545085, 0.2326948009603545, 0.19924840272198438, 0.15671060182249827, 0.11311664881622732, 0.09159019395534988, 0.1148240324783516, 0.16016358007579432, 0.20525172794170665, 0.24240985314708016, 0.2694161911886222, 0.2859096572213858, 0.2921427174031834, 0.28850190143289506, 0.27541619750808277, 0.25358436234758897, 0.2245966310500227, 0.19216700540694578, 0.16407186662029286, 0.1524123760837013 ], [ 0.14759032532453695, 0.14547405359251223, 0.1497434923543462, 0.1482728853723644, 0.13354040211373538, 0.10363240148492071, 0.06218585887031164, 0.026093409654667103, 0.0440576198198124, 0.07000221009240247, 0.0803097488092356, 0.07459078706658526, 0.057936711574307624, 0.03774472215343164, 0.022638394141649594, 0.019293262600925447, 0.017479629660110893, 0.024247013376328827, 0.03723442494806331, 0.04759822540936463, 0.05573568711144597, 0.06756375124658535, 0.09103004362856915, 0.1255134454308266, 0.16418409945690657, 0.20082114938352563, 0.23132785968037442, 0.25330965440072106, 0.26542120671727637, 0.26684731968869624, 0.25704184177962436, 0.2357890167686926, 0.20370096757927203, 0.16355152147087532, 0.12381189178172805, 0.10515256742808243, 0.12523963601266208, 0.16661701472966747, 0.20919081814357518, 0.2448061389159088, 0.2708136176711485, 0.28659993270688794, 0.29225193644081454, 0.28802329710583796, 0.27421115495494264, 0.251362354346564, 0.22089005115997556, 0.18637301024429612, 0.15586252304851872, 0.14293206069538086 ], [ 0.1364312738026496, 0.13612150384159774, 0.14357599647740865, 0.14509692553279607, 0.13278965216846675, 0.10488041922405196, 0.0652368271974045, 0.029766961062833986, 0.04274107720302356, 0.06820402009950027, 0.07970432020662269, 0.07541761491731024, 0.059470997171027024, 0.0390341854258534, 0.023595592321792917, 0.019649121855985295, 0.017388184181497193, 0.024322908237860413, 0.038345720146445675, 0.048812903660145866, 0.054822044505450446, 0.06442767650140845, 0.08821134409429927, 0.12430138993730984, 0.16430907683882123, 0.20174411512032323, 0.2326683854491721, 0.25487462621667123, 0.2671657444505945, 0.2688527788203781, 0.259521910584882, 0.2391262380743287, 0.20852502987416374, 0.1708543109101404, 0.13474496834684757, 0.11846584028802133, 0.13595189532367968, 0.17358397569507814, 0.21355200742839298, 0.24750194046122923, 0.2724146861365978, 0.28742751176023035, 0.2924552776373871, 0.2876120400039972, 0.2730563930625471, 0.24917329102643568, 0.21717598747754366, 0.18045189856967125, 0.14725150044637297, 0.1328266976574657 ], [ 0.12484772695684902, 0.12660327680370137, 0.13758250104830247, 0.14227247126013537, 0.13250495470076976, 0.10672602930439792, 0.06902494196014551, 0.034149913026856805, 0.04146871807928959, 0.0660150976493755, 0.07865314440022013, 0.07571627806854252, 0.06038488231298394, 0.03985452505229173, 0.024583975624896223, 0.020143488114237048, 0.017099839726619742, 0.024102730108870762, 0.039109926531502755, 0.049558316149882174, 0.05329406113188849, 0.060467093717724935, 0.08480674118321599, 0.12277395163400166, 0.1642525080470861, 0.20255494279747172, 0.23394008911589784, 0.2564060940740869, 0.2689157243978202, 0.27091440560205715, 0.2621263362489231, 0.24267533943958175, 0.2136549877507249, 0.1784910142183275, 0.14574982902936892, 0.13146896019155221, 0.1467827798229628, 0.18093246922912057, 0.2182674072291977, 0.2504638830486696, 0.2742040608902137, 0.2883878228600937, 0.29275638094269635, 0.2872803075012148, 0.2719754006462748, 0.24705744687365866, 0.21351934748232518, 0.17449580142930593, 0.13832124852809724, 0.12213012740621902 ], [ 0.11286712855211402, 0.1170081256753371, 0.13186434895596216, 0.1398533942548564, 0.13268181508170004, 0.10908357501392571, 0.07330106460238875, 0.03873539419088715, 0.040089846259950324, 0.06336658870015324, 0.07713614146523029, 0.07548641549037152, 0.06067663686825343, 0.04012166697361529, 0.02539137199992886, 0.02075389952670086, 0.016736756370656698, 0.023643077748616848, 0.03959375317178233, 0.04990714266602376, 0.05121669785239269, 0.05571387871343479, 0.08092740669268161, 0.12103816150732073, 0.1640833572892917, 0.20329408774382637, 0.23516628654278618, 0.2579169353719133, 0.2706762691860108, 0.2730293531567141, 0.26484131941076455, 0.24640451784182316, 0.21902727668629962, 0.18634917764692993, 0.1567038950693412, 0.14411894018159385, 0.15759974259653883, 0.1885451092776744, 0.2232704453851464, 0.25365746211597995, 0.2761652066049344, 0.2894753762851169, 0.29315821883442544, 0.2870398263822463, 0.27099157754753544, 0.24505607409235491, 0.20998946356077083, 0.16861075928077052, 0.1291774835683075, 0.11088438119763035 ], [ 0.10052880852698642, 0.1074583122315471, 0.1265392943446709, 0.13789184819400938, 0.13330738983227503, 0.11186268800658238, 0.07785875533652456, 0.043248008109430094, 0.03848604157879286, 0.06021062840324105, 0.07515888382761822, 0.07475210567400806, 0.06036375899495863, 0.0397693855210331, 0.025863889628564722, 0.021505098231911622, 0.016570365668171546, 0.02313753372805653, 0.03993077255259456, 0.04998208125523463, 0.04871378544978262, 0.05023792181079972, 0.07673177337893679, 0.11922189456006205, 0.16387848072300618, 0.20400535665724442, 0.23637168930106495, 0.25942041104880204, 0.2724523287229203, 0.27519429468309126, 0.2676525099967101, 0.25028204833543105, 0.22458178912261878, 0.19433195070839537, 0.1675160978135393, 0.1563847396748523, 0.16830376097077254, 0.19631984574818567, 0.22849754007019832, 0.2570479076864108, 0.27828075837389826, 0.29068387753267655, 0.2936630469345542, 0.28690166830772224, 0.2701278166795881, 0.24321065852883517, 0.206659061045855, 0.16291722862115207, 0.11995724033138745, 0.09914302455068355 ], [ 0.08789015177935809, 0.09812332165271126, 0.1217409316020138, 0.13643689904962214, 0.13436325837675223, 0.114977968609607, 0.08254573192905498, 0.04756704978082966, 0.03659977642854384, 0.05653137226919408, 0.07275835513339422, 0.07356487548013776, 0.059489677777279856, 0.0387625554187708, 0.025923324368347753, 0.022471128070892323, 0.01700478466378197, 0.022942915708988824, 0.04032354594151855, 0.0499591619598317, 0.04598884533376544, 0.04417134963247576, 0.07243922430554209, 0.11747248685808033, 0.16372061332064175, 0.20473472782464175, 0.23758181240982632, 0.26092990415108747, 0.2742486106407294, 0.27740550973435046, 0.2705453041653011, 0.25427692813796576, 0.2302628369727367, 0.20235721306956328, 0.17811845672013502, 0.16824390029064307, 0.1788206210015866, 0.20416949587486477, 0.23388928517594346, 0.26060093623422764, 0.2805328760423426, 0.292006346958678, 0.29427236382787664, 0.2868760483640917, 0.26940606318925053, 0.24156205771101266, 0.20360278626450015, 0.15754958834436308, 0.1108398493650423, 0.08697721194481389 ], [ 0.07503880179216844, 0.08923862671703686, 0.11761551987001508, 0.1355328392025839, 0.1358281891184711, 0.11835588507501345, 0.08726304801866085, 0.051673564596888724, 0.03446502897880987, 0.05235984360304193, 0.07001023997548568, 0.07200804743165634, 0.05813298308523451, 0.03711471254446202, 0.02558350575440919, 0.023766606760542267, 0.018453073614307924, 0.02354653611855935, 0.04103251084146036, 0.05006569364877722, 0.04335080813320684, 0.037760335948614415, 0.0683443900622817, 0.11595302171271887, 0.16369572896533485, 0.2055289997184138, 0.23882232263999026, 0.2624586345744104, 0.2760695018246838, 0.2796589635839385, 0.273505112619805, 0.2583594010176951, 0.2360197252765107, 0.21035621998773044, 0.18846019280106804, 0.17968052109736798, 0.18909468814854324, 0.21202061953813825, 0.23939120441230854, 0.26428337553241804, 0.2829035721070804, 0.29343524165340745, 0.29498688084171043, 0.2869721322503592, 0.26884686346259457, 0.24014954118665677, 0.2008952638090349, 0.1526540446853278, 0.10206110445026585, 0.07448775684635213 ], [ 0.062119612289724936, 0.08112836045240154, 0.11431511038008654, 0.13521728311661824, 0.137680543193581, 0.12193870022684605, 0.09195857656482471, 0.05561829866952458, 0.03224623019540141, 0.0477965910620826, 0.06703791500151672, 0.07020202741761238, 0.05641893356940266, 0.03491373195600518, 0.024975281143833752, 0.02553077308986351, 0.021152176693516784, 0.02541455501608113, 0.042344046727558475, 0.050567326613129425, 0.04123344912216293, 0.03148191337555157, 0.06482501699964059, 0.11483551961827981, 0.16388980896245767, 0.20643431420701328, 0.2401183524741021, 0.2640193617003332, 0.2779189849008465, 0.2819503782577143, 0.2765175950015843, 0.26250136282722364, 0.24180701507145527, 0.21827207905863788, 0.1985035840783293, 0.19068393439495096, 0.19908445718009962, 0.21981210416398095, 0.24495415020964217, 0.2680636590998819, 0.28537500536913213, 0.2949625759999432, 0.29580650245091017, 0.28719785798947023, 0.2684689195282477, 0.2390097668650563, 0.19860870354729537, 0.14838426253760284, 0.09392920497166744, 0.0618319079567376 ], [ 0.04940189769220114, 0.07422383658636773, 0.11198636203202557, 0.13551922706516953, 0.13990006777992692, 0.12568578414491632, 0.09661846690128173, 0.059499816436524966, 0.030286455784596936, 0.04304905620544293, 0.06402256790218865, 0.06830955836135073, 0.054532309012479914, 0.03236240215562594, 0.024380874160483318, 0.027906359930032494, 0.025096954840399116, 0.028783016439474802, 0.04451832044327186, 0.05173940013098414, 0.04017540291289868, 0.02628645965883305, 0.06232785059939882, 0.11429066545243406, 0.16438515454581462, 0.20749461924266657, 0.24149380832198233, 0.26562408737266585, 0.279800553883927, 0.2842752945451637, 0.27956885754664007, 0.2666766555435847, 0.24758455110478683, 0.22605823833270094, 0.20822100287735273, 0.20124777283844328, 0.20875934215631994, 0.2274936834918757, 0.2505344267376773, 0.2719121953513047, 0.2879297353805436, 0.29658003791214615, 0.29673031783906895, 0.2875597780823421, 0.2682886664995708, 0.2381757404122984, 0.1968101497066147, 0.14489417944368943, 0.08683649115991243, 0.049290330334957916 ], [ 0.0374696402107299, 0.06905438218674491, 0.11075568963589562, 0.13645731805815783, 0.1424689634040379, 0.12957290509423744, 0.10125819465173695, 0.06344595096267186, 0.029136439088114315, 0.03849224360833986, 0.06121191289185422, 0.06653883039811143, 0.052728518920875975, 0.029840075290922113, 0.024254741272929054, 0.031016051932241585, 0.03013685346238423, 0.03359700310528514, 0.04773427791831936, 0.05382424476267228, 0.04071218720239636, 0.02383537245858111, 0.061311229903104766, 0.11447460406852229, 0.16525649314463206, 0.20875015213030723, 0.2429707037660659, 0.2672837717757189, 0.2817171332587021, 0.28662912494156645, 0.2826456133275803, 0.27086126136138194, 0.25331732087815134, 0.23367707823258027, 0.21759275651194412, 0.21136926915091206, 0.218097325227248, 0.23502451497074436, 0.25609371004472875, 0.27580162235180994, 0.29055093533068277, 0.29827909836554145, 0.29775660397285386, 0.28806292770496983, 0.26831989168852666, 0.23767581579949773, 0.19555854850838814, 0.14232793234641952, 0.08125201387256789, 0.03745693770022724 ], [ 0.027787427463678852, 0.06616952830526689, 0.11071327460380825, 0.13803859101872876, 0.14537223434343927, 0.13359011645699018, 0.10591382295882394, 0.06759563211461543, 0.02947242102185146, 0.034747338744810605, 0.05892103464082786, 0.06514060073418196, 0.05133534303389007, 0.027968163061860472, 0.025164411362604527, 0.03494316166193053, 0.03609135704573687, 0.03963462730039497, 0.05205912921252897, 0.05698759114995278, 0.04318900427744795, 0.025712953969287453, 0.06213940265644969, 0.11551461489472406, 0.16656722947274466, 0.21023603479936714, 0.24456854893321647, 0.26900807423698225, 0.28367100459381117, 0.2890071979936309, 0.28573530614089226, 0.2750334105949679, 0.25897519973514677, 0.24109864640514256, 0.2266054795796832, 0.22104870264606052, 0.227083202814055, 0.24237187656341058, 0.26159882734495454, 0.2797069624641087, 0.29322256323420115, 0.3000511124669351, 0.2988828403334963, 0.28871072387059976, 0.26857341363520376, 0.23753280150823736, 0.19490189020396173, 0.14080770696149852, 0.07767031712851455, 0.027806000586204967 ], [ 0.02369903623857378, 0.06597192805939679, 0.11190007918727131, 0.14025788405927012, 0.1485974272981286, 0.13773878695238687, 0.11063375021112767, 0.07208104154592074, 0.03182186622969155, 0.032697969629104054, 0.05751370769591287, 0.0643939167047128, 0.05073184040471873, 0.027575171334294653, 0.027594106673763757, 0.03972312852420286, 0.042802726943566655, 0.04664480672249544, 0.05745602707450399, 0.061293679311795184, 0.047631959116608814, 0.031655628292507516, 0.06497273711433452, 0.11749660687529533, 0.16836624661552776, 0.21198107364534155, 0.24630382519781446, 0.270805129773262, 0.28566374438515735, 0.29140479491122556, 0.28882620041288504, 0.2791736178254696, 0.2645326248123405, 0.24829954455203374, 0.23525091057979258, 0.2302889440639762, 0.2357072517396782, 0.2495100055478827, 0.26702144518556664, 0.28360569260924023, 0.295929493044786, 0.30188741091538357, 0.30010573520357475, 0.2895048994600448, 0.2690568373791504, 0.23776323659882356, 0.1948747322670339, 0.14042141922560336, 0.0765001382070839, 0.023708996848679623 ] ] }, { "hoverinfo": "text", "legendgroup": "In-sample", "marker": { "color": "black", "opacity": 0.5, "symbol": 1 }, "mode": "markers", "name": "In-sample", "text": [ "Arm 0_0
accuracy: 0.841833 (SEM: None)
lr: 2.6e-05
momentum: 0.58", "Arm 10_0
accuracy: 0.8285 (SEM: None)
lr: 0.000659123
momentum: 0", "Arm 11_0
accuracy: 0.826833 (SEM: None)
lr: 3.39437e-05
momentum: 1", "Arm 12_0
accuracy: 0.15 (SEM: None)
lr: 0.000248828
momentum: 0.96372", "Arm 13_0
accuracy: 0.9015 (SEM: None)
lr: 4.15551e-05
momentum: 0.750602", "Arm 14_0
accuracy: 0.518667 (SEM: None)
lr: 1e-06
momentum: 1", "Arm 15_0
accuracy: 0.900667 (SEM: None)
lr: 7.63467e-05
momentum: 0.474843", "Arm 16_0
accuracy: 0.912333 (SEM: None)
lr: 7.5307e-05
momentum: 0.720726", "Arm 17_0
accuracy: 0.8935 (SEM: None)
lr: 0.00032075
momentum: 0.17207", "Arm 18_0
accuracy: 0.104333 (SEM: None)
lr: 0.4
momentum: 0", "Arm 19_0
accuracy: 0.6875 (SEM: None)
lr: 6.38318e-06
momentum: 0.74119", "Arm 1_0
accuracy: 0.100333 (SEM: None)
lr: 0.00995509
momentum: 0.633423", "Arm 20_0
accuracy: 0.855 (SEM: None)
lr: 6.41407e-05
momentum: 0", "Arm 21_0
accuracy: 0.100333 (SEM: None)
lr: 0.4
momentum: 1", "Arm 22_0
accuracy: 0.9085 (SEM: None)
lr: 6.40325e-05
momentum: 0.626646", "Arm 23_0
accuracy: 0.917167 (SEM: None)
lr: 0.000175285
momentum: 0.433834", "Arm 24_0
accuracy: 0.905833 (SEM: None)
lr: 6.2569e-05
momentum: 0.866459", "Arm 2_0
accuracy: 0.318667 (SEM: None)
lr: 5.18336e-06
momentum: 0.0228515", "Arm 3_0
accuracy: 0.4585 (SEM: None)
lr: 6.63497e-06
momentum: 0.176948", "Arm 4_0
accuracy: 0.925833 (SEM: None)
lr: 8.15482e-05
momentum: 0.90883", "Arm 5_0
accuracy: 0.928667 (SEM: None)
lr: 0.000302077
momentum: 0.341904", "Arm 6_0
accuracy: 0.92 (SEM: None)
lr: 0.000136853
momentum: 0.591261", "Arm 7_0
accuracy: 0.8515 (SEM: None)
lr: 9.26226e-06
momentum: 1", "Arm 8_0
accuracy: 0.905167 (SEM: None)
lr: 0.000246869
momentum: 0", "Arm 9_0
accuracy: 0.886333 (SEM: None)
lr: 0.000150685
momentum: 0.267503" ], "type": "scatter", "x": [ 2.6e-05, 0.000659122944500321, 3.394372240270927e-05, 0.00024882770207441035, 4.155513836454564e-05, 1e-06, 7.634665657031963e-05, 7.5306955935234e-05, 0.0003207499193964119, 0.4, 6.38318452536289e-06, 0.00995509203921593, 6.414070426066139e-05, 0.4, 6.403251165068233e-05, 0.0001752852710069396, 6.256904769286699e-05, 5.183362665905935e-06, 6.6349677287433636e-06, 8.154817047148868e-05, 0.000302076728574865, 0.0001368534940531944, 9.262261206812104e-06, 0.00024686870252772737, 0.0001506845892346001 ], "xaxis": "x", "y": [ 0.58, 0.0, 1.0, 0.9637196446937553, 0.7506021545567121, 1.0, 0.47484271229334013, 0.7207258543270095, 0.1720696594829825, 0.0, 0.7411899844464165, 0.6334228515625, 0.0, 1.0, 0.6266458202332452, 0.4338344521317167, 0.8664594010761464, 0.022851496934890747, 0.1769482558593154, 0.9088304992765188, 0.34190391190350056, 0.5912608122936966, 1.0, 0.0, 0.2675030448318856 ], "yaxis": "y" }, { "hoverinfo": "text", "legendgroup": "In-sample", "marker": { "color": "black", "opacity": 0.5, "symbol": 1 }, "mode": "markers", "name": "In-sample", "showlegend": false, "text": [ "Arm 0_0
accuracy: 0.841833 (SEM: None)
lr: 2.6e-05
momentum: 0.58", "Arm 10_0
accuracy: 0.8285 (SEM: None)
lr: 0.000659123
momentum: 0", "Arm 11_0
accuracy: 0.826833 (SEM: None)
lr: 3.39437e-05
momentum: 1", "Arm 12_0
accuracy: 0.15 (SEM: None)
lr: 0.000248828
momentum: 0.96372", "Arm 13_0
accuracy: 0.9015 (SEM: None)
lr: 4.15551e-05
momentum: 0.750602", "Arm 14_0
accuracy: 0.518667 (SEM: None)
lr: 1e-06
momentum: 1", "Arm 15_0
accuracy: 0.900667 (SEM: None)
lr: 7.63467e-05
momentum: 0.474843", "Arm 16_0
accuracy: 0.912333 (SEM: None)
lr: 7.5307e-05
momentum: 0.720726", "Arm 17_0
accuracy: 0.8935 (SEM: None)
lr: 0.00032075
momentum: 0.17207", "Arm 18_0
accuracy: 0.104333 (SEM: None)
lr: 0.4
momentum: 0", "Arm 19_0
accuracy: 0.6875 (SEM: None)
lr: 6.38318e-06
momentum: 0.74119", "Arm 1_0
accuracy: 0.100333 (SEM: None)
lr: 0.00995509
momentum: 0.633423", "Arm 20_0
accuracy: 0.855 (SEM: None)
lr: 6.41407e-05
momentum: 0", "Arm 21_0
accuracy: 0.100333 (SEM: None)
lr: 0.4
momentum: 1", "Arm 22_0
accuracy: 0.9085 (SEM: None)
lr: 6.40325e-05
momentum: 0.626646", "Arm 23_0
accuracy: 0.917167 (SEM: None)
lr: 0.000175285
momentum: 0.433834", "Arm 24_0
accuracy: 0.905833 (SEM: None)
lr: 6.2569e-05
momentum: 0.866459", "Arm 2_0
accuracy: 0.318667 (SEM: None)
lr: 5.18336e-06
momentum: 0.0228515", "Arm 3_0
accuracy: 0.4585 (SEM: None)
lr: 6.63497e-06
momentum: 0.176948", "Arm 4_0
accuracy: 0.925833 (SEM: None)
lr: 8.15482e-05
momentum: 0.90883", "Arm 5_0
accuracy: 0.928667 (SEM: None)
lr: 0.000302077
momentum: 0.341904", "Arm 6_0
accuracy: 0.92 (SEM: None)
lr: 0.000136853
momentum: 0.591261", "Arm 7_0
accuracy: 0.8515 (SEM: None)
lr: 9.26226e-06
momentum: 1", "Arm 8_0
accuracy: 0.905167 (SEM: None)
lr: 0.000246869
momentum: 0", "Arm 9_0
accuracy: 0.886333 (SEM: None)
lr: 0.000150685
momentum: 0.267503" ], "type": "scatter", "x": [ 2.6e-05, 0.000659122944500321, 3.394372240270927e-05, 0.00024882770207441035, 4.155513836454564e-05, 1e-06, 7.634665657031963e-05, 7.5306955935234e-05, 0.0003207499193964119, 0.4, 6.38318452536289e-06, 0.00995509203921593, 6.414070426066139e-05, 0.4, 6.403251165068233e-05, 0.0001752852710069396, 6.256904769286699e-05, 5.183362665905935e-06, 6.6349677287433636e-06, 8.154817047148868e-05, 0.000302076728574865, 0.0001368534940531944, 9.262261206812104e-06, 0.00024686870252772737, 0.0001506845892346001 ], "xaxis": "x2", "y": [ 0.58, 0.0, 1.0, 0.9637196446937553, 0.7506021545567121, 1.0, 0.47484271229334013, 0.7207258543270095, 0.1720696594829825, 0.0, 0.7411899844464165, 0.6334228515625, 0.0, 1.0, 0.6266458202332452, 0.4338344521317167, 0.8664594010761464, 0.022851496934890747, 0.1769482558593154, 0.9088304992765188, 0.34190391190350056, 0.5912608122936966, 1.0, 0.0, 0.2675030448318856 ], "yaxis": "y2" } ], "layout": { "annotations": [ { "font": { "size": 14 }, "showarrow": false, "text": "Mean", "x": 0.25, "xanchor": "center", "xref": "paper", "y": 1, "yanchor": "bottom", "yref": "paper" }, { "font": { "size": 14 }, "showarrow": false, "text": "Standard Error", "x": 0.8, "xanchor": "center", "xref": "paper", "y": 1, "yanchor": "bottom", "yref": "paper" } ], "autosize": false, "height": 450, "hovermode": "closest", "legend": { "orientation": "h", "x": 0, "y": -0.25 }, "margin": { "b": 100, "l": 35, "pad": 0, "r": 35, "t": 35 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "accuracy" }, "width": 950, "xaxis": { "anchor": "y", "autorange": false, "domain": [ 0.05, 0.45 ], "exponentformat": "e", "range": [ -6.0, -0.3979400086720376 ], "tickfont": { "size": 11 }, "tickmode": "auto", "title": { "text": "lr" }, "type": "log" }, "xaxis2": { "anchor": "y2", "autorange": false, "domain": [ 0.6, 1 ], "exponentformat": "e", "range": [ -6.0, -0.3979400086720376 ], "tickfont": { "size": 11 }, "tickmode": "auto", "title": { "text": "lr" }, "type": "log" }, "yaxis": { "anchor": "x", "autorange": false, "domain": [ 0, 1 ], "exponentformat": "e", "range": [ 0.0, 1.0 ], "tickfont": { "size": 11 }, "tickmode": "auto", "title": { "text": "momentum" }, "type": "linear" }, "yaxis2": { "anchor": "x2", "autorange": false, "domain": [ 0, 1 ], "exponentformat": "e", "range": [ 0.0, 1.0 ], "tickfont": { "size": 11 }, "tickmode": "auto", "type": "linear" } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "render(ax_client.get_contour_plot(param_x=\"lr\", param_y=\"momentum\", metric_name=\"accuracy\"))" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "5c91d83a-9a90-4ea0-8df9-9d242d998cb3", "showInput": false }, "source": [ "Here we plot the optimization trace, showing the progression of finding the point with the optimal objective:\n", "\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:56:37.734325Z", "iopub.status.busy": "2023-08-11T15:56:37.734078Z", "iopub.status.idle": "2023-08-11T15:56:37.822055Z", "shell.execute_reply": "2023-08-11T15:56:37.821230Z" }, "executionStartTime": 1690415953760, "executionStopTime": 1690415954260, "originalKey": "3a767bdf-7ef3-48e7-b853-6fae5e9e02ff", "requestMsgId": "043de459-6a28-4796-b237-808385c9e54c", "showInput": true }, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "linkText": "Export to plot.ly", "plotlyServerURL": "https://plot.ly", "showLink": false }, "data": [ { "hoverinfo": "none", "legendgroup": "", "line": { "width": 0 }, "mode": "lines", "showlegend": false, "type": "scatter", "x": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 ], "y": [ 0.8418333333333333, 0.8418333333333333, 0.8418333333333333, 0.8418333333333333, 0.9258333333333333, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666 ] }, { "fill": "tonexty", "fillcolor": "rgba(128,177,211,0.3)", "legendgroup": "objective value", "line": { "color": "rgba(128,177,211,1)" }, "mode": "lines", "name": "objective value", "text": [ "
Parameterization:
lr: 2.6e-05
momentum: 0.58", "
Parameterization:
lr: 0.00995509203921593
momentum: 0.6334228515625", "
Parameterization:
lr: 5.183362665905935e-06
momentum: 0.022851496934890747", "
Parameterization:
lr: 6.6349677287433636e-06
momentum: 0.1769482558593154", "
Parameterization:
lr: 8.154817047148868e-05
momentum: 0.9088304992765188", "
Parameterization:
lr: 0.000302076728574865
momentum: 0.34190391190350056", "
Parameterization:
lr: 0.0001368534940531944
momentum: 0.5912608122936966", "
Parameterization:
lr: 9.262261206812104e-06
momentum: 1.0", "
Parameterization:
lr: 0.00024686870252772737
momentum: 0.0", "
Parameterization:
lr: 0.0001506845892346001
momentum: 0.2675030448318856", "
Parameterization:
lr: 0.000659122944500321
momentum: 0.0", "
Parameterization:
lr: 3.394372240270927e-05
momentum: 1.0", "
Parameterization:
lr: 0.00024882770207441035
momentum: 0.9637196446937553", "
Parameterization:
lr: 4.155513836454564e-05
momentum: 0.7506021545567121", "
Parameterization:
lr: 1e-06
momentum: 1.0", "
Parameterization:
lr: 7.634665657031963e-05
momentum: 0.47484271229334013", "
Parameterization:
lr: 7.5306955935234e-05
momentum: 0.7207258543270095", "
Parameterization:
lr: 0.0003207499193964119
momentum: 0.1720696594829825", "
Parameterization:
lr: 0.4
momentum: 0.0", "
Parameterization:
lr: 6.38318452536289e-06
momentum: 0.7411899844464165", "
Parameterization:
lr: 6.414070426066139e-05
momentum: 0.0", "
Parameterization:
lr: 0.4
momentum: 1.0", "
Parameterization:
lr: 6.403251165068233e-05
momentum: 0.6266458202332452", "
Parameterization:
lr: 0.0001752852710069396
momentum: 0.4338344521317167", "
Parameterization:
lr: 6.256904769286699e-05
momentum: 0.8664594010761464", "
Parameterization:
lr: 3.60908857615357e-05
momentum: 0.22853898479239831" ], "type": "scatter", "x": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 ], "y": [ 0.8418333333333333, 0.8418333333333333, 0.8418333333333333, 0.8418333333333333, 0.9258333333333333, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666 ] }, { "fill": "tonexty", "fillcolor": "rgba(128,177,211,0.3)", "hoverinfo": "none", "legendgroup": "", "line": { "width": 0 }, "mode": "lines", "showlegend": false, "type": "scatter", "x": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 ], "y": [ 0.8418333333333333, 0.8418333333333333, 0.8418333333333333, 0.8418333333333333, 0.9258333333333333, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666, 0.9286666666666666 ] }, { "line": { "color": "rgba(141,211,199,1)", "dash": "dash" }, "mode": "lines", "name": "model change", "type": "scatter", "x": [ 5, 5 ], "y": [ 0.8418333333333333, 0.9286666666666666 ] } ], "layout": { "showlegend": true, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Model performance vs. # of iterations" }, "xaxis": { "title": { "text": "Iteration" } }, "yaxis": { "title": { "text": "Accuracy" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "render(\n", " ax_client.get_optimization_trace()\n", ") " ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "collapsed": false, "customInput": null, "executionStartTime": 1689617061294, "executionStopTime": 1689617061325, "originalKey": "09aaec9d-c178-42e2-b549-663cd17f8c3d", "requestMsgId": "09aaec9d-c178-42e2-b549-663cd17f8c3d", "showInput": false }, "source": [ "## 8. Train CNN with best hyperparameters and evaluate on test set\n", "Note that the resulting accuracy on the test set generally won't be the same as the maximum accuracy achieved on the evaluation set throughout optimization. " ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:56:37.826510Z", "iopub.status.busy": "2023-08-11T15:56:37.825626Z", "iopub.status.idle": "2023-08-11T15:56:37.860658Z", "shell.execute_reply": "2023-08-11T15:56:37.859964Z" }, "executionStartTime": 1690415954397, "executionStopTime": 1690415954452, "originalKey": "27f92d16-93c4-43bb-a37f-e7a1aeecd856", "requestMsgId": "07eba5ce-bebe-4588-8dbb-07553efeb2b0", "showInput": true }, "outputs": [ { "data": { "text/plain": [ "{'lr': 0.000302076728574865, 'momentum': 0.34190391190350056}" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = ax_client.get_trials_data_frame()\n", "best_arm_idx = df.trial_index[df[\"accuracy\"] == df[\"accuracy\"].max()].values[0]\n", "best_arm = ax_client.get_trial_parameters(best_arm_idx)\n", "best_arm" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:56:37.863987Z", "iopub.status.busy": "2023-08-11T15:56:37.863689Z", "iopub.status.idle": "2023-08-11T15:56:37.868000Z", "shell.execute_reply": "2023-08-11T15:56:37.867294Z" }, "executionStartTime": 1690415954677, "executionStopTime": 1690415954681, "originalKey": "d0c7c645-c230-4654-a3b5-a01c61a09393", "requestMsgId": "0a962cef-65a1-4f95-9410-37a9a8e5c5ac", "showInput": true }, "outputs": [], "source": [ "combined_train_valid_set = torch.utils.data.ConcatDataset(\n", " [\n", " train_loader.dataset.dataset,\n", " valid_loader.dataset.dataset,\n", " ]\n", ")\n", "combined_train_valid_loader = torch.utils.data.DataLoader(\n", " combined_train_valid_set,\n", " batch_size=BATCH_SIZE,\n", " shuffle=True,\n", ")" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:56:37.871502Z", "iopub.status.busy": "2023-08-11T15:56:37.871051Z", "iopub.status.idle": "2023-08-11T15:57:04.851101Z", "shell.execute_reply": "2023-08-11T15:57:04.850410Z" }, "executionStartTime": 1690415954791, "executionStopTime": 1690416061340, "originalKey": "5695c78b-4c6e-4d35-ab08-6c60781bd8f1", "requestMsgId": "e22fa0c7-88cc-4d8a-bb7d-4f96fbae9a42", "showInput": true }, "outputs": [], "source": [ "net = train(\n", " net=CNN(),\n", " train_loader=combined_train_valid_loader,\n", " parameters=best_arm,\n", " dtype=dtype,\n", " device=device,\n", ")\n", "test_accuracy = evaluate(\n", " net=net,\n", " data_loader=test_loader,\n", " dtype=dtype,\n", " device=device,\n", ")" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:57:04.854385Z", "iopub.status.busy": "2023-08-11T15:57:04.854146Z", "iopub.status.idle": "2023-08-11T15:57:04.857976Z", "shell.execute_reply": "2023-08-11T15:57:04.857282Z" }, "executionStartTime": 1690416061460, "executionStopTime": 1690416061467, "originalKey": "7522e229-9641-4383-a892-12c3f0a8011c", "requestMsgId": "5552d77d-9c9d-4712-9256-2cb3da836f2c", "showInput": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Classification Accuracy (test set): 97.36%\n" ] } ], "source": [ "print(f\"Classification Accuracy (test set): {round(test_accuracy*100, 2)}%\")" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "c8232211-4837-4677-b86c-bce730635fff", "showInput": false }, "source": [ "## 9. Save / reload optimization to JSON / SQL\n", "We can serialize the state of optimization to JSON and save it to a `.json` file or save it to the SQL backend. For the former:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:57:04.861135Z", "iopub.status.busy": "2023-08-11T15:57:04.860898Z", "iopub.status.idle": "2023-08-11T15:57:04.891328Z", "shell.execute_reply": "2023-08-11T15:57:04.890766Z" }, "executionStartTime": 1690416061571, "executionStopTime": 1690416061657, "originalKey": "6afddb45-c980-4b14-b5e9-927747ea98ea", "requestMsgId": "bab02be8-706c-4422-b97b-c222b5084bba", "showInput": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:57:04] ax.service.ax_client: Saved JSON-serialized state of optimization to `ax_client_snapshot.json`.\n" ] } ], "source": [ "ax_client.save_to_json_file() # For custom filepath, pass `filepath` argument." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:57:04.894508Z", "iopub.status.busy": "2023-08-11T15:57:04.894249Z", "iopub.status.idle": "2023-08-11T15:57:05.020163Z", "shell.execute_reply": "2023-08-11T15:57:05.019552Z" }, "executionStartTime": 1690416061758, "executionStopTime": 1690416062132, "originalKey": "31e6f7b4-cf6b-4967-95ff-f76d03657fb2", "requestMsgId": "f2d10848-f995-420d-88e7-9036894d7b1b", "showInput": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:57:05] ax.service.ax_client: Starting optimization with verbose logging. To disable logging, set the `verbose_logging` argument to `False`. Note that float values in the logs are rounded to 6 decimal points.\n" ] } ], "source": [ "restored_ax_client = (\n", " AxClient.load_from_json_file()\n", ") # For custom filepath, pass `filepath` argument." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "122510f5-5b9e-4b1c-9f5e-8c8ea2e08848", "showInput": false }, "source": [ "To store state of optimization to an SQL backend, first follow [setup instructions](https://ax.dev/docs/storage.html#sql) on Ax website." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "bd80e639-aa0f-4dc1-8542-0caf0d674fda", "showInput": false }, "source": [ "Having set up the SQL backend, pass `DBSettings` to `AxClient` on instantiation (note that `SQLAlchemy` dependency will have to be installed – for installation, refer to [optional dependencies](https://ax.dev/docs/installation.html#optional-dependencies) on Ax website):" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:57:05.023547Z", "iopub.status.busy": "2023-08-11T15:57:05.023295Z", "iopub.status.idle": "2023-08-11T15:57:05.108538Z", "shell.execute_reply": "2023-08-11T15:57:05.107689Z" }, "executionStartTime": 1690416062222, "executionStopTime": 1690416062314, "originalKey": "80eb6a2e-6564-405e-b5d4-d448e32dbf60", "requestMsgId": "65f2307f-b800-4415-b9e7-11734a2a6889", "showInput": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:57:05] ax.service.ax_client: Starting optimization with verbose logging. To disable logging, set the `verbose_logging` argument to `False`. Note that float values in the logs are rounded to 6 decimal points.\n" ] } ], "source": [ "from ax.storage.sqa_store.structs import DBSettings\n", "\n", "# URL is of the form \"dialect+driver://username:password@host:port/database\".\n", "db_settings = DBSettings(url=\"sqlite:///foo.db\")\n", "# Instead of URL, can provide a `creator function`; can specify custom encoders/decoders if necessary.\n", "new_ax = AxClient(db_settings=db_settings)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "adafd3aa-b84e-4e86-9694-a29f94c6d5f3", "showInput": false }, "source": [ "When valid `DBSettings` are passed into `AxClient`, a unique experiment name is a required argument (`name`) to `ax_client.create_experiment`. The **state of the optimization is auto-saved** any time it changes (i.e. a new trial is added or completed, etc). \n", "\n", "To reload an optimization state later, instantiate `AxClient` with the same `DBSettings` and use `ax_client.load_experiment_from_database(experiment_name=\"my_experiment\")`." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "2f4a875b-1e18-4352-955d-576d6b01c5ed", "showInput": false }, "source": [ "# Special Cases" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "0d49e448-4768-401d-ac1d-810aee633c9a", "showInput": false }, "source": [ "**Evaluation failure**: should any optimization iterations fail during evaluation, `log_trial_failure` will ensure that the same trial is not proposed again." ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:57:05.111881Z", "iopub.status.busy": "2023-08-11T15:57:05.111607Z", "iopub.status.idle": "2023-08-11T15:57:05.972537Z", "shell.execute_reply": "2023-08-11T15:57:05.971771Z" }, "executionStartTime": 1690416062420, "executionStopTime": 1690416064316, "originalKey": "faa83f1d-31da-481a-96e4-ccbc12f30b91", "requestMsgId": "80a40c3a-76ed-4e1d-aa77-3652fadbe69f", "showInput": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:57:05] ax.service.ax_client: Generated new trial 26 with parameters {'lr': 0.000133, 'momentum': 0.0}.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:57:05] ax.service.ax_client: Registered failure of trial 26.\n" ] } ], "source": [ "_, trial_index = ax_client.get_next_trial()\n", "ax_client.log_trial_failure(trial_index=trial_index)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "c826a96e-9431-49bd-87d7-62b517537a15", "showInput": false }, "source": [ "**Need to run many trials in parallel**: for optimal results and optimization efficiency, we strongly recommend sequential optimization (generating a few trials, then waiting for them to be completed with evaluation data). However, if your use case needs to dispatch many trials in parallel before they are updated with data and you are running into the *\"All trials for current model have been generated, but not enough data has been observed to fit next model\"* error, instantiate `AxClient` as `AxClient(enforce_sequential_optimization=False)`." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "683378e0-893b-49a1-b090-084dc394da1a", "showInput": false }, "source": [ "# Service API Exceptions Meaning and Handling\n", "[**`DataRequiredError`**](https://ax.dev/api/exceptions.html#ax.exceptions.core.DataRequiredError): Ax generation strategy needs to be updated with more data to proceed to the next optimization model. When the optimization moves from initialization stage to the Bayesian optimization stage, the underlying BayesOpt model needs sufficient data to train. For optimal results and optimization efficiency (finding the optimal point in the least number of trials), we recommend sequential optimization (generating a few trials, then waiting for them to be completed with evaluation data). Therefore, the correct way to handle this exception is to wait until more trial evaluations complete and log their data via `ax_client.complete_trial(...)`. \n", "\n", "However, if there is strong need to generate more trials before more data is available, instantiate `AxClient` as `AxClient(enforce_sequential_optimization=False)`. With this setting, as many trials will be generated from the initialization stage as requested, and the optimization will move to the BayesOpt stage whenever enough trials are completed." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "customInput": null, "originalKey": "4602d41d-43aa-46d2-9ca6-392c414d0b5f", "showInput": false }, "source": [ "[**`MaxParallelismReachedException`**](https://ax.dev/api/modelbridge.html#ax.modelbridge.generation_strategy.MaxParallelismReachedException): generation strategy restricts the number of trials that can be run simultaneously (to encourage sequential optimization), and the parallelism limit has been reached. The correct way to handle this exception is the same as `DataRequiredError` – to wait until more trial evluations complete and log their data via `ax_client.complete_trial(...)`.\n", " \n", "In some cases higher parallelism is important, so `enforce_sequential_optimization=False` kwarg to AxClient allows the user to suppress limiting of parallelism. It's also possible to override the default parallelism setting for all stages of the optimization by passing `choose_generation_strategy_kwargs` to `ax_client.create_experiment`:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:57:05.976322Z", "iopub.status.busy": "2023-08-11T15:57:05.976077Z", "iopub.status.idle": "2023-08-11T15:57:05.986013Z", "shell.execute_reply": "2023-08-11T15:57:05.985206Z" }, "executionStartTime": 1690416064534, "executionStopTime": 1690416064564, "originalKey": "d62e6cfd-5127-450e-80b7-d0edcaf97d6c", "requestMsgId": "cb9a17f9-5734-41c6-9018-c0635c61d8b3", "showInput": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:57:05] ax.service.ax_client: Starting optimization with verbose logging. To disable logging, set the `verbose_logging` argument to `False`. Note that float values in the logs are rounded to 6 decimal points.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:57:05] ax.service.utils.instantiation: Inferred value type of ParameterType.FLOAT for parameter x. If that is not the expected value type, you can explicity specify 'value_type' ('int', 'float', 'bool' or 'str') in parameter dict.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:57:05] ax.service.utils.instantiation: Inferred value type of ParameterType.FLOAT for parameter y. If that is not the expected value type, you can explicity specify 'value_type' ('int', 'float', 'bool' or 'str') in parameter dict.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:57:05] ax.service.utils.instantiation: Created search space: SearchSpace(parameters=[RangeParameter(name='x', parameter_type=FLOAT, range=[-5.0, 10.0]), RangeParameter(name='y', parameter_type=FLOAT, range=[0.0, 15.0])], parameter_constraints=[]).\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:57:05] ax.modelbridge.dispatch_utils: Using Models.GPEI since there are more ordered parameters than there are categories for the unordered categorical parameters.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:57:05] 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" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:57:05] ax.modelbridge.dispatch_utils: calculated num_initialization_trials=5\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:57:05] ax.modelbridge.dispatch_utils: num_completed_initialization_trials=0 num_remaining_initialization_trials=5\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[INFO 08-11 11:57:05] ax.modelbridge.dispatch_utils: Using Bayesian Optimization generation strategy: GenerationStrategy(name='Sobol+GPEI', steps=[Sobol for 5 trials, GPEI for subsequent trials]). Iterations after 5 will take longer to generate due to model-fitting.\n" ] } ], "source": [ "ax_client = AxClient()\n", "ax_client.create_experiment(\n", " parameters=[\n", " {\"name\": \"x\", \"type\": \"range\", \"bounds\": [-5.0, 10.0]},\n", " {\"name\": \"y\", \"type\": \"range\", \"bounds\": [0.0, 15.0]},\n", " ],\n", " # Sets max parallelism to 10 for all steps of the generation strategy.\n", " choose_generation_strategy_kwargs={\"max_parallelism_override\": 10},\n", ")" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false, "customInput": null, "customOutput": null, "execution": { "iopub.execute_input": "2023-08-11T15:57:05.990603Z", "iopub.status.busy": "2023-08-11T15:57:05.990376Z", "iopub.status.idle": "2023-08-11T15:57:05.994915Z", "shell.execute_reply": "2023-08-11T15:57:05.994162Z" }, "executionStartTime": 1690416064679, "executionStopTime": 1690416064702, "originalKey": "bc15d2cf-8ddc-4d66-83b6-7469cd15aa4d", "requestMsgId": "996c4bd3-b296-4cf9-8f95-cbf488639c2f", "showInput": true }, "outputs": [ { "data": { "text/plain": [ "[(5, 10), (-1, 10)]" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ax_client.get_max_parallelism() # Max parallelism is now 10 for all stages of the optimization." ] } ], "metadata": { "fileHeader": "", "kernelspec": { "display_name": "python3", "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.9.17" } }, "nbformat": 4, "nbformat_minor": 2 }