From 2cbbdc4a98d7ec8496ddb586a2dc4478e7f9d956 Mon Sep 17 00:00:00 2001 From: Akshay Date: Thu, 19 Dec 2019 11:57:25 -0800 Subject: [PATCH] initial commit --- .gitignore | 5 + README.md | 20 + constrained_lqr.ipynb | 1071 ++++++++++++++++++ lqr.ipynb | 309 ++++++ markowitz_tuning.ipynb | 566 ++++++++++ supply_chain.ipynb | 898 +++++++++++++++ utils.py | 73 ++ vehicle.ipynb | 2378 ++++++++++++++++++++++++++++++++++++++++ 8 files changed, 5320 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 constrained_lqr.ipynb create mode 100644 lqr.ipynb create mode 100644 markowitz_tuning.ipynb create mode 100644 supply_chain.ipynb create mode 100644 utils.py create mode 100644 vehicle.ipynb diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8b4d452 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.ipynb_checkpoints/ +*.pdf +*.jpg +.DS_Store +__pycache__/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..6feff44 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +Learning convex optimization control policies +============================================= + +This repository accompanies the paper [Learning convex optimization control policies](http://web.stanford.edu/~boyd/papers/pdf/learning_cocps.pdf). It contains the source code for the examples therein. + +Many control policies used in various applications determine the input or +action by solving a convex optimization problem that depends on the current +state and some parameters. These types of control policies are tuned by varying +the parameters in the optimization problem, such as the linear quadratic +regulator weights, to obtain good performance, judged by application-specific +metrics. Our paper introduces a method to automate this process, by adjusting +the parameters using an approximate gradient of the performance metric with +respect to the parameters. Our procedure relies on recently developed methods +that can efficiently evaluate the derivative of the solution of a convex +optimization problem with respect to its parameters. + +This repository contains several examples of our method, in IPython notebooks. +Our examples make use the Python package +[cvxpylayers](https://github.com/cvxgrp/cvxpylayers) to differentiate through +convex optimization problems. diff --git a/constrained_lqr.ipynb b/constrained_lqr.ipynb new file mode 100644 index 0000000..cbe16ac --- /dev/null +++ b/constrained_lqr.ipynb @@ -0,0 +1,1071 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "import torch\n", + "import cvxpy as cp\n", + "import numpy as np\n", + "from cvxpylayers.torch import CvxpyLayer\n", + "from scipy.linalg import sqrtm\n", + "from scipy.linalg import solve_discrete_are\n", + "\n", + "torch.set_default_dtype(torch.double)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "np.random.seed(1)\n", + "\n", + "# generate problem data\n", + "n, m = 8, 2\n", + "noise = np.sqrt(.25)\n", + "u_max = .1\n", + "Q0 = np.eye(n)\n", + "R0 = np.eye(m)\n", + "A = np.random.randn(n, n)\n", + "A /= np.max(np.abs(np.linalg.eig(A)[0]))\n", + "B = np.random.randn(n, m)\n", + "W = noise**2 * np.eye(n)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "6.037499214903595\n" + ] + } + ], + "source": [ + "# compute lqr solution\n", + "P = cp.Variable((n, n), PSD=True)\n", + "R0cvxpy = cp.Parameter((m, m), PSD=True)\n", + "\n", + "objective = cp.trace(P@W)\n", + "constraints = [cp.bmat([\n", + " [R0cvxpy + B.T@P@B, B.T@P@A],\n", + " [A.T@P@B, Q0+A.T@P@A-P]\n", + "]) >> 0, P >> 0]\n", + "R0cvxpy.value = R0\n", + "result = cp.Problem(cp.Maximize(objective), constraints).solve()\n", + "P_lqr = P.value\n", + "print(result)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "P_are = solve_discrete_are(A, B, Q0, R0)\n", + "np.testing.assert_allclose(P_are, P_lqr, atol=1e-3)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "10.794702792539413\n" + ] + } + ], + "source": [ + "# compute lower bound\n", + "P = cp.Variable((n, n), PSD=True)\n", + "R = cp.Variable((m, m), PSD=True)\n", + "lam = cp.Variable(m, nonneg=True)\n", + "\n", + "objective = cp.trace(P@W) - (u_max**2)*cp.sum(lam)\n", + "constraints = [R - R0 << cp.diag(lam), P >> 0, R >> 0, lam >= 0]\n", + "constraints += [cp.bmat([\n", + " [R + B.T@P@B, B.T@P@A],\n", + " [A.T@P@B, Q0 + A.T@P@A-P]\n", + "]) >> 0]\n", + "result = cp.Problem(cp.Maximize(objective), constraints).solve()\n", + "P_lb = P.value\n", + "print(result)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "K_lqr = -np.linalg.solve(R0 + B.T @ P_lqr @ B, B.T @ P_lqr @ A)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "# set up policy\n", + "x = cp.Parameter((n, 1))\n", + "P_sqrt = cp.Parameter((n, n))\n", + "q = cp.Parameter(n)\n", + "\n", + "u = cp.Variable((m, 1))\n", + "xnext = cp.Variable((n, 1))\n", + "\n", + "objective = cp.quad_form(u, R0) + cp.sum_squares(P_sqrt @ xnext) + q @ xnext\n", + "constraints = [xnext == A @ x + B @ u, cp.norm(u, \"inf\") <= u_max]\n", + "prob = cp.Problem(cp.Minimize(objective), constraints)\n", + "policy = CvxpyLayer(prob, [x, P_sqrt, q], [u])" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "Qt, Rt, At, Bt = map(torch.from_numpy, [Q0, R0, A, B])" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "def loss(time_horizon, batch_size, K, seed=None):\n", + " if seed is not None:\n", + " torch.manual_seed(seed)\n", + " x_batch = noise * torch.randn(batch_size, n, 1).double()\n", + " K_batch = K.repeat(batch_size, 1, 1)\n", + " Qt_batch = Qt.repeat(batch_size, 1, 1)\n", + " Rt_batch = Rt.repeat(batch_size, 1, 1)\n", + " At_batch = At.repeat(batch_size, 1, 1)\n", + " Bt_batch = Bt.repeat(batch_size, 1, 1)\n", + " loss = 0.0\n", + " for _ in range(time_horizon):\n", + " u_batch = torch.clamp(K @ x_batch, min=-u_max, max=u_max)\n", + " state_cost = torch.bmm(torch.bmm(Qt_batch, x_batch).transpose(2, 1), x_batch)\n", + " control_cost = torch.bmm(torch.bmm(Rt_batch, u_batch).transpose(2, 1), u_batch)\n", + " cost_batch = (state_cost.squeeze() + control_cost.squeeze())\n", + " loss += cost_batch.sum() / (time_horizon * batch_size)\n", + " x_batch = torch.bmm(At_batch, x_batch) + \\\n", + " torch.bmm(Bt_batch, u_batch) + \\\n", + " noise * torch.randn(batch_size, n, 1).double()\n", + " return loss" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [], + "source": [ + "K_clipped = loss(100, 6, torch.from_numpy(K_lqr), seed=0).item()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "def loss(time_horizon, batch_size, P_sqrt, q, seed=None):\n", + " if seed is not None:\n", + " torch.manual_seed(seed)\n", + " x_batch = noise * torch.randn(batch_size, n, 1).double()\n", + " P_sqrt_batch = P_sqrt.repeat(batch_size, 1, 1)\n", + " q_batch = q.repeat(batch_size, 1)\n", + " Qt_batch = Qt.repeat(batch_size, 1, 1)\n", + " Rt_batch = Rt.repeat(batch_size, 1, 1)\n", + " At_batch = At.repeat(batch_size, 1, 1)\n", + " Bt_batch = Bt.repeat(batch_size, 1, 1)\n", + " loss = 0.0\n", + " for _ in range(time_horizon):\n", + " u_batch, = policy(x_batch, P_sqrt_batch, q_batch, solver_args={\"acceleration_lookback\": 0, \"eps\":1e-8, \"max_iters\":10000})\n", + " state_cost = torch.bmm(torch.bmm(Qt_batch, x_batch).transpose(2, 1), x_batch)\n", + " control_cost = torch.bmm(torch.bmm(Rt_batch, u_batch).transpose(2, 1), u_batch)\n", + " cost_batch = (state_cost.squeeze() + control_cost.squeeze())\n", + " loss += cost_batch.sum() / (time_horizon * batch_size)\n", + " x_batch = torch.bmm(At_batch, x_batch) + \\\n", + " torch.bmm(Bt_batch, u_batch) + \\\n", + " noise * torch.randn(batch_size, n, 1).double()\n", + " return loss" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/shane/miniconda3/envs/cvxpylayers/lib/python3.7/site-packages/diffcp/cone_program.py:259: UserWarning: Solved/Inaccurate.\n", + " warnings.warn(\"Solved/Inaccurate.\")\n" + ] + } + ], + "source": [ + "with torch.no_grad():\n", + " clf_lqr = loss(100, 6, torch.from_numpy(sqrtm(P_lqr)), torch.zeros(n, dtype=torch.double), seed=0).item()\n", + " clf_lb = loss(100, 6, torch.from_numpy(sqrtm(P_lb)), torch.zeros(n, dtype=torch.double), seed=0).item()" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(16.940040755077668, 12.975429366507662)" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "clf_lqr, clf_lb" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [], + "source": [ + "# initialize parameters\n", + "torch.manual_seed(0)\n", + "P_sqrt = torch.from_numpy(sqrtm(P_lqr)); P_sqrt.requires_grad_(True);\n", + "q = torch.zeros(n).double(); q.requires_grad_(True);" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 001, loss: 16.940, dist: 20.232\n", + "it: 002, loss: 14.258, dist: 18.828\n", + "it: 003, loss: 14.035, dist: 18.613\n", + "it: 004, loss: 13.795, dist: 18.323\n", + "it: 005, loss: 13.677, dist: 17.990\n", + "it: 006, loss: 13.436, dist: 17.716\n", + "it: 007, loss: 13.311, dist: 17.600\n", + "it: 008, loss: 13.265, dist: 17.450\n", + "it: 009, loss: 13.331, dist: 17.374\n", + "it: 010, loss: 13.231, dist: 17.224\n", + "it: 011, loss: 13.333, dist: 17.065\n", + "it: 012, loss: 13.397, dist: 17.053\n", + "it: 013, loss: 13.474, dist: 17.010\n", + "it: 014, loss: 13.248, dist: 16.918\n", + "it: 015, loss: 13.383, dist: 17.065\n", + "it: 016, loss: 13.296, dist: 17.016\n", + "it: 017, loss: 13.347, dist: 16.944\n", + "it: 018, loss: 13.295, dist: 16.676\n", + "it: 019, loss: 13.265, dist: 16.674\n", + "it: 020, loss: 13.175, dist: 16.662\n", + "it: 021, loss: 13.159, dist: 16.625\n", + "it: 022, loss: 13.211, dist: 16.636\n", + "it: 023, loss: 13.231, dist: 16.481\n", + "it: 024, loss: 13.234, dist: 16.443\n", + "it: 025, loss: 13.150, dist: 16.425\n", + "it: 026, loss: 13.065, dist: 16.363\n", + "it: 027, loss: 13.053, dist: 16.355\n", + "it: 028, loss: 13.062, dist: 16.311\n", + "it: 029, loss: 13.102, dist: 16.175\n", + "it: 030, loss: 13.066, dist: 16.092\n", + "it: 031, loss: 13.236, dist: 16.033\n", + "it: 032, loss: 13.273, dist: 15.978\n", + "it: 033, loss: 13.232, dist: 15.981\n", + "it: 034, loss: 13.398, dist: 16.056\n", + "it: 035, loss: 13.273, dist: 16.043\n", + "it: 036, loss: 13.270, dist: 16.134\n", + "it: 037, loss: 13.166, dist: 16.077\n", + "it: 038, loss: 13.134, dist: 16.085\n", + "it: 039, loss: 13.091, dist: 16.217\n", + "it: 040, loss: 13.106, dist: 16.156\n", + "it: 041, loss: 13.066, dist: 16.273\n", + "it: 042, loss: 13.164, dist: 16.026\n", + "it: 043, loss: 13.083, dist: 16.015\n", + "it: 044, loss: 13.021, dist: 15.920\n", + "it: 045, loss: 13.044, dist: 15.888\n", + "it: 046, loss: 13.039, dist: 15.816\n", + "it: 047, loss: 13.058, dist: 15.771\n", + "it: 048, loss: 13.089, dist: 15.847\n", + "it: 049, loss: 13.081, dist: 15.821\n", + "it: 050, loss: 13.149, dist: 15.707\n", + "it: 051, loss: 13.145, dist: 15.753\n", + "it: 052, loss: 13.073, dist: 15.599\n", + "it: 053, loss: 13.065, dist: 15.589\n", + "it: 054, loss: 13.065, dist: 15.591\n", + "it: 055, loss: 13.065, dist: 15.589\n", + "it: 056, loss: 13.058, dist: 15.584\n", + "it: 057, loss: 13.058, dist: 15.581\n", + "it: 058, loss: 13.062, dist: 15.586\n", + "it: 059, loss: 13.064, dist: 15.587\n", + "it: 060, loss: 13.065, dist: 15.586\n", + "it: 061, loss: 13.068, dist: 15.591\n", + "it: 062, loss: 13.061, dist: 15.590\n", + "it: 063, loss: 13.061, dist: 15.590\n", + "it: 064, loss: 13.060, dist: 15.595\n", + "it: 065, loss: 13.058, dist: 15.596\n", + "it: 066, loss: 13.060, dist: 15.598\n", + "it: 067, loss: 13.056, dist: 15.600\n", + "it: 068, loss: 13.056, dist: 15.610\n", + "it: 069, loss: 13.047, dist: 15.602\n", + "it: 070, loss: 13.044, dist: 15.596\n", + "it: 071, loss: 13.041, dist: 15.601\n", + "it: 072, loss: 13.040, dist: 15.604\n", + "it: 073, loss: 13.041, dist: 15.615\n", + "it: 074, loss: 13.040, dist: 15.605\n", + "it: 075, loss: 13.040, dist: 15.603\n", + "it: 076, loss: 13.034, dist: 15.592\n", + "it: 077, loss: 13.033, dist: 15.584\n", + "it: 078, loss: 13.030, dist: 15.588\n", + "it: 079, loss: 13.024, dist: 15.590\n", + "it: 080, loss: 13.019, dist: 15.591\n", + "it: 081, loss: 13.024, dist: 15.585\n", + "it: 082, loss: 13.020, dist: 15.578\n", + "it: 083, loss: 13.022, dist: 15.582\n", + "it: 084, loss: 13.029, dist: 15.596\n", + "it: 085, loss: 13.023, dist: 15.585\n", + "it: 086, loss: 13.019, dist: 15.582\n", + "it: 087, loss: 13.024, dist: 15.581\n", + "it: 088, loss: 13.014, dist: 15.575\n", + "it: 089, loss: 13.016, dist: 15.571\n", + "it: 090, loss: 13.012, dist: 15.557\n", + "it: 091, loss: 13.013, dist: 15.552\n", + "it: 092, loss: 13.012, dist: 15.555\n", + "it: 093, loss: 13.012, dist: 15.555\n", + "it: 094, loss: 13.017, dist: 15.561\n", + "it: 095, loss: 13.019, dist: 15.565\n", + "it: 096, loss: 13.018, dist: 15.551\n", + "it: 097, loss: 13.017, dist: 15.544\n", + "it: 098, loss: 13.013, dist: 15.541\n", + "it: 099, loss: 13.015, dist: 15.539\n", + "it: 100, loss: 13.014, dist: 15.537\n" + ] + } + ], + "source": [ + "opt = torch.optim.SGD([P_sqrt, q], lr=.1)\n", + "losses = []\n", + "for k in range(100):\n", + " with torch.no_grad():\n", + " test_loss = loss(100, 6, P_sqrt.detach(), q.detach(), seed=0).item()\n", + " losses.append(test_loss)\n", + " P_np = (P_sqrt.t() @ P_sqrt).detach().numpy()\n", + " dist = np.linalg.norm(P_np - P_lb)\n", + " print(\"it: %03d, loss: %3.3f, dist: %3.3f\" % (k+1, test_loss, dist))\n", + " opt.zero_grad()\n", + " l = loss(100, 6, P_sqrt, q, seed=k+1)\n", + " l.backward()\n", + " opt.step()\n", + " if k == 50:\n", + " opt = torch.optim.SGD([P_sqrt, q], lr=.01)" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAASYAAAC6CAYAAAADF+BWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAem0lEQVR4nO3dfWxT1/kH8O/JK0kIMSal6wtlcWjQpAqBY7rBxpq1DtuqRkyQhD/YJtoUZ+vWCVZ+ZAGqTistTUpZWatSu5saqUVasJk0iOjWeFOZWpiaxD/YCwhY/Kt4kSoUghkQ0iT28/vD916uHTuxE78cO89Hsojv68G5fnLOvec8RxARGGNMJjnpLgBjjIXjwMQYkw4HJsaYdDgwMcakw4GJMSYdDkyMMenkpeOkQggzAAsROXTLrAAMAHwAQETudJSNMZZ+Ka8xKQGoOWyZAYCBiFxKQDKnulyMMXmkPDApgac7bJkPQKsQwqQsmpfqcjHG5JGWplwULQD6hBBuImqItIEQog5AXWlp6aaqqqrUlo4xlnB9fX0DRHRX+HKRjiEpQoh6AMawe0zbAHgBtAIYJKLaaPtbLBbq7e1NfkEZY0klhOgjIkv4cimeyimByqPcY6oG4FXuRTHGZiApAhMAI4K1JZUz7D1jbAZJ+T0mpSa0HoBBCOElIjcROYQQNiEEAAwC8BERBybGZqiUByblqdy4Pkr6+02MsZlNpqdyjMUkEAjg0qVLuHXrVrqLwiaRn5+P+fPnY86cOXHtx4GJZZyBgQEIIbB48WLk5Mhym5SFIyLcvn0bly9fBoC4ghP/VlnG8fl8uPvuuzkoSU4IgeLiYtx33324cuVKXPvyb5ZlHL/fj/z8/HQXg8WoqKgIo6Ojce2TlsAkhDALIWy69wYhxDUhRJ/utS0dZWOZQXmCyzLAVH5X6eou0ACgT7fYBKBCGTMHIUQ9EblSXTbGmBzS0l1AySZg1C3zqD8rKVE8kfZljM0MMj6VsxJReyIOdPToUdx///1YsmRJIg7HWEzcbjc8Hg/M5mD2HqPRiM7OTrS1tWnrfT4fTCYTBgcH4fP5UF9fH9Mxmpub0dLSAq/Xi9bWVgBAT08PamtrYbVm0SguIkr5C0A9AFuE5VYA9RPsVwfAsWjRIopFWVkZ/exnP4tpW5Y5Tp8+ne4iRGW322nbtm0hy/r7+8lsNmvr7XZ7yHqn0xmyz2THcDqdZLPZQtYbDAa6du1awv4fiRbtdwaglyJ812WrMTUAsEdbSURHAByxWCybYjlYWVkZ/vvf/yaqbIxNqrm5Wf0jqjGZTFi/fj0AoKWlBdeuXQtZX19fj5aWFrS2tsJgMEx6jEiMRiO8Xq9Ww8p0sgUmC4J5mRJizpw5HJhmgM2bN+PkyZNJPcfSpUvx+uuvT7iN2+2GyWSKuG7btm0TrjeZTHC73TAYDBMeIxKvNzisNFuCEiDJIF79elKezCXCnDlzcP369UQdjrFp8/kiX96Dg4NxHcfr9Wr3qgYHB9Hf35+I4klDmkG8yrrqRJ6rrKwMAwMDiTwkk9BkNZlUsVqtWu0lnNvthsViiRqA1GaYyWSa8BjqDW6TyZRdN7vDZHXPb27KsVRzOp1obg6ZawM+nw9GoxEGgwFtbW1obw996OxwOGCz2bQm3ETHmClku8eUUNyUY6lWX18Pg8GA9vZ2mEwmGAwGANBqNzabDS6XCy6XCwaDQWvaqV0JJjuG1+tFZ2cnvF5vSHeCbJP1gYlrTCzVrFbrhM2s8D5L8RzDZDLB6XROq3yZIKubcmVlZRgaGsLY2Fi6i8IYi0NWByY1/wvXmhjLLFJkF1CWGZS839bwdVPFgYmxzCTFFOEKJxE5lO4EUeeUi0dZWRkADkyMZRopsgsoGQV8um0izsQbL64xMZaZZHkqZwEwqNSmDABACcjHpAYm7jLAWGaRJTAZEJwy3A0AQohuIYSHwuaWE0LUAahbtGhRTAflphxjmUmWp3JehM6860Mwq2UIIjpCRDY14EyGm3KMZSZZApMboYHIhARMEc5NOcYykxTZBYjIJ4To1HUT2B3ejJuK4uJi5Obmco2JsQyT8hqTEogaiKhWn/KEiFxKdwFHIm58A8HZGXhYCptJ3G43KisrU35er9eL2tpaeDyJSdcvS1MuaXggL5tJrFarNug3lUwmU0IHFM+IwMQ1JjaTpCs9yrx58xJ2rKwPTJz3e2aoqakZ93rrrbcAAENDQxHXd3R0AAAGBgYiru/s7AQAXLx4MaYy6JtRatPG7XZr6+bOnavNfqLOdDLZuvb2drjdbjgcDi1rZWVlJdxuNxoaGqJmxHS73XC73Whvbw9JPOdwOODxeOB2u+FyuSYtt8fj0c7ndrvR3Nwcck6Hw6GVu6enJ6bPKRay9GNKmjlz5sQ9bzpjU2G1WrVkbyaTCbW1tePWqalMDAYDGhoa0NfXF3WdmixOXd7Q0ACn0wmTyQSj0Thh+hN1H6vViurqavT19WmBSG1ytbS0aOeNVm41q6b68ng86O3thdVq1VL76rNqJsqMCEznz59PdzFYkn300UdR1xUXF0+4vry8fML1CxYsmHrBdPRNrPAUupHW9fX1obq6WtsuPGDESq3hdHd3o6HhzmivyspK9Pb2xnSsSM3D7u5uLF++POZyxIObcowlkD4rZX9/f9Smljrh5UTr1ECk1lYaGxunXCYAIUEOAPr6+mCxWGIqd6Qb6suXLx+XnzzeSRWikSntSZuS+sSQqLQnAN/8Zqm1fv16HDx4UHts3tnZGfIld7lc8Hg8cDgc45pi4evUTJculwtut1tLp9vb2wuHwxG1DGazWbvvoz+PzWaDz+fT7i/V1tZqtaVo5fZ4PPB6vXA4HPD5fOju7obT6QyZPVg9l8fjgd1ujxqM4xJpFsxkvhCcbdeOsJl4AXQD6AfgBGCY6BjV1dUxzwD64osvEgAaGRmJeR8mN5ln4p2I1Wqd0rpsEO9MvGnpYKkEoXB2IqqkYOfLhM0txwN5mQzUmo56AzrWdTOVTDe/TYlOewKEDuRNZD8LxuJhNpvHTQ0ey7qZSprARETaZFtCiD4hhDu85hRv2hOAMwwwlomkeConhKgXQugnZh9EAtKeAHeacjwshbHMIUuNKTwfk5GIEjIakGtMjGUeWdKeeJRakwnBmlJLos7HgYmxzJOWyQgQTAwXvjwpjyQ4WRxjmUeKe0zJxN0FGMs8WR+YZs2ahby8PA5MjGWQrA9MahZLbsoxljmyPjABPJCXpYaauygd0pFSN9HpdPVmRGDigbwsFdTcRemQjpS6iU6nq8eBibEskY6Uuska5iVLB8ukuv/++/GnP/0JAwMDKC8vT3dxWBLU1NRMus0TTzyBrVu3attv3LgRGzduxMDAgJbCI5qJEslF43A4YLFYMDg4qKUJcblc2LRpE/7yl7/A7Xajs7NT+9lut8PpdMLhcMBsNsPr9cJqtcLr9aK5uRl2ux12ux3vvPNO1NqRPiVufX09TCZTxHKoaXL7+/u147e0tMBqtcLj8aChoQF2ux0A4HQ60dbWpp3T4XBoWTR7enq0DJaJJE0+Jt26eqUTZsJs374dN27cQEtLwvptMjYhfRpbq9WKnp4eLViozS6bLfgVMBgMMJlMcDqdOHjwIIBg08xms2nBQp9Od6Imm9VqhdVqxbZt29DQ0BC1HLGm07VarVqmSwAh6XST2XRNV8/vBgB9EdYZEOwVbk/kOR966CFs2bIFr776Kp566il8/etfT+ThmQTirdHot58ste5UTJTGVq391NbWorm5WavlmM3mhKXTBaAldsuUdLp6MuVjAgALgMRNtaDzwgsv4IEHHsCPfvQjjI2NJeMUjGkmSmOrJvIHgMbGRq3JBCBh6XSBYE0sk9Lp6klz81sIYSXdzLyJVlJSgl//+tf417/+hd/97nfJOg2bwfRpaCdKYwvcmTXFYDDAaDRq92mmmk4XiJxSN6PS6eqIYHbL1BJC1COYQcChvDco771K+hNPpCCly8e0aSoznxARHnnkEZw9exbnz5/XxtGxzHLmzBl85StfSXcxWByi/c6EEH1EZAlfHleNSQixVPfzY0KIR6dUyvEsuJPBcjmAWiXTQIip5GPSE0Jg7969uHLlCtra2qZXYsZY0sTblNOCBRH9BRGSuU2FkvrErdSSvAC6icg72X5TYbFYsGHDBuzduxf//Oc/k3EKxtg0xRSYhBCbhBC9ANqFED3K689TOaEuH1NDeLcAIYQZwVlUmiPVmBJl9+7dmDt3LlatWoVjx44l6zSMsSmKqbsAEb0jhDgIwERE/zudE0bLx6Ss8wCons7xY7FgwQKcOHEC3/3ud7F69Wp0dXWFPJZljKVXzE05IrquD0pCiC8no0CpsnDhQnz88ceoqKjAT3/6U+5CkGHS8dCGTU0gEIh7n3hvfu8WQiwTQuwH8CMhxNNxn1EiRqMR7e3tOHfuHHchyCCzZs3C1atXOThJjogwMjKCy5cvo6SkJK594+ouIISoIKL/E0L0EpFFCPGYchM8pSwWC6ld5KeLiLBq1Sr09/fjP//5T9wfoHqMU6dOYcmSJcjJkaZrWNYaHR3FpUuXMDw8nO6isEnk5eWhrKwM5eXlEb8b0boLxDu99zoAawH8j/J+bTz7J+oVzxThsfjkk08IAO3cuTPufU+dOkWrVq0iALR79+6ElouxbIcETRHuBbCciF4VQmxCgroLpNvKlSuxYcMG7Nq1C/v27YtpH6/Xi6amJpjNZpw+fRrLli3DSy+9hM8//xwA8Pbbb2PHjh0YGhrS9vniiy+SUv7pOHr0KEwmE/785yk9ZGUsOSJFq4leAJYBeBrA0nj3TdQr0TUmIqIvvviC1q5dSwDo+eefp8HBQQoEAnT48GH69re/TQcOHCAiotHRUdq2bRvl5uZSYWEhPfvsszQwMEDnzp2j/Px8evrpp+mNN94gAASAHnzwQXrjjTeopqaGANAjjzxCv//97+nmzZsJ/z/Eq7+/nwwGAwkhqKCggLq6utJdJDbDIEqNaSpNud0ANgF4G1nSlFONjo7Shg0bCAAVFBRQVVUVAaDi4mICQD/5yU/o0UcfJQDU1NREly9fDtl/y5YtJIQgALRmzRr68MMPaeHChQSAKioq6Nlnn6WKigoCQLm5uVRdXU179+6lsbGxqGUaHh6mK1eu0OXLl2loaGjK/7fLly/T/v376Xvf+x7V19fTe++9R8uWLSODwUC9vb1UXV1N+fn59LWvfY2++c1v0p49eygQCEz5fIzFIlGB6bGw9+vi2T9Rr2QFJiKiQCBAvb29tHnzZvrGN75Bv/3tb2loaIi2bNlCAKiwsJDefffdiPsODg7SvffeS6tXr6bh4WEiIrpx4wZ5PB7y+/1EROT3+6m7u5t27NhBK1asIABUU1NDn332GRERjY2NUVdXFzU2NtKDDz5IOTk5Wu3LaDTS+++/H3fAOH36NM2ePZsA0MKFC+nee+/VjnnkyBEiIrp27Ro1NTXR6tWryWw2EwBqbGyUombHsleiAtPSsPePxrO/bj8zAFvYMquyvD58XfgrmYFpIt3d3fSPf/xjwm1u3boVc+AIBAL07rvvUklJiRZ45s+fTwBo/vz5VF9fT88//zy9+eabtH//fi2Q1dXVjautRTM0NEQPPfQQlZeX08mTJykQCJDf76cTJ05Qd3d31HK1t7eTEIIWLFhATU1NdODAAbp+/XrE7f1+P73yyiv08MMPk9vtjqlckYyNjVFHRwc1NTXRM888Qy+88AJ9/vnnUz4ek1+0wBRvd4FNyl9aL4I3vg1EtCfmAyA0URyFZhdwElGt8p6ISEQ7RiK7C8jA6/XC5XLhs88+g8/nw9q1a7FmzRrk5+eHbOf3+7Fv3z7s2LEDs2bNwr59+7BmzRotS8LQ0BD+/ve/49ChQzh37hy+9a1v4cyZMzhw4AA++OADfOc734mrXN3d3XjzzTfxt7/9DT6fD4WFhbBarfD7/bh06RJMJhPWrFmDP/7xjzh8+LCW3+epp57Crl27cM8990Q99vXr1/Hxxx/j+PHjEEKgpKQEBw4cwL///W8tj/S1a9dQUlKC1tZWrFq1CgaDAYWFhRBCaK/c3FyUlpaitLQUOTk5ICKMjo5ieHgYIyMjGBsbw9jYGPx+P8bGxrRlRUVFKCsrw6xZs0LKlZOTg7y8POTl5SEQCMDv9yMvLw8FBQUQIuolyaYoWneBuNOeCCHWAahFMNL9doqFCUl7ErbODKCZiJqj7Z9tgSleZ8+exZNPPokTJ04AAIqKiuD3+zEyMgIAKC4uRmVlpTZIuaWlBa+88sqUz+f3+/Hpp5+is7MTH3zwAUpLS3Hffffh5MmTuHDhAvLy8rB37148/fTT+NWvfoVXX30VeXl5aGpqgtFoxKlTp3D9+nUUFxdjdHQU58+fx8WLF0FEyMvLAxHB7/ejqqoKL730EtatWwchBM6dO4etW7fiyJEj0//QEiA3NxdCCOTn58NoNGLu3LkoLCxEfn4+CgoKkJ+fj/z8fOTm5iInJweBQACBQCAkkAJAYWEhSktLUVxcjJycHOTm5qKgoAAFBQUoKSnB7NmzUVJSgqKiIgghcPv2bYyMjKCgoACFhYUIBAIYHR3FrVu3cOPGDRCRts+sWbOQn5+P4eFh3L59G7Nnz0Z5eTkKCwvh9/sBBDuoFhYWAgi2mIQQyMnJ0cqnHvv27dsYGxvTem6r2+Xm5iIvL0+bTFYN/Or6iooKLFiwIKbPNCGBSQixDMFm1o+FEGUAKojoZMwHuHOciIFJCUrriWjC5NylpaVUXR06pK6xsRHPPPMMhoaG8Pjjj4/bZ7LE8z/+8Y+xfv16XLx4ET/4wQ/GrX/uuedQV1eHs2fPorl5fMzcuXMnrFYrTp48ic2bN49b//LLL2PlypU4fvw4tm/fPm7966+/jqVLl8LtdmPXrl3j1tvtdixevBhHjhzBa6+9BiLC1atXtYu2rq4OCxcuxJUrV9DT04OcnByMjIzg5s2bmDt3Lg4dOoTy8nJ0dHSgo6Nj3PGPHj2K4uJivPXWW1reaT019eyePXvQ1dWlLb958yZKSkq0wdAvvvgiurq6cOHCBa3rRGlpKcxmM4aGhnDp0iX4/X4UFxejrKwMc+bMwQMPPIC3334bxcXF+PnPf46TJ0Mvqbvuugs2mw3Xrl3D/v37teMCwS/W3XffjdraWhARXC4Xbty4oX3RcnJysGjRIqxfvx65ubn4zW9+g1u3biEQCGhfuqqqKqxevRpEBLvdjpGREe0LK4RAVVUVHn74YYyNjeH999/X9lX3nz9/Pr70pS9haGgIZ86cudMcUb7o5eXlMBqNGBsbg9frDTk3AK1mPDw8jHgrCjKqqKjAAw88oL13uVxRr71jx45FDExTyfn9CyA4dk4IkdD5YojII4TwCiH6iWjc7H1qorjw6vdMJIQImfGltbUVCxYsQGdnJ/r6gunUCwoKkj6lz+zZs1FUVBSyrKioCIsXL0ZlZSVycnJw11134dChQ1o51Zpe+HGimTt3rjbI2u12j/vyLl26FDt37gQQrE1eunQpZP2SJUvwwx/+EADwhz/8AVevXg1Zv2LFCu2PyYcffojbt2+HrH/ssce02VU++eSTceVL1B/FCxcu4Pvf/z78fr/WjAQAm82Gxx9/HGfOnEFra2tIMzY3Nxe/+MUv8NWvfhWffvopfvnLXyIQCGi1Nr/fjyeffBKLFy/GmTNn8M4772g1OdWmTZuwcOFCnDp1CgcPHtSOrQb3nTt34stf/jKOHTuG9957DwC0YxARWltbcc899+Cvf/0rDh8+PK55PBXx1pgeJaK/6t6vJaI/xH3S8Rkszcp7t/K+H8HmXMQsBDO9KcdYtojWlIu3xlQphKhFcMKA5QCuTrJ9rCwAwjOaJyVRHGNMfnEFJgrmZXoMwZvfPUR0KN4T6hLFGYQQXgpmrnQIIWxKTcoEoIWSlMGSMSa/uO8xUTCbwJQzClCURHGRntAxxmYmztHBGJMOBybGmHQ4MDHGpMOBiTEmHQ5MjDHpcGBijEmHAxNjTDocmBhj0uHAxBiTzlSyC0ybMmjXou/trQxHAYJj8HqIyJWOsjHG0i/lgUmfwVK3zAzApwxXcQkhrgkh3ETkS3X5GGPpl/KmnBJ8usMWmxAcGKwaRJbMWccYi19amnLhlGabC9Dyf4OIPGktFGMsbWS8+d2G0NqTRghRJ4RwXL9+PcVFYoylklSBSbkB3hYtFxMRHSEiW1lZWYpLxhhLJWkCk3JT3ENEXiGEQQjB95gYm6HS9VQuJIOl8lTODsCnzCxhIqK5qS4bY0wOKQ9MkTJYKje6x82KwhibmaRpyjHGmIoDE2NMOhyYGGPS4cDEGJMOBybGmHQ4MDHGpMOBiTEmHQ5MjDHpcGBijEmHAxNjTDocmBhj0uHAxBiTTloCkxDCLISwxbqcMTazpDwwKWlPmmNdzhibedKS9kTJ622MZTljbObJqHtMnPObsZkhowIT5/xmbGbIqMDEGJsZODAxxqQjxWQEEy2P5OzZs6ipqZnwPE888QS2bt0KAKipqcHGjRuxceNGDAwMoL6+ftJyhm//3HPPoa6uDmfPnkVz8+QPD8O3f/nll7Fy5UocP34c27dvn3T/8O3tdjsWL16MI0eO4LXXXpt0//DtXS4XysvL0dHRgY6Ojkn3D9/+o48+AgDs2bMHXV1dk+6v3/7EiRM4dOgQAKC1tRUnTpyYcN958+aFbH/16lU4HA4AgM1mw7lz5ybcv6qqKmT7efPmYffu3QCAdevW4erVqxPuv2LFipDtV6xYEXItTYavvelde4AkkxFMtJwxNvMIIkp3GeJmsViot7c33cVgjE2TEKKPiCzhy/keE2NMOhyYGGPS4cDEGJMOBybGmHQ4MDHGpMOBiTEmHQ5MjDHpcGBijEmHAxNjTDocmBhj0pEiMAkhDEIIqxBiW7rLwhhLPykCExH5APDgN8YYgCRnFxBCmAFYiMihW1YPwAfAAMBLRJ5kloExlnmSVmOKNOuJMtlALRG5icgFoDVZ52eMZa6kBSYlv1J32OJGBGtLGqVWxRhjmlTfYzIA6Ne9HwRgUn5uBFArhDCN24sxNqOkPINlNMp9KEe09coMveosvTeFEGdjPHQ5gIFpFi+VMq28AJc5FTKtvEBsZV4YaWGqA5N601tlBOCNZcfJAlc0QojeSBnyZJVp5QW4zKmQaeUFplfmVDflDgKo1L038FM5xli4pNWYIs16QkQ+IYRTWQcAbck6P2MscyUtME0yG0oqxd38S7NMKy/AZU6FTCsvMI0yZ+QsKYyx7CbFkBTGGNOTprsAyyzq0CLdTMo81GiGiWfIWbzXR9YGpkz5oijlBIDlAHqUoTpSl18ZWrQegF33vpaImpX3TgAN6SthKKV8jQh2TTGpXyRZP2Pl4ZAByigJGYO/UsYGAH26ZRGvg6lcH1nZlMuUMXnKXxwfEbmIqAXAO0oKGNnLbwHQo3sv+1AjJxE5lC94LSDvNaKUy6BcE24AZt1yacob55CzuK+PrAxMkP+LojJB+aIo1CE60pZfCGGN8GR1oqFGaaUGf/U9Eal/qaX8jJUUQK26oVnzlH+lLG+YaNdB3NdHtgYmab8oerqakvoXEUr1XMryK2WMqae+RCwABpVEhPW6prOUn7GiBUCfEMKpXh+Qu7wJl7X3mDJQG0JrTzKyAIDy13w5gHlCCC+mMdQoBQwAjLr7NN1CCCnuJU3ADGATgjWnbiKS/bpQRbsOjFGWR5WtNSaZvyjjKH/F24hILaOU5Vfub7iVL7kXQLdSZpmHGnkR+tn5EKxpSPkZK9eCR6lNVwPwKjeapSxvmGjXQdzXR7YGJpm/KCGUi85DRF7lxrcJkpdfubdhBdAshDAp90WcSnPJCrmGGrkR2uQxIfiFlvUzDg84TkhYXt2QswZ1iFm062Aq10fW9vzWjccDkJahMJNSvuBO3LmpaSKiuco66cufKZRaiFF5O6jrkiHlZ6yk+AGC95H0fcWkLG8yZG1gYoxlrmxtyjHGMhgHJsaYdDgwMcakw4GJMSYdDkxs2oQQ/ZNvlfnnZKnDgYlNGxFp/Wt0j7oTJtIx9edk2YcDE5sWIYRJHX+mjKVrnmSXeI8/7pj6c7LsxIGJTdcg7vTkNSE4+US9fuS7EGKb0uvXpgQVqxCiX/nXqQ5gVt6bhRBtutH1kY6pPyeU45rVgbrKMrPuHFYhhF09D5MfD+Jl06LMfONVfvYIIXxqz2rgTjNM13vZSUQNyj6DujQkANCsrAOCtaSWSMfUn1MNRLpMiW3KrDweZRuvMtzHjOAg5KztLZ1NuMbEkq0agE+pKZmgSy4WYaxXizLswoLQAasTqUXo2LJ+ZX/VYPxFZunGgYkl2iAQMq6rGwCIyKvLRDCOsn2LftovXXMu/Jh6fQgdpFsNoFd9owwgZRmGAxObFqWJZNI9OXPqn6Lpc5grgcWkNqvCnrYN6o5nQHDQrSnSMfXnVPJ3G3T3l7qVZpy2jZqWFnfyTzPJ8SBexph0uMbEGJMOBybGmHQ4MDHGpMOBiTEmHQ5MjDHpcGBijEmHAxNjTDocmBhj0uHAxBiTzv8DvFC4aN9TwbMAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import matplotlib\n", + "from utils import latexify\n", + "\n", + "latexify(fig_width=4.5)\n", + "plt.semilogy(losses, c='k', label='COCP')\n", + "plt.gca().yaxis.set_minor_formatter(matplotlib.ticker.ScalarFormatter())\n", + "plt.axhline(clf_lb, linestyle='--', c='k', label='upper bound')\n", + "plt.axhline(result, linestyle='-.', c='k', label='lower bound')\n", + "plt.xlabel('iteration')\n", + "plt.ylabel('cost')\n", + "plt.subplots_adjust(left=.15, bottom=.2)\n", + "plt.ylim(10, 18)\n", + "plt.legend(loc='upper right')\n", + "plt.savefig(\"lqr_constrained.pdf\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Neural net" + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "metadata": {}, + "outputs": [], + "source": [ + "from torch import nn\n", + "from torch.nn import functional\n", + "\n", + "class Net(nn.Module):\n", + " def __init__(self, n, K):\n", + " super(Net, self).__init__()\n", + " self.fc1 = nn.Linear(n, 64)\n", + " self.fc2 = nn.Linear(64, 64)\n", + " self.fc3 = nn.Linear(64, m)\n", + " self.fc_K = nn.Linear(n, m, bias=False)\n", + " self.fc_K.weight.data = K.data\n", + "# for fc in [self.fc1, self.fc2, self.fc3]:\n", + "# fc.weight.data.zero_()\n", + "# fc.bias.data.zero_()\n", + "\n", + " def forward(self, x):\n", + " u = self.fc_K(x) \n", + " x = functional.relu(self.fc1(x))\n", + " x = functional.relu(self.fc2(x))\n", + " x = torch.clamp(self.fc3(x), -u_max, u_max)\n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "metadata": {}, + "outputs": [], + "source": [ + "policy = Net(n, torch.from_numpy(K_lqr))" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "metadata": {}, + "outputs": [], + "source": [ + "def loss(time_horizon, batch_size, seed=None):\n", + " if seed is not None:\n", + " torch.manual_seed(seed)\n", + " x_batch = noise * torch.randn(batch_size, n, 1).double()\n", + " Qt_batch = Qt.repeat(batch_size, 1, 1)\n", + " Rt_batch = Rt.repeat(batch_size, 1, 1)\n", + " At_batch = At.repeat(batch_size, 1, 1)\n", + " Bt_batch = Bt.repeat(batch_size, 1, 1)\n", + " loss = 0.0\n", + " for _ in range(time_horizon):\n", + " u_batch = policy(x_batch.squeeze(-1))\n", + " u_batch = u_batch.unsqueeze(-1)\n", + " state_cost = torch.bmm(torch.bmm(Qt_batch, x_batch).transpose(2, 1), x_batch)\n", + " control_cost = torch.bmm(torch.bmm(Rt_batch, u_batch).transpose(2, 1), u_batch)\n", + " cost_batch = (state_cost.squeeze() + control_cost.squeeze())\n", + " loss += cost_batch.sum() / (time_horizon * batch_size)\n", + " x_batch = torch.bmm(At_batch, x_batch) + \\\n", + " torch.bmm(Bt_batch, u_batch) + \\\n", + " noise * torch.randn(batch_size, n, 1).double()\n", + " return loss" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 001, loss: 13.605\n", + "it: 002, loss: 13.605\n", + "it: 003, loss: 13.604\n", + "it: 004, loss: 13.596\n", + "it: 005, loss: 13.575\n", + "it: 006, loss: 13.551\n", + "it: 007, loss: 13.527\n", + "it: 008, loss: 13.505\n", + "it: 009, loss: 13.501\n", + "it: 010, loss: 13.491\n", + "it: 011, loss: 13.489\n", + "it: 012, loss: 13.482\n", + "it: 013, loss: 13.471\n", + "it: 014, loss: 13.464\n", + "it: 015, loss: 13.456\n", + "it: 016, loss: 13.448\n", + "it: 017, loss: 13.440\n", + "it: 018, loss: 13.431\n", + "it: 019, loss: 13.415\n", + "it: 020, loss: 13.397\n", + "it: 021, loss: 13.379\n", + "it: 022, loss: 13.360\n", + "it: 023, loss: 13.343\n", + "it: 024, loss: 13.330\n", + "it: 025, loss: 13.321\n", + "it: 026, loss: 13.313\n", + "it: 027, loss: 13.309\n", + "it: 028, loss: 13.304\n", + "it: 029, loss: 13.297\n", + "it: 030, loss: 13.293\n", + "it: 031, loss: 13.289\n", + "it: 032, loss: 13.283\n", + "it: 033, loss: 13.279\n", + "it: 034, loss: 13.275\n", + "it: 035, loss: 13.273\n", + "it: 036, loss: 13.275\n", + "it: 037, loss: 13.276\n", + "it: 038, loss: 13.279\n", + "it: 039, loss: 13.280\n", + "it: 040, loss: 13.280\n", + "it: 041, loss: 13.278\n", + "it: 042, loss: 13.278\n", + "it: 043, loss: 13.277\n", + "it: 044, loss: 13.276\n", + "it: 045, loss: 13.272\n", + "it: 046, loss: 13.267\n", + "it: 047, loss: 13.260\n", + "it: 048, loss: 13.254\n", + "it: 049, loss: 13.250\n", + "it: 050, loss: 13.251\n", + "it: 051, loss: 13.249\n", + "it: 052, loss: 13.247\n", + "it: 053, loss: 13.245\n", + "it: 054, loss: 13.246\n", + "it: 055, loss: 13.247\n", + "it: 056, loss: 13.254\n", + "it: 057, loss: 13.259\n", + "it: 058, loss: 13.264\n", + "it: 059, loss: 13.269\n", + "it: 060, loss: 13.275\n", + "it: 061, loss: 13.279\n", + "it: 062, loss: 13.282\n", + "it: 063, loss: 13.284\n", + "it: 064, loss: 13.285\n", + "it: 065, loss: 13.286\n", + "it: 066, loss: 13.287\n", + "it: 067, loss: 13.285\n", + "it: 068, loss: 13.280\n", + "it: 069, loss: 13.274\n", + "it: 070, loss: 13.267\n", + "it: 071, loss: 13.257\n", + "it: 072, loss: 13.244\n", + "it: 073, loss: 13.236\n", + "it: 074, loss: 13.232\n", + "it: 075, loss: 13.227\n", + "it: 076, loss: 13.218\n", + "it: 077, loss: 13.214\n", + "it: 078, loss: 13.210\n", + "it: 079, loss: 13.202\n", + "it: 080, loss: 13.197\n", + "it: 081, loss: 13.189\n", + "it: 082, loss: 13.186\n", + "it: 083, loss: 13.179\n", + "it: 084, loss: 13.173\n", + "it: 085, loss: 13.169\n", + "it: 086, loss: 13.166\n", + "it: 087, loss: 13.169\n", + "it: 088, loss: 13.171\n", + "it: 089, loss: 13.172\n", + "it: 090, loss: 13.168\n", + "it: 091, loss: 13.165\n", + "it: 092, loss: 13.165\n", + "it: 093, loss: 13.169\n", + "it: 094, loss: 13.174\n", + "it: 095, loss: 13.178\n", + "it: 096, loss: 13.182\n", + "it: 097, loss: 13.186\n", + "it: 098, loss: 13.187\n", + "it: 099, loss: 13.188\n", + "it: 100, loss: 13.193\n", + "it: 101, loss: 13.197\n", + "it: 102, loss: 13.197\n", + "it: 103, loss: 13.199\n", + "it: 104, loss: 13.201\n", + "it: 105, loss: 13.196\n", + "it: 106, loss: 13.190\n", + "it: 107, loss: 13.183\n", + "it: 108, loss: 13.180\n", + "it: 109, loss: 13.185\n", + "it: 110, loss: 13.189\n", + "it: 111, loss: 13.195\n", + "it: 112, loss: 13.210\n", + "it: 113, loss: 13.230\n", + "it: 114, loss: 13.245\n", + "it: 115, loss: 13.252\n", + "it: 116, loss: 13.250\n", + "it: 117, loss: 13.248\n", + "it: 118, loss: 13.244\n", + "it: 119, loss: 13.241\n", + "it: 120, loss: 13.237\n", + "it: 121, loss: 13.230\n", + "it: 122, loss: 13.226\n", + "it: 123, loss: 13.223\n", + "it: 124, loss: 13.220\n", + "it: 125, loss: 13.231\n", + "it: 126, loss: 13.242\n", + "it: 127, loss: 13.251\n", + "it: 128, loss: 13.259\n", + "it: 129, loss: 13.262\n", + "it: 130, loss: 13.260\n", + "it: 131, loss: 13.252\n", + "it: 132, loss: 13.239\n", + "it: 133, loss: 13.227\n", + "it: 134, loss: 13.214\n", + "it: 135, loss: 13.206\n", + "it: 136, loss: 13.199\n", + "it: 137, loss: 13.197\n", + "it: 138, loss: 13.195\n", + "it: 139, loss: 13.197\n", + "it: 140, loss: 13.198\n", + "it: 141, loss: 13.199\n", + "it: 142, loss: 13.198\n", + "it: 143, loss: 13.197\n", + "it: 144, loss: 13.199\n", + "it: 145, loss: 13.205\n", + "it: 146, loss: 13.206\n", + "it: 147, loss: 13.204\n", + "it: 148, loss: 13.203\n", + "it: 149, loss: 13.197\n", + "it: 150, loss: 13.192\n", + "it: 151, loss: 13.182\n", + "it: 152, loss: 13.174\n", + "it: 153, loss: 13.166\n", + "it: 154, loss: 13.167\n", + "it: 155, loss: 13.167\n", + "it: 156, loss: 13.167\n", + "it: 157, loss: 13.169\n", + "it: 158, loss: 13.173\n", + "it: 159, loss: 13.175\n", + "it: 160, loss: 13.176\n", + "it: 161, loss: 13.185\n", + "it: 162, loss: 13.192\n", + "it: 163, loss: 13.196\n", + "it: 164, loss: 13.202\n", + "it: 165, loss: 13.206\n", + "it: 166, loss: 13.209\n", + "it: 167, loss: 13.209\n", + "it: 168, loss: 13.207\n", + "it: 169, loss: 13.200\n", + "it: 170, loss: 13.188\n", + "it: 171, loss: 13.174\n", + "it: 172, loss: 13.161\n", + "it: 173, loss: 13.154\n", + "it: 174, loss: 13.151\n", + "it: 175, loss: 13.146\n", + "it: 176, loss: 13.143\n", + "it: 177, loss: 13.141\n", + "it: 178, loss: 13.135\n", + "it: 179, loss: 13.127\n", + "it: 180, loss: 13.123\n", + "it: 181, loss: 13.122\n", + "it: 182, loss: 13.123\n", + "it: 183, loss: 13.123\n", + "it: 184, loss: 13.126\n", + "it: 185, loss: 13.131\n", + "it: 186, loss: 13.136\n", + "it: 187, loss: 13.141\n", + "it: 188, loss: 13.151\n", + "it: 189, loss: 13.158\n", + "it: 190, loss: 13.163\n", + "it: 191, loss: 13.166\n", + "it: 192, loss: 13.165\n", + "it: 193, loss: 13.164\n", + "it: 194, loss: 13.164\n", + "it: 195, loss: 13.165\n", + "it: 196, loss: 13.166\n", + "it: 197, loss: 13.165\n", + "it: 198, loss: 13.161\n", + "it: 199, loss: 13.156\n", + "it: 200, loss: 13.151\n", + "it: 201, loss: 13.148\n", + "it: 202, loss: 13.145\n", + "it: 203, loss: 13.143\n", + "it: 204, loss: 13.142\n", + "it: 205, loss: 13.141\n", + "it: 206, loss: 13.141\n", + "it: 207, loss: 13.142\n", + "it: 208, loss: 13.144\n", + "it: 209, loss: 13.145\n", + "it: 210, loss: 13.148\n", + "it: 211, loss: 13.150\n", + "it: 212, loss: 13.153\n", + "it: 213, loss: 13.153\n", + "it: 214, loss: 13.154\n", + "it: 215, loss: 13.154\n", + "it: 216, loss: 13.156\n", + "it: 217, loss: 13.158\n", + "it: 218, loss: 13.163\n", + "it: 219, loss: 13.167\n", + "it: 220, loss: 13.173\n", + "it: 221, loss: 13.178\n", + "it: 222, loss: 13.178\n", + "it: 223, loss: 13.178\n", + "it: 224, loss: 13.177\n", + "it: 225, loss: 13.181\n", + "it: 226, loss: 13.180\n", + "it: 227, loss: 13.179\n", + "it: 228, loss: 13.176\n", + "it: 229, loss: 13.174\n", + "it: 230, loss: 13.171\n", + "it: 231, loss: 13.172\n", + "it: 232, loss: 13.172\n", + "it: 233, loss: 13.176\n", + "it: 234, loss: 13.179\n", + "it: 235, loss: 13.179\n", + "it: 236, loss: 13.183\n", + "it: 237, loss: 13.185\n", + "it: 238, loss: 13.188\n", + "it: 239, loss: 13.191\n", + "it: 240, loss: 13.195\n", + "it: 241, loss: 13.196\n", + "it: 242, loss: 13.192\n", + "it: 243, loss: 13.191\n", + "it: 244, loss: 13.191\n", + "it: 245, loss: 13.197\n", + "it: 246, loss: 13.199\n", + "it: 247, loss: 13.197\n", + "it: 248, loss: 13.193\n", + "it: 249, loss: 13.188\n", + "it: 250, loss: 13.180\n", + "it: 251, loss: 13.173\n", + "it: 252, loss: 13.167\n", + "it: 253, loss: 13.165\n", + "it: 254, loss: 13.163\n", + "it: 255, loss: 13.162\n", + "it: 256, loss: 13.161\n", + "it: 257, loss: 13.159\n", + "it: 258, loss: 13.159\n", + "it: 259, loss: 13.160\n", + "it: 260, loss: 13.164\n", + "it: 261, loss: 13.168\n", + "it: 262, loss: 13.176\n", + "it: 263, loss: 13.188\n", + "it: 264, loss: 13.200\n", + "it: 265, loss: 13.214\n", + "it: 266, loss: 13.226\n", + "it: 267, loss: 13.235\n", + "it: 268, loss: 13.241\n", + "it: 269, loss: 13.242\n", + "it: 270, loss: 13.244\n", + "it: 271, loss: 13.247\n", + "it: 272, loss: 13.254\n", + "it: 273, loss: 13.260\n", + "it: 274, loss: 13.263\n" + ] + }, + { + "ename": "KeyboardInterrupt", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0mopt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzero_grad\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0ml\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mloss\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m100\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m6\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mseed\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 10\u001b[0;31m \u001b[0ml\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 11\u001b[0m \u001b[0mopt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0;31m# if k == 200:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/miniconda3/envs/cvxpylayers/lib/python3.7/site-packages/torch/tensor.py\u001b[0m in \u001b[0;36mbackward\u001b[0;34m(self, gradient, retain_graph, create_graph)\u001b[0m\n\u001b[1;32m 148\u001b[0m \u001b[0mproducts\u001b[0m\u001b[0;34m.\u001b[0m \u001b[0mDefaults\u001b[0m \u001b[0mto\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 149\u001b[0m \"\"\"\n\u001b[0;32m--> 150\u001b[0;31m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mautograd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgradient\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mretain_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcreate_graph\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 151\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 152\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mregister_hook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhook\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/miniconda3/envs/cvxpylayers/lib/python3.7/site-packages/torch/autograd/__init__.py\u001b[0m in \u001b[0;36mbackward\u001b[0;34m(tensors, grad_tensors, retain_graph, create_graph, grad_variables)\u001b[0m\n\u001b[1;32m 97\u001b[0m Variable._execution_engine.run_backward(\n\u001b[1;32m 98\u001b[0m \u001b[0mtensors\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgrad_tensors\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mretain_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcreate_graph\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 99\u001b[0;31m allow_unreachable=True) # allow_unreachable flag\n\u001b[0m\u001b[1;32m 100\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 101\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ] + } + ], + "source": [ + "opt = torch.optim.Adam(policy.parameters(), lr=3e-4)\n", + "losses = []\n", + "for k in range(10000):\n", + " with torch.no_grad():\n", + " test_loss = loss(100, 6, seed=0).item()\n", + " losses.append(test_loss)\n", + " print(\"it: %03d, loss: %3.3f\" % (k+1, test_loss))\n", + " opt.zero_grad()\n", + " l = loss(100, 6, seed=k+1)\n", + " l.backward()\n", + " opt.step()\n", + "# if k == 200:\n", + "# opt = torch.optim.SGD(policy.parameters(), lr=1e-5)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 129, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "plt.plot(losses)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Piecewise quadratic" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [], + "source": [ + "K = 25" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [], + "source": [ + "# set up policy\n", + "x = cp.Parameter(n)\n", + "P_sqrt_cp = [cp.Parameter((n, n), PSD=True) for _ in range(K)]\n", + "q_cp = [cp.Parameter(n) for _ in range(K)]\n", + "r_cp = [cp.Parameter(1) for _ in range(K)]\n", + "\n", + "u = cp.Variable(m)\n", + "xnext = cp.Variable(n)\n", + "t = cp.Variable(1)\n", + "\n", + "objective = cp.quad_form(u, R0) + t\n", + "constraints = [xnext == A @ x + B @ u, cp.norm(u, \"inf\") <= u_max]\n", + "constraints += [cp.sum_squares(P_sqrt_cp[i] @ xnext) + q_cp[i] @ xnext + r_cp[i] <= t for i in range(K)]\n", + "prob = cp.Problem(cp.Minimize(objective), constraints)\n", + "policy = CvxpyLayer(prob, [x] + P_sqrt_cp + q_cp + r_cp, [u])" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [], + "source": [ + "P_sqrt = [torch.from_numpy(sqrtm(P_lqr) + 1e-3*np.random.randn(n, n)) for _ in range(K)]\n", + "for i in range(K):\n", + " P_sqrt[i].requires_grad_(True)\n", + "q = [torch.randn(n, requires_grad=True) for _ in range(K)]\n", + "r = [torch.zeros(1, requires_grad=True) for _ in range(K)]" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [], + "source": [ + "def loss(time_horizon, batch_size, seed=None):\n", + " if seed is not None:\n", + " torch.manual_seed(seed)\n", + " x_batch = noise * torch.randn(batch_size, n).double()\n", + " Qt_batch = Qt.repeat(batch_size, 1, 1)\n", + " Rt_batch = Rt.repeat(batch_size, 1, 1)\n", + " At_batch = At.repeat(batch_size, 1, 1)\n", + " Bt_batch = Bt.repeat(batch_size, 1, 1)\n", + " loss = 0.0\n", + " for _ in range(time_horizon):\n", + " inputs = [x_batch] + P_sqrt + q + r\n", + " u_batch, = policy(*inputs, solver_args={\"acceleration_lookback\": 0, \"eps\":1e-5, \"max_iters\":10000})\n", + " state_cost = torch.bmm(torch.bmm(Qt_batch, x_batch.unsqueeze(-1)).transpose(2, 1), x_batch.unsqueeze(-1))\n", + " control_cost = torch.bmm(torch.bmm(Rt_batch, u_batch.unsqueeze(-1)).transpose(2, 1), u_batch.unsqueeze(-1))\n", + " cost_batch = (state_cost.squeeze() + control_cost.squeeze())\n", + " loss += cost_batch.sum() / (time_horizon * batch_size)\n", + " x_batch = torch.bmm(At_batch, x_batch.unsqueeze(-1)) + \\\n", + " torch.bmm(Bt_batch, u_batch.unsqueeze(-1)) + \\\n", + " noise * torch.randn(batch_size, n, 1).double()\n", + " x_batch = x_batch.squeeze(-1)\n", + " return loss" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "def norm(list_of_pytorch_tensors):\n", + " with torch.no_grad():\n", + " return torch.cat([t.view(-1) for t in list_of_pytorch_tensors]).norm().item()" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 001, loss: 13.368, grad_norm: 0.000\n", + "it: 002, loss: 13.218, grad_norm: 2.971\n", + "it: 003, loss: 13.293, grad_norm: 2.776\n", + "it: 004, loss: 13.455, grad_norm: 5.518\n", + "it: 005, loss: 13.715, grad_norm: 3.672\n", + "it: 006, loss: 13.730, grad_norm: 3.191\n", + "it: 007, loss: 13.817, grad_norm: 3.788\n", + "it: 008, loss: 13.735, grad_norm: 4.652\n", + "it: 009, loss: 13.792, grad_norm: 4.192\n", + "it: 010, loss: 13.480, grad_norm: 4.183\n", + "it: 011, loss: 13.299, grad_norm: 6.466\n", + "it: 012, loss: 13.519, grad_norm: 3.917\n", + "it: 013, loss: 13.386, grad_norm: 4.412\n", + "it: 014, loss: 13.521, grad_norm: 2.561\n", + "it: 015, loss: 13.845, grad_norm: 3.820\n", + "it: 016, loss: 13.671, grad_norm: 1.890\n", + "it: 017, loss: 13.580, grad_norm: 2.818\n", + "it: 018, loss: 13.508, grad_norm: 6.822\n", + "it: 019, loss: 13.659, grad_norm: 8.734\n", + "it: 020, loss: 13.598, grad_norm: 3.174\n", + "it: 021, loss: 13.446, grad_norm: 4.614\n", + "it: 022, loss: 13.518, grad_norm: 4.279\n", + "it: 023, loss: 13.473, grad_norm: 5.674\n", + "it: 024, loss: 13.466, grad_norm: 3.205\n", + "it: 025, loss: 13.397, grad_norm: 4.298\n", + "it: 026, loss: 13.527, grad_norm: 3.969\n", + "it: 027, loss: 13.528, grad_norm: 4.837\n", + "it: 028, loss: 13.424, grad_norm: 2.147\n", + "it: 029, loss: 13.414, grad_norm: 3.381\n", + "it: 030, loss: 13.374, grad_norm: 4.972\n", + "it: 031, loss: 13.466, grad_norm: 4.453\n", + "it: 032, loss: 13.887, grad_norm: 4.018\n", + "it: 033, loss: 13.674, grad_norm: 6.750\n", + "it: 034, loss: 13.524, grad_norm: 4.174\n", + "it: 035, loss: 13.533, grad_norm: 3.244\n", + "it: 036, loss: 13.760, grad_norm: 7.816\n", + "it: 037, loss: 13.812, grad_norm: 2.345\n", + "it: 038, loss: 13.576, grad_norm: 6.047\n", + "it: 039, loss: 13.528, grad_norm: 4.764\n", + "it: 040, loss: 13.522, grad_norm: 2.829\n", + "it: 041, loss: 13.400, grad_norm: 2.327\n", + "it: 042, loss: 13.427, grad_norm: 3.172\n", + "it: 043, loss: 13.596, grad_norm: 1.978\n", + "it: 044, loss: 13.360, grad_norm: 3.592\n", + "it: 045, loss: 13.376, grad_norm: 1.863\n", + "it: 046, loss: 13.648, grad_norm: 10.000\n", + "it: 047, loss: 13.634, grad_norm: 2.687\n", + "it: 048, loss: 13.604, grad_norm: 2.535\n", + "it: 049, loss: 13.847, grad_norm: 6.168\n", + "it: 050, loss: 13.795, grad_norm: 3.298\n", + "it: 051, loss: 13.851, grad_norm: 2.573\n" + ] + }, + { + "ename": "NameError", + "evalue": "name 'param' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 17\u001b[0m \u001b[0mopt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mk\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m50\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 19\u001b[0;31m \u001b[0mopt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moptim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSGD\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mparam\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.005\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'param' is not defined" + ] + } + ], + "source": [ + "params = P_sqrt + q + r\n", + "opt = torch.optim.SGD(params, lr=0.1)\n", + "losses = []\n", + "for k in range(100):\n", + " with torch.no_grad():\n", + " test_loss = loss(100, 6, seed=0).item()\n", + " losses.append(test_loss)\n", + " if params[0].grad is None:\n", + " grad_norm = np.nan\n", + " else:\n", + " grad_norm = norm([p.grad.data for p in params])\n", + " print(\"it: %03d, loss: %3.3f, grad_norm: %3.3f\" % (k+1, test_loss, grad_norm))\n", + " opt.zero_grad()\n", + " l = loss(100, 6, seed=k+1)\n", + " l.backward()\n", + " torch.nn.utils.clip_grad_norm_(params, 10)\n", + " opt.step()\n", + " if k == 50:\n", + " opt = torch.optim.SGD(params, lr=0.005)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "@webio": { + "lastCommId": null, + "lastKernelId": null + }, + "kernelspec": { + "display_name": "Python 3", + "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.7.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lqr.ipynb b/lqr.ipynb new file mode 100644 index 0000000..82dcb13 --- /dev/null +++ b/lqr.ipynb @@ -0,0 +1,309 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "import cvxpy as cp\n", + "import numpy as np\n", + "from cvxpylayers.torch import CvxpyLayer\n", + "from scipy.linalg import sqrtm\n", + "from scipy.linalg import solve_discrete_are" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "np.random.seed(0)\n", + "\n", + "# generate problem data\n", + "n, m = 4, 2\n", + "noise = np.sqrt(0.25)\n", + "Q0 = np.eye(n)\n", + "R0 = np.eye(m)\n", + "A = np.random.randn(n, n)\n", + "A /= np.max(np.abs(np.linalg.eig(A)[0]))\n", + "B = np.random.randn(n, m)\n", + "W = noise**2 * np.eye(n)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.8031165780081877\n" + ] + } + ], + "source": [ + "# compute lqr solution\n", + "P = cp.Variable((n, n), PSD=True)\n", + "R0cvxpy = cp.Parameter((m, m), PSD=True)\n", + "\n", + "objective = cp.trace(P@W)\n", + "constraints = [cp.bmat([\n", + " [R0cvxpy + B.T@P@B, B.T@P@A],\n", + " [A.T@P@B, Q0+A.T@P@A-P]\n", + "]) >> 0, P >> 0]\n", + "R0cvxpy.value = R0\n", + "result = cp.Problem(cp.Maximize(objective), constraints).solve()\n", + "P_lqr = P.value\n", + "print(result)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1.85426155, 0.12235637, 0.51550081, 1.05324043],\n", + " [0.12235637, 1.18209044, 0.09639788, 0.44752023],\n", + " [0.51550081, 0.09639788, 1.31473547, 0.6759572 ],\n", + " [1.05324043, 0.44752023, 0.6759572 , 2.86137885]])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "P_lqr" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# set up policy\n", + "x = cp.Parameter((n, 1))\n", + "P_sqrt = cp.Parameter((n, n))\n", + "\n", + "u = cp.Variable((m, 1))\n", + "xnext = cp.Variable((n, 1))\n", + "\n", + "objective = cp.quad_form(u, R0) + cp.sum_squares(P_sqrt @ xnext)\n", + "constraints = [xnext == A @ x + B @ u]\n", + "prob = cp.Problem(cp.Minimize(objective), constraints)\n", + "policy = CvxpyLayer(prob, [x, P_sqrt], [u])" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# initialize parameters\n", + "Qt, Rt, At, Bt = map(torch.from_numpy, [Q0, R0, A, B])\n", + "P_sqrt = torch.eye(n).double(); P_sqrt.requires_grad_(True);" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "def loss(time_horizon, batch_size, P_sqrt, seed=None):\n", + " if seed is not None:\n", + " torch.manual_seed(seed)\n", + " x_batch = torch.randn(batch_size, n, 1).double()\n", + " P_sqrt_batch = P_sqrt.repeat(batch_size, 1, 1)\n", + " Qt_batch = Qt.repeat(batch_size, 1, 1)\n", + " Rt_batch = Rt.repeat(batch_size, 1, 1)\n", + " At_batch = At.repeat(batch_size, 1, 1)\n", + " Bt_batch = Bt.repeat(batch_size, 1, 1)\n", + " loss = 0.0\n", + " for _ in range(time_horizon):\n", + " u_batch, = policy(x_batch, P_sqrt_batch, solver_args={\"acceleration_lookback\": 0})\n", + " state_cost = torch.bmm(torch.bmm(Qt_batch, x_batch).transpose(2, 1), x_batch)\n", + " control_cost = torch.bmm(torch.bmm(Rt_batch, u_batch).transpose(2, 1), u_batch)\n", + " cost_batch = (state_cost.squeeze() + control_cost.squeeze())\n", + " loss += cost_batch.sum() / (time_horizon * batch_size)\n", + " x_batch = torch.bmm(At_batch, x_batch) + \\\n", + " torch.bmm(Bt_batch, u_batch) + \\\n", + " noise * torch.randn(batch_size, n, 1).double()\n", + " return loss" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "Kt = np.linalg.solve(R0 + B.T @ P_lqr @ B, -B.T @ P_lqr @ A)\n", + "loss_lqr = loss(100, 6, torch.from_numpy(sqrtm(P_lqr)), seed=0).item()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 001, loss: 0.389, dist: 0.291, dist_P: 2.905\n", + "it: 002, loss: 0.173, dist: 0.182, dist_P: 2.783\n", + "it: 003, loss: 0.066, dist: 0.118, dist_P: 2.739\n", + "it: 004, loss: 0.032, dist: 0.088, dist_P: 2.737\n", + "it: 005, loss: 0.017, dist: 0.062, dist_P: 2.742\n", + "it: 006, loss: 0.010, dist: 0.048, dist_P: 2.736\n", + "it: 007, loss: 0.007, dist: 0.040, dist_P: 2.743\n", + "it: 008, loss: 0.006, dist: 0.036, dist_P: 2.751\n", + "it: 009, loss: 0.007, dist: 0.041, dist_P: 2.776\n", + "it: 010, loss: 0.006, dist: 0.038, dist_P: 2.760\n", + "it: 011, loss: 0.007, dist: 0.037, dist_P: 2.751\n", + "it: 012, loss: 0.005, dist: 0.029, dist_P: 2.710\n", + "it: 013, loss: 0.005, dist: 0.027, dist_P: 2.702\n", + "it: 014, loss: 0.005, dist: 0.025, dist_P: 2.715\n", + "it: 015, loss: 0.005, dist: 0.022, dist_P: 2.682\n", + "it: 016, loss: 0.004, dist: 0.023, dist_P: 2.680\n", + "it: 017, loss: 0.003, dist: 0.026, dist_P: 2.686\n", + "it: 018, loss: 0.003, dist: 0.034, dist_P: 2.663\n", + "it: 019, loss: 0.003, dist: 0.020, dist_P: 2.688\n", + "it: 020, loss: 0.002, dist: 0.028, dist_P: 2.650\n", + "it: 021, loss: 0.005, dist: 0.030, dist_P: 2.705\n", + "it: 022, loss: 0.004, dist: 0.029, dist_P: 2.689\n", + "it: 023, loss: 0.007, dist: 0.043, dist_P: 2.713\n", + "it: 024, loss: 0.001, dist: 0.019, dist_P: 2.658\n", + "it: 025, loss: 0.001, dist: 0.034, dist_P: 2.633\n", + "it: 026, loss: 0.001, dist: 0.019, dist_P: 2.647\n", + "it: 027, loss: 0.002, dist: 0.016, dist_P: 2.669\n", + "it: 028, loss: 0.002, dist: 0.016, dist_P: 2.666\n", + "it: 029, loss: 0.002, dist: 0.017, dist_P: 2.673\n", + "it: 030, loss: 0.002, dist: 0.019, dist_P: 2.681\n", + "it: 031, loss: 0.002, dist: 0.017, dist_P: 2.675\n", + "it: 032, loss: 0.002, dist: 0.017, dist_P: 2.671\n", + "it: 033, loss: 0.002, dist: 0.018, dist_P: 2.675\n", + "it: 034, loss: 0.002, dist: 0.016, dist_P: 2.669\n", + "it: 035, loss: 0.002, dist: 0.016, dist_P: 2.669\n", + "it: 036, loss: 0.001, dist: 0.015, dist_P: 2.661\n", + "it: 037, loss: 0.001, dist: 0.015, dist_P: 2.662\n", + "it: 038, loss: 0.001, dist: 0.015, dist_P: 2.657\n", + "it: 039, loss: 0.001, dist: 0.015, dist_P: 2.653\n", + "it: 040, loss: 0.001, dist: 0.016, dist_P: 2.652\n", + "it: 041, loss: 0.001, dist: 0.016, dist_P: 2.650\n", + "it: 042, loss: 0.001, dist: 0.018, dist_P: 2.646\n", + "it: 043, loss: 0.001, dist: 0.016, dist_P: 2.645\n", + "it: 044, loss: 0.001, dist: 0.015, dist_P: 2.652\n", + "it: 045, loss: 0.001, dist: 0.017, dist_P: 2.646\n", + "it: 046, loss: 0.001, dist: 0.016, dist_P: 2.653\n", + "it: 047, loss: 0.001, dist: 0.017, dist_P: 2.648\n", + "it: 048, loss: 0.001, dist: 0.018, dist_P: 2.651\n", + "it: 049, loss: 0.001, dist: 0.017, dist_P: 2.661\n", + "it: 050, loss: 0.001, dist: 0.017, dist_P: 2.670\n" + ] + } + ], + "source": [ + "losses = []\n", + "opt = torch.optim.SGD([P_sqrt], lr=.5)\n", + "test_loss = None\n", + "for k in range(50):\n", + " with torch.no_grad():\n", + " test_loss = loss(100, 6, P_sqrt.detach(), seed=0).item()\n", + " K_np = (torch.solve(-Bt.t() @ P_sqrt.t() @ P_sqrt @ At, Rt + Bt.t() @ P_sqrt.t() @ P_sqrt @ Bt).solution).detach().numpy()\n", + " dist = np.linalg.norm(K_np - Kt)\n", + " P = (P_sqrt.t() @ P_sqrt).detach().numpy()\n", + " dist_P = np.linalg.norm(P_lqr - P)\n", + " losses.append(test_loss)\n", + " print(\"it: %03d, loss: %3.3f, dist: %3.3f, dist_P: %3.3f\" % (k+1, test_loss - loss_lqr, dist, dist_P))\n", + " opt.zero_grad()\n", + " l = loss(100, 6, P_sqrt, seed=k+1)\n", + " l.backward()\n", + " opt.step()\n", + " if k == 25:\n", + " opt = torch.optim.SGD([P_sqrt], lr=.1)" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "from utils import latexify\n", + "import matplotlib\n", + "\n", + "latexify(fig_width=4)\n", + "fig, ax = plt.subplots()\n", + "plt.xticks([0, 10, 20, 30, 40, 50])\n", + "plt.semilogy(losses, color='k', label='COCP')\n", + "plt.gca().yaxis.set_minor_formatter(matplotlib.ticker.ScalarFormatter())\n", + "plt.axhline(loss_lqr, linestyle='--', color='k', label='LQR')\n", + "plt.legend()\n", + "plt.ylabel(\"cost\")\n", + "plt.xlabel(\"$k$\")\n", + "plt.subplots_adjust(left=.15, bottom=.2)\n", + "plt.savefig(\"lqr.pdf\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "@webio": { + "lastCommId": null, + "lastKernelId": null + }, + "kernelspec": { + "display_name": "Python 3", + "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.7.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/markowitz_tuning.ipynb b/markowitz_tuning.ipynb new file mode 100644 index 0000000..7222f32 --- /dev/null +++ b/markowitz_tuning.ipynb @@ -0,0 +1,566 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%load_ext autoreload" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%autoreload\n", + "\n", + "import cvxpy as cp\n", + "from cvxpylayers.torch import CvxpyLayer\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import scipy.linalg\n", + "import seaborn as sns\n", + "import torch\n", + "from tqdm.notebook import tqdm\n", + "from utils import latexify\n", + "\n", + "torch.set_default_tensor_type(torch.DoubleTensor)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "latexify(6, 4)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "data = pd.read_csv('data/crsp.csv')\n", + "ETFS = ['AGG', 'VTI', 'VNQ', 'XLF', 'XLV', 'XLY', 'XLP', 'XLU', 'XLI', 'XLE', 'IBB', 'ITA']\n", + "rets = []\n", + "\n", + "for etf in ETFS:\n", + " rets.append(1 + np.array(data[data['TICKER'] == etf]['RET'], dtype=np.float64)[-144:])\n", + " \n", + "etf_ret = np.stack(rets, axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "N_ASSETS = len(ETFS)\n", + "HZN = 24\n", + "VAL = 2443\n", + "TEST = VAL * 3\n", + "KAPPA = np.full(N_ASSETS, 0.001)\n", + "SHORT = np.full(N_ASSETS, 0.001)\n", + "GAMMA = 15.0\n", + "\n", + "M1 = torch.tensor(2.0)\n", + "M2 = torch.tensor(1.00)\n", + "len(ETFS)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def ret_and_cov(returns):\n", + " N = returns.shape[1]\n", + " returnslog = np.log(returns)\n", + " mu_returnslog = np.mean(returnslog, axis=0)\n", + " cov_returnslog = np.cov(returnslog.T) + 1e-10 * np.eye(N)\n", + "\n", + " mu = np.exp(mu_returnslog + .5 * np.diag(cov_returnslog))\n", + " cov = np.diag(mu)@(np.exp(cov_returnslog)-np.ones((N,N)))@np.diag(mu)\n", + " return mu, cov\n", + "\n", + "MU, COV = ret_and_cov(etf_ret)\n", + "COV_SQRT = scipy.linalg.sqrtm(COV)\n", + "\n", + "mulog = torch.tensor(np.log(etf_ret)).mean(axis=0)\n", + "covlog = torch.tensor(np.cov(etf_ret.T))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def init_holdings(cov_sqrt, mu, gamma):\n", + " N = N_ASSETS\n", + " ht = cp.Variable(N) \n", + " \n", + " \n", + " risk = gamma * cp.sum_squares(cov_sqrt @ ht)\n", + " returns = mu.T @ ht\n", + " objective = returns - risk - SHORT.T @ cp.neg(ht)\n", + " \n", + " constraints = [ \n", + " cp.sum(ht) == 1,\n", + " ] \n", + " problem = cp.Problem(cp.Maximize(objective), constraints)\n", + " problem.solve()\n", + " return ht.value\n", + "\n", + "H0 = torch.tensor(init_holdings(COV_SQRT, MU, GAMMA))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.imshow(COV)\n", + "plt.colorbar()\n", + "plt.xticks(np.arange(N_ASSETS), ETFS, rotation=90)\n", + "plt.yticks(np.arange(N_ASSETS), ETFS)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_mean_std(mu, cov):\n", + " ax = plt.gca()\n", + " eb = plt.errorbar(np.arange(N_ASSETS), mu, yerr=np.sqrt(np.diag(cov)))\n", + " eb[-1][0].set_linestyle('--')\n", + " ax.axhline(1.0, linestyle='--', color='gray')\n", + " plt.xticks(np.arange(N_ASSETS), ETFS, rotation=90)\n", + " \n", + "plot_mean_std(MU, COV)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "kappa_tch = torch.from_numpy(KAPPA)\n", + "logreturn1p_dist = torch.distributions.MultivariateNormal(\n", + " mulog, covlog)\n", + "\n", + "\n", + "def utility_fn(x, m1=M1, m2=M2):\n", + " return torch.min(m1*(x - 1), m2*(x - 1)) \n", + "\n", + "\n", + "def stage_cost(r): \n", + " return -utility_fn(r)\n", + "\n", + "\n", + "def simulate(ht, ut):\n", + " ret = torch.exp(logreturn1p_dist.sample())\n", + " ht = ret * (ht + ut)\n", + " return ht, ret\n", + "\n", + "\n", + "def rollout(policy, h0=H0, seed=None):\n", + " if seed is not None:\n", + " torch.manual_seed(seed)\n", + " ht = h0 \n", + " h_seq = [ht] \n", + " u_seq = [] \n", + " rets = []\n", + " cost = 0.0\n", + " for t in range(HZN): \n", + " ut = policy(ht)\n", + " htp1, _ = simulate(ht, ut)\n", + " ret = htp1.sum() / ht.sum()\n", + " cost += stage_cost(ret).mean()\n", + " ht = htp1\n", + " h_seq.append(ht) \n", + " u_seq.append(ut)\n", + " rets.append(ret)\n", + " cost = cost / HZN\n", + " return cost, h_seq, u_seq, rets\n", + "\n", + "\n", + "def monte_carlo(policy, h0=H0, trials=10, seed=None, verbose=True):\n", + " if seed is not None:\n", + " torch.manual_seed(seed)\n", + " results = []\n", + " hN = []\n", + " \n", + " if verbose:\n", + " wrapper = lambda x: tqdm(x)\n", + " else:\n", + " wrapper = lambda x: x\n", + " \n", + " for i in wrapper(range(trials)):\n", + " cost, h_seq, _, rets = rollout(policy, h0)\n", + " results.append(cost)\n", + " hN.append(h_seq[-1])\n", + " return torch.stack(results), hN, rets" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ax = plt.gca()\n", + "plt.plot(np.linspace(0.9, 1.1, 1000), [utility_fn(x) for x in np.linspace(.9, 1.1, 1000)])\n", + "ax.axvline(1, color='gray', linestyle='--')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_states(policy, ax=None, h0=H0, seed=TEST, style={},\n", + " legend=False, ylabel=True, xlabel=True):\n", + " if ax is None:\n", + " ax = plt.gca()\n", + " colors = sns.color_palette(\"hls\", N_ASSETS)\n", + " _, states, _, _ = rollout(policy, h0=h0, seed=seed)\n", + " normalized = [s / s.sum() for s in states]\n", + " states_stacked = torch.stack(normalized)\n", + " states_np = states_stacked.detach().numpy()\n", + " for i, etf in enumerate(ETFS):\n", + " holdings = states_np[:, i]\n", + " if etf in style:\n", + " ax.plot(holdings, label=etf, linestyle=style[etf], color=colors[i])\n", + " else:\n", + " ax.plot(holdings, label=etf, color=colors[i])\n", + " if xlabel:\n", + " ax.set_xlabel(\"month\")\n", + " if ylabel:\n", + " ax.set_ylabel(\"holdings\")\n", + " ax.set_xticks(np.arange(HZN, step=4))\n", + " ax.set_xlim((0, HZN))\n", + " ax.set_ylim((-.75, .95))\n", + " if legend:\n", + " ax.legend(loc='center left', bbox_to_anchor=(1, 0.5), fontsize=6)\n", + " plt.tight_layout()\n", + " \n", + " \n", + "def plot_controls(policy, ax=None, h0=H0, seed=TEST, style={},\n", + " legend=False, ylabel=True, xlabel=True):\n", + " if ax is None:\n", + " ax = plt.gca()\n", + " _, states, controls, _ = rollout(policy, h0=h0, seed=seed)\n", + " colors = sns.color_palette(\"hls\", N_ASSETS)\n", + " normalized = [c / s.sum() for s, c in zip(states, controls)]\n", + " stacked = torch.stack(normalized)\n", + " controls_np = stacked.detach().numpy()\n", + " for i, etf in enumerate(ETFS):\n", + " ctrl = controls_np[:, i]\n", + " if etf in style:\n", + " ax.plot(ctrl, label=etf, linestyle=style[etf], color=colors[i])\n", + " else:\n", + " ax.plot(ctrl, label=etf, color=colors[i])\n", + " ax.set_xticks(np.arange(HZN, step=4))\n", + " ax.set_xlim((0, HZN))\n", + " if xlabel:\n", + " ax.set_xlabel('month')\n", + " if ylabel:\n", + " ax.set_ylabel('trades')\n", + " if legend:\n", + " ax.legend()\n", + " plt.tight_layout()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def construct_layer():\n", + " N = N_ASSETS\n", + " ht = cp.Parameter(N) \n", + " cov_sqrt = cp.Parameter((N, N))\n", + " mu = cp.Parameter(N)\n", + " parameters = [ht, cov_sqrt, mu] \n", + " \n", + " ut = cp.Variable(N) \n", + " htp = cp.Variable(N) \n", + " \n", + " risk = cp.sum_squares(cov_sqrt @ htp)\n", + " returns = mu.T @ htp\n", + " objective = returns - risk\n", + " \n", + " transaction_cost = KAPPA.T @ cp.abs(ut)\n", + " shorting_cost = SHORT.T @ cp.neg(htp)\n", + " constraints = [ \n", + " cp.sum(ut) + transaction_cost + shorting_cost <= 0, \n", + " htp == ht + ut,\n", + " ] \n", + " problem = cp.Problem(cp.Maximize(objective), constraints)\n", + " return CvxpyLayer(problem, parameters, [ut]) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "class Tuner(object): \n", + " def __init__(self, mu=MU, gamma=GAMMA, cov_sqrt=COV_SQRT): \n", + " self.layer = construct_layer() \n", + " \n", + " self.gamma_sqrt = torch.tensor(np.sqrt(gamma), requires_grad=True)\n", + " self.cov_sqrt = torch.tensor(cov_sqrt, requires_grad=True)\n", + " self.mu = torch.tensor(mu, requires_grad=True)\n", + " self.variables = [self.gamma_sqrt, self.cov_sqrt, self.mu]\n", + " self.solver_args= {'acceleration_lookback': 0, 'max_iters': 10000} \n", + "\n", + " def __call__(self, ht):\n", + " norm_ht = ht / ht.sum()\n", + " norm_ut = self.layer(\n", + " norm_ht, self.gamma_sqrt * self.cov_sqrt, self.mu,\n", + " solver_args=self.solver_args)[0]\n", + " return norm_ut * ht.sum()\n", + "\n", + " def project(self):\n", + " self.gamma_sqrt.data = torch.max(self.gamma_sqrt, torch.tensor(0.0))\n", + " \n", + " \n", + "untuned = Tuner(gamma=GAMMA, cov_sqrt=COV_SQRT)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "STYLE = {\n", + " 'AGG': '--',\n", + " 'ITA': ':'\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def train(policy, epochs, batch_size=10, lr=1e-2, print_every=50): \n", + " opt = torch.optim.SGD(policy.variables, lr=lr) \n", + " print(\"Training for {} epochs (batch size={}, lr={})\".format(epochs, batch_size, lr))\n", + " test_utils = []\n", + " \n", + " with torch.no_grad():\n", + " test_costs, _, _ = monte_carlo(policy, trials=batch_size, seed=TEST, verbose=False)\n", + " test_utils.append(-test_costs.mean())\n", + " print('start: test utility ({})'.format(test_utils[-1]))\n", + " \n", + " for epoch in tqdm(range(epochs)): \n", + " \n", + " if (epoch + 1) % 100 == 0:\n", + " lr = lr / 2\n", + " opt = torch.optim.SGD(policy.variables, lr=lr)\n", + " \n", + " with torch.no_grad():\n", + " h0 = init_holdings(policy.cov_sqrt.detach().numpy(), policy.mu.detach().numpy(),\n", + " policy.gamma_sqrt.detach().item()**2)\n", + " h0 = torch.tensor(h0)\n", + " \n", + " opt.zero_grad()\n", + " costs, _, _ = monte_carlo(policy, h0=h0, trials=batch_size, seed=epoch, verbose=False)\n", + " costs.mean().backward()\n", + " \n", + " with torch.no_grad():\n", + " test_costs, _, _ = monte_carlo(policy, h0=h0, trials=batch_size, seed=TEST, verbose=False)\n", + " test_utils.append(-test_costs.mean())\n", + " print('epoch {}: train utility ({}) test utility ({})'.format(\n", + " epoch, -costs.mean(), test_utils[-1]))\n", + " if epoch % print_every == 0:\n", + " print('\\tmu.grad.norm ', policy.mu.grad.norm().item())\n", + " print('\\tgamma.grad.norm ', policy.gamma_sqrt.grad.norm().item())\n", + " print('\\tcov_sqrt.grad.norm ', policy.cov_sqrt.grad.norm().item())\n", + " print('\\tgamma ', policy.gamma_sqrt.detach().item()**2)\n", + " plot_mean_std(policy.mu.detach().numpy(),\n", + " (policy.cov_sqrt.T @ policy.cov_sqrt).detach().numpy())\n", + " plt.show()\n", + " \n", + " plot_states(policy, h0=h0, seed=TEST, style=STYLE, legend=True)\n", + " plt.show()\n", + " \n", + " plot_controls(policy, h0=h0, seed=TEST, style=STYLE)\n", + " plt.show()\n", + " \n", + " opt.step()\n", + " with torch.no_grad(): \n", + " policy.project() \n", + " \n", + " return test_utils" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "TOTAL_SIMS = 4000\n", + "BATCH_SIZE = 10\n", + "EPOCHS = int(TOTAL_SIMS / BATCH_SIZE)\n", + "LR = 1e-3\n", + "PRINT_EVERY = 100 / BATCH_SIZE\n", + "MU_INIT = MU\n", + "GAMMA_INIT = GAMMA\n", + "COV_INIT = COV_SQRT\n", + "tuned = Tuner(mu=MU_INIT, gamma=GAMMA_INIT, cov_sqrt=COV_INIT)\n", + "test_utils = train(tuned, lr=LR, epochs=EPOCHS, batch_size=BATCH_SIZE, print_every=PRINT_EVERY)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tuned_h0 = init_holdings(tuned.cov_sqrt.detach().numpy(),\n", + " tuned.mu.detach().numpy(),\n", + " tuned.gamma_sqrt.detach().item()**2)\n", + "tuned_h0 = torch.tensor(tuned_h0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "latexify(fig_width=8.0, fig_height=4.0)\n", + "fig, axs = plt.subplots(2, 2)\n", + "\n", + "plot_states(untuned, ax=axs[0][0], h0=H0, seed=TEST, xlabel=False, legend=False, style=STYLE)\n", + "plot_states(tuned, ax=axs[0][1], h0=tuned_h0, seed=TEST, ylabel=False, xlabel=False, legend=False, style=STYLE)\n", + "\n", + "\n", + "plot_controls(untuned, ax=axs[1][0], h0=H0, seed=TEST, style=STYLE)\n", + "plot_controls(tuned, ax=axs[1][1], h0=tuned_h0, seed=TEST, ylabel=False,style=STYLE)\n", + "\n", + "plt.savefig('mark-state-ctrl.pdf')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "latexify(fig_width=6.5, fig_height=1.9)\n", + "\n", + "_, ax = plt.subplots(1, 1)\n", + "ax.plot([-u for u in test_utils], color='black')\n", + "ax.set_ylabel('cost')\n", + "ax.set_xlabel('iteration')\n", + "ax.set_yticks([-0.00425, -0.00475, -0.00525])\n", + "plt.tight_layout()\n", + "plt.savefig('mark-training.pdf')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(ETFS)\n", + "\n", + "\n", + "print(tuned.mu.detach().numpy())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(MU)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tuned.gamma_sqrt.item()**2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "est_cov = (tuned.cov_sqrt.T @ tuned.cov_sqrt).detach().numpy()\n", + "np.median(np.abs((COV - est_cov) / COV))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "latexify(fig_width=6, fig_height=4)\n", + "\n", + "plt.imshow(est_cov)\n", + "plt.colorbar()\n", + "plt.xticks(np.arange(N_ASSETS), ETFS, rotation=90)\n", + "plt.yticks(np.arange(N_ASSETS), ETFS)\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.7.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/supply_chain.ipynb b/supply_chain.ipynb new file mode 100644 index 0000000..e760567 --- /dev/null +++ b/supply_chain.ipynb @@ -0,0 +1,898 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "import cvxpy as cp\n", + "import numpy as np\n", + "import scipy.sparse as spa\n", + "from cvxpylayers.torch import CvxpyLayer\n", + "import networkx as nx\n", + "import matplotlib.pyplot as plt\n", + "from utils import latexify" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "np.random.seed(0)\n", + "\n", + "# generate problem data\n", + "n = 4 # nodes\n", + "k = 2 # suppliers (with prices p)\n", + "c = 2 # retail (with demand d)\n", + "m = 8 # links\n", + "\n", + "supply_links = [0, 1]\n", + "retail_links = [6, 7]\n", + "internode_links = [2, 3, 4, 5]\n", + "\n", + "# Incidence matrices (nodes x links)\n", + "A_in = np.array([[1, 0, 0, 0, 0, 0, 0, 0], # 1 (supply)\n", + " [0, 1, 0, 0, 0, 0, 0, 0], # 2 (supply)\n", + " [0, 0, 1, 0, 0, 1, 0, 0], # 3 (retail)\n", + " [0, 0, 0, 1, 1, 0, 0, 0], # 4 (retail)\n", + " ])\n", + "\n", + "A_out = np.array([[0, 0, 1, 1, 0, 0, 0, 0], # 1 (supply)\n", + " [0, 0, 0, 0, 1, 0, 0, 0], # 2 (supply)\n", + " [0, 0, 0, 0, 0, 0, 1, 0], # 3 (retail)\n", + " [0, 0, 0, 0, 0, 1, 0, 1], # 4 (retail)\n", + " ])\n", + "\n", + "# Prices\n", + "mu_p = torch.tensor([0, 0.1]).double()\n", + "sigma_p = torch.tensor([0.2, 0.2]).double()\n", + "mean_p = torch.exp(mu_p + sigma_p ** 2 /2).double().view(k, 1)\n", + "var_p = (torch.exp(sigma_p ** 2) - 1) * torch.exp(2 * mean_p + sigma_p ** 2)\n", + "\n", + "# Demands\n", + "mu_d = torch.tensor([0.0, 0.4]).double()\n", + "sigma_d = torch.tensor([0.2, 0.2]).double()\n", + "mean_d = torch.exp(mu_d + sigma_d ** 2 /2).double().view(c, 1)\n", + "var_d = (torch.exp(sigma_d ** 2) - 1) * torch.exp(2 * mean_d + sigma_d ** 2)\n", + "\n", + "# Uncertainty distribution (prices and demands)\n", + "w_dist = torch.distributions.log_normal.LogNormal(torch.cat([mu_p, mu_d], 0), \n", + " torch.cat([sigma_p, sigma_d], 0))\n", + "\n", + "# Capacities\n", + "h_max = 3. # Maximum capacity in every node\n", + "u_max = 2. # Link flow capacity\n", + "\n", + "# Storage cost parameters, W(x) = alpha'x + beta'x^2 + gamma\n", + "alpha = 0.01\n", + "beta = 0.01\n", + "\n", + "# Transportation cost parameters\n", + "tau = 0.05 * np.ones((m - k - c, 1))\n", + "tau_th = torch.tensor(tau, dtype=torch.double)\n", + "r = 1.3 * np.ones((k, 1))\n", + "r_th = torch.tensor(r, dtype=torch.double)\n", + "\n", + "\n", + "# Plotting settings\n", + "fig_width_pt = 469.75 # Get this from LaTeX using \\the\\textwidth\n", + "inches_per_pt = 1.0/72.27 # Convert pt to inch\n", + "fig_width = fig_width_pt * inches_per_pt" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.13\n", + "1.02\n", + "1.52\n" + ] + } + ], + "source": [ + "print(np.round(np.exp(0.1 + 0.04/2), decimals=2))\n", + "print(np.round(np.exp(0.0 + 0.04/2), decimals=2))\n", + "print(np.round(np.exp(0.4 + 0.04/2), decimals=2))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tensor([0.8140, 1.1559, 0.9484, 1.2243], dtype=torch.float64)\n", + "tensor([[1.0202],\n", + " [1.1275]], dtype=torch.float64)\n", + "tensor([[0.3268, 0.3268],\n", + " [0.4050, 0.4050]], dtype=torch.float64)\n", + "tensor([[1.0202],\n", + " [1.5220]], dtype=torch.float64)\n", + "tensor([[0.3268, 0.3268],\n", + " [0.8915, 0.8915]], dtype=torch.float64)\n" + ] + } + ], + "source": [ + "print(w_dist.sample())\n", + "print(mean_p)\n", + "print(var_p)\n", + "print(mean_d)\n", + "print(var_d)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# Define linear dynamics\n", + "# x = (h, p^{wh}, d) \n", + "# u = u\n", + "# w = (p^{wh}, d)\n", + "# x_{t+1} = Ax_{t} + Bu_{t} + w\n", + "A_d = np.bmat([[np.eye(n), np.zeros((n, k+c))],\n", + " [np.zeros((k+c, n)), np.zeros((k+c, k+c))]])\n", + "A_d_th = torch.tensor(A_d, dtype=torch.double)\n", + "B_d = np.vstack([A_in - A_out,\n", + " np.zeros((k+c, m))])\n", + "B_d_th = torch.tensor(B_d, dtype=torch.double)\n", + "n_x, n_u = B_d.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# Setup policy\n", + "# Parameters\n", + "P_sqrt = cp.Parameter((n, n))\n", + "q = cp.Parameter((n, 1))\n", + "x = cp.Parameter((n_x, 1))\n", + "h, p, d = x[:n], x[n:n+k], x[n+k:]\n", + "\n", + "# Variables\n", + "u = cp.Variable((n_u, 1))\n", + "h_next = cp.Variable((n, 1))\n", + "\n", + "# Cvxpy Layer\n", + "stage_cost = cp.vstack([p, tau, -r]).T @ u\n", + "next_stage_cost = cp.sum_squares(P_sqrt @ h_next) + q.T @ h_next\n", + "constraints = [h_next == h + (A_in - A_out) @ u, \n", + " h_next <= h_max, \n", + " 0 <= u, u <= u_max,\n", + " A_out @ u <= h, u[retail_links] <= d,\n", + " ]\n", + "prob = cp.Problem(cp.Minimize(stage_cost + next_stage_cost), constraints)\n", + "policy = CvxpyLayer(prob, [x, P_sqrt, q], [u])" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "def stage_cost(x, u):\n", + " assert x.shape[0] == u.shape[0]\n", + " batch_size = x.shape[0]\n", + " r_batch = r_th.repeat(batch_size, 1, 1)\n", + " tau_batch = tau_th.repeat(batch_size, 1, 1)\n", + " \n", + " h, p, dh = x[:,:n], x[:, n:n+k], x[:, n+k:]\n", + " \n", + " m = len(u) \n", + " \n", + " # Selling + buying + shipping cost\n", + " s_vec = torch.cat([p, tau_batch, -r_batch], 1).double()\n", + " S = torch.bmm(s_vec.transpose(1, 2), u)\n", + " H = alpha * h + beta * (h ** 2) # Storage cost\n", + " \n", + " return torch.sum(S, 1) + torch.sum(H, 1)\n", + "\n", + "def simulate(x, u):\n", + " assert x.shape[0] == u.shape[0]\n", + " batch_size = x.shape[0]\n", + "\n", + " A_batch = A_d_th.repeat(batch_size, 1, 1)\n", + " B_batch = B_d_th.repeat(batch_size, 1, 1)\n", + " \n", + " zer = torch.zeros(batch_size, n, 1).double()\n", + " w = w_dist.sample((batch_size,)).double().view((batch_size, k + c, 1))\n", + " w_batch = torch.cat([zer, w], 1).double()\n", + " \n", + " return torch.bmm(A_batch, x) + torch.bmm(B_batch, u) + w_batch\n", + "\n", + " \n", + "def loss(policy, params, time_horizon, batch_size=1, seed=None):\n", + " P_sqrt, q = params\n", + " if seed is not None:\n", + " torch.manual_seed(seed)\n", + " \n", + " # Batchify input\n", + " x_b_0 = h_max * torch.rand(batch_size, n, 1).double()\n", + " w_0 = w_dist.sample((batch_size,)).double().view((batch_size, k+c, 1))\n", + " x_batch = torch.cat([x_b_0, w_0], 1).double()\n", + "\n", + " # Repeat parameter values\n", + " P_sqrt_batch = P_sqrt.repeat(batch_size, 1, 1)\n", + " q_batch = q.repeat(batch_size, 1, 1)\n", + "\n", + " cost = 0.0\n", + " x_t = x_batch\n", + " x_hist = [x_batch]\n", + " u_hist = []\n", + " for t in range(time_horizon):\n", + " u_t = policy(x_t, P_sqrt_batch, q_batch, solver_args={\"acceleration_lookback\": 0})[0]\n", + " x_t = simulate(x_t, u_t) \n", + " cost += stage_cost(x_t, u_t).mean() / time_horizon\n", + " x_hist.append(x_t)\n", + " u_hist.append(u_t)\n", + " \n", + " return cost, x_hist, u_hist\n", + "\n", + "\n", + "def monte_carlo(policy, params, time_horizon, batch_size=1, trials=10, seed=None):\n", + " if seed is not None:\n", + " torch.manual_seed(seed)\n", + " results = []\n", + " x = []\n", + " u = []\n", + " \n", + " for i in range(trials):\n", + " cost, x_hist, u_hist = loss(policy, params, time_horizon, batch_size=batch_size, seed=seed)\n", + " results.append(cost.item())\n", + " x.append(x_hist)\n", + " u.append(u_hist)\n", + " return results, x, u\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "def train(policy, params, time_horizon, lr, epochs, batch_size):\n", + " opt = torch.optim.SGD(params, lr=lr)\n", + " val_costs = []\n", + " best_params = []\n", + " \n", + " for epoch in range(epochs):\n", + " with torch.no_grad():\n", + " val_cost_mc, x_behav, u_behav = monte_carlo(policy, params, time_horizon, 1, trials=10, seed=0)\n", + " val_cost = np.mean(val_cost_mc)\n", + " val_costs.append(val_cost)\n", + "\n", + " torch.manual_seed(epoch)\n", + " opt.zero_grad()\n", + " cost, _, _, = loss(policy, params, time_horizon, batch_size, seed=epoch+1)\n", + " cost.backward()\n", + " print(\"epoch %d, valid %.4e\" % (epoch, val_cost)) \n", + " # TODO: Print gradient norm (possibly clip it)\n", + " # torch.nn.utils.clip_grad_norm_(params, 1)\n", + "# for p in params:\n", + "# print(p.grad.data.norm(2).item())\n", + " opt.step()\n", + "# scheduler.step(val_cost) \n", + " return val_costs, [np.array(p.detach().numpy()) for p in params], x_behav, u_behav" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Baseline cost: -0.2786436537604188\n", + "Perform training\n", + "epoch 0, valid -2.7864e-01\n", + "epoch 1, valid -2.8086e-01\n", + "epoch 2, valid -2.8249e-01\n", + "epoch 3, valid -2.8470e-01\n", + "epoch 4, valid -2.8614e-01\n", + "epoch 5, valid -2.8761e-01\n", + "epoch 6, valid -2.8670e-01\n", + "epoch 7, valid -2.9183e-01\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/sidereus/miniconda3/envs/python37/lib/python3.7/site-packages/diffcp/cone_program.py:259: UserWarning: Solved/Inaccurate.\n", + " warnings.warn(\"Solved/Inaccurate.\")\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch 8, valid -2.9450e-01\n", + "epoch 9, valid -2.9483e-01\n", + "epoch 10, valid -2.9606e-01\n", + "epoch 11, valid -3.0273e-01\n", + "epoch 12, valid -3.0218e-01\n", + "epoch 13, valid -3.0280e-01\n", + "epoch 14, valid -3.0113e-01\n", + "epoch 15, valid -3.0609e-01\n", + "epoch 16, valid -3.0719e-01\n", + "epoch 17, valid -3.0744e-01\n", + "epoch 18, valid -3.0588e-01\n", + "epoch 19, valid -3.0885e-01\n", + "epoch 20, valid -3.1254e-01\n", + "epoch 21, valid -3.1304e-01\n", + "epoch 22, valid -3.1392e-01\n", + "epoch 23, valid -3.1485e-01\n", + "epoch 24, valid -3.1601e-01\n", + "epoch 25, valid -3.1466e-01\n", + "epoch 26, valid -3.1662e-01\n", + "epoch 27, valid -3.1747e-01\n", + "epoch 28, valid -3.1957e-01\n", + "epoch 29, valid -3.2224e-01\n", + "epoch 30, valid -3.2307e-01\n", + "epoch 31, valid -3.2327e-01\n", + "epoch 32, valid -3.2457e-01\n", + "epoch 33, valid -3.2553e-01\n", + "epoch 34, valid -3.2729e-01\n", + "epoch 35, valid -3.2815e-01\n", + "epoch 36, valid -3.2954e-01\n", + "epoch 37, valid -3.2963e-01\n", + "epoch 38, valid -3.3178e-01\n", + "epoch 39, valid -3.3258e-01\n", + "epoch 40, valid -3.3211e-01\n", + "epoch 41, valid -3.3208e-01\n", + "epoch 42, valid -3.3302e-01\n", + "epoch 43, valid -3.3432e-01\n", + "epoch 44, valid -3.3491e-01\n", + "epoch 45, valid -3.3517e-01\n", + "epoch 46, valid -3.3426e-01\n", + "epoch 47, valid -3.3696e-01\n", + "epoch 48, valid -3.3725e-01\n", + "epoch 49, valid -3.3794e-01\n", + "epoch 50, valid -3.3704e-01\n", + "epoch 51, valid -3.3555e-01\n", + "epoch 52, valid -3.3560e-01\n", + "epoch 53, valid -3.3458e-01\n", + "epoch 54, valid -3.3537e-01\n", + "epoch 55, valid -3.3447e-01\n", + "epoch 56, valid -3.3766e-01\n", + "epoch 57, valid -3.3952e-01\n", + "epoch 58, valid -3.4020e-01\n", + "epoch 59, valid -3.3983e-01\n", + "epoch 60, valid -3.4014e-01\n", + "epoch 61, valid -3.3866e-01\n", + "epoch 62, valid -3.3906e-01\n", + "epoch 63, valid -3.3942e-01\n", + "epoch 64, valid -3.4063e-01\n", + "epoch 65, valid -3.4106e-01\n", + "epoch 66, valid -3.4153e-01\n", + "epoch 67, valid -3.4051e-01\n", + "epoch 68, valid -3.4164e-01\n", + "epoch 69, valid -3.4203e-01\n", + "epoch 70, valid -3.4197e-01\n", + "epoch 71, valid -3.4171e-01\n", + "epoch 72, valid -3.4249e-01\n", + "epoch 73, valid -3.4331e-01\n", + "epoch 74, valid -3.4436e-01\n", + "epoch 75, valid -3.4467e-01\n", + "epoch 76, valid -3.4475e-01\n", + "epoch 77, valid -3.4489e-01\n", + "epoch 78, valid -3.4526e-01\n", + "epoch 79, valid -3.4398e-01\n", + "epoch 80, valid -3.4311e-01\n", + "epoch 81, valid -3.4236e-01\n", + "epoch 82, valid -3.4182e-01\n", + "epoch 83, valid -3.4144e-01\n", + "epoch 84, valid -3.4275e-01\n", + "epoch 85, valid -3.4372e-01\n", + "epoch 86, valid -3.4382e-01\n", + "epoch 87, valid -3.4510e-01\n", + "epoch 88, valid -3.4504e-01\n", + "epoch 89, valid -3.4644e-01\n", + "epoch 90, valid -3.4684e-01\n", + "epoch 91, valid -3.4667e-01\n", + "epoch 92, valid -3.4905e-01\n", + "epoch 93, valid -3.4823e-01\n", + "epoch 94, valid -3.4606e-01\n", + "epoch 95, valid -3.4528e-01\n", + "epoch 96, valid -3.4534e-01\n", + "epoch 97, valid -3.4530e-01\n", + "epoch 98, valid -3.4405e-01\n", + "epoch 99, valid -3.4339e-01\n", + "epoch 100, valid -3.4331e-01\n", + "epoch 101, valid -3.4378e-01\n", + "epoch 102, valid -3.4320e-01\n", + "epoch 103, valid -3.4293e-01\n", + "epoch 104, valid -3.4187e-01\n", + "epoch 105, valid -3.4212e-01\n", + "epoch 106, valid -3.4064e-01\n", + "epoch 107, valid -3.4147e-01\n", + "epoch 108, valid -3.4102e-01\n", + "epoch 109, valid -3.4078e-01\n", + "epoch 110, valid -3.4131e-01\n", + "epoch 111, valid -3.4212e-01\n", + "epoch 112, valid -3.4124e-01\n", + "epoch 113, valid -3.4238e-01\n", + "epoch 114, valid -3.4228e-01\n", + "epoch 115, valid -3.4068e-01\n", + "epoch 116, valid -3.4148e-01\n", + "epoch 117, valid -3.4015e-01\n", + "epoch 118, valid -3.3930e-01\n", + "epoch 119, valid -3.3993e-01\n", + "epoch 120, valid -3.3927e-01\n", + "epoch 121, valid -3.3844e-01\n", + "epoch 122, valid -3.4094e-01\n", + "epoch 123, valid -3.4171e-01\n", + "epoch 124, valid -3.4244e-01\n", + "epoch 125, valid -3.4239e-01\n", + "epoch 126, valid -3.4109e-01\n", + "epoch 127, valid -3.4152e-01\n", + "epoch 128, valid -3.4136e-01\n", + "epoch 129, valid -3.4079e-01\n", + "epoch 130, valid -3.4047e-01\n", + "epoch 131, valid -3.4128e-01\n", + "epoch 132, valid -3.4085e-01\n", + "epoch 133, valid -3.4101e-01\n", + "epoch 134, valid -3.4121e-01\n", + "epoch 135, valid -3.4030e-01\n", + "epoch 136, valid -3.4004e-01\n", + "epoch 137, valid -3.3978e-01\n", + "epoch 138, valid -3.4031e-01\n", + "epoch 139, valid -3.4120e-01\n", + "epoch 140, valid -3.4175e-01\n", + "epoch 141, valid -3.4133e-01\n", + "epoch 142, valid -3.4062e-01\n", + "epoch 143, valid -3.4073e-01\n", + "epoch 144, valid -3.4138e-01\n", + "epoch 145, valid -3.4159e-01\n", + "epoch 146, valid -3.4226e-01\n", + "epoch 147, valid -3.4223e-01\n", + "epoch 148, valid -3.4246e-01\n", + "epoch 149, valid -3.4305e-01\n", + "epoch 150, valid -3.4303e-01\n", + "epoch 151, valid -3.4271e-01\n", + "epoch 152, valid -3.4380e-01\n", + "epoch 153, valid -3.4423e-01\n", + "epoch 154, valid -3.4427e-01\n", + "epoch 155, valid -3.4534e-01\n", + "epoch 156, valid -3.4542e-01\n", + "epoch 157, valid -3.4569e-01\n", + "epoch 158, valid -3.4623e-01\n", + "epoch 159, valid -3.4612e-01\n", + "epoch 160, valid -3.4461e-01\n", + "epoch 161, valid -3.4408e-01\n", + "epoch 162, valid -3.4426e-01\n", + "epoch 163, valid -3.4395e-01\n", + "epoch 164, valid -3.4337e-01\n", + "epoch 165, valid -3.4391e-01\n", + "epoch 166, valid -3.4291e-01\n", + "epoch 167, valid -3.4321e-01\n", + "epoch 168, valid -3.4245e-01\n", + "epoch 169, valid -3.4171e-01\n", + "epoch 170, valid -3.4274e-01\n", + "epoch 171, valid -3.4171e-01\n", + "epoch 172, valid -3.4113e-01\n", + "epoch 173, valid -3.4085e-01\n", + "epoch 174, valid -3.3846e-01\n", + "epoch 175, valid -3.3782e-01\n", + "epoch 176, valid -3.3990e-01\n", + "epoch 177, valid -3.4007e-01\n", + "epoch 178, valid -3.3958e-01\n", + "epoch 179, valid -3.3945e-01\n", + "epoch 180, valid -3.3893e-01\n", + "epoch 181, valid -3.3936e-01\n", + "epoch 182, valid -3.3951e-01\n", + "epoch 183, valid -3.3997e-01\n", + "epoch 184, valid -3.3942e-01\n", + "epoch 185, valid -3.4041e-01\n", + "epoch 186, valid -3.3969e-01\n", + "epoch 187, valid -3.3975e-01\n", + "epoch 188, valid -3.4118e-01\n", + "epoch 189, valid -3.4133e-01\n", + "epoch 190, valid -3.4220e-01\n", + "epoch 191, valid -3.4241e-01\n", + "epoch 192, valid -3.4192e-01\n", + "epoch 193, valid -3.4229e-01\n", + "epoch 194, valid -3.4166e-01\n", + "epoch 195, valid -3.4147e-01\n", + "epoch 196, valid -3.4198e-01\n", + "epoch 197, valid -3.4197e-01\n", + "epoch 198, valid -3.4156e-01\n", + "epoch 199, valid -3.4093e-01\n", + "Final cost: -0.3409255369772052\n", + "Performance improvement: 22.35 % over baseline cost\n" + ] + } + ], + "source": [ + "# Perform training\n", + "time_horizon = 20\n", + "epochs = 200\n", + "batch_size = 5\n", + "lr = 0.05\n", + "\n", + "# Initialize value function V(x) = x'Px + q'x\n", + "# centered at h_max/2 (between 0 and h_max) of each node\n", + "torch.manual_seed(0)\n", + "P_sqrt = torch.eye(n, requires_grad=True, dtype=torch.double)\n", + "q = -h_max * torch.ones(n, 1, dtype=torch.double)\n", + "# P_sqrt = torch.zeros(n, n).double()\n", + "# q = torch.zeros((n, 1)).double()\n", + "q.requires_grad_(True)\n", + "params = [P_sqrt, q]\n", + "\n", + "# Baseline\n", + "P_sqrt_baseline = torch.eye(n, dtype=torch.double)\n", + "q_baseline = -h_max * torch.ones(n, 1, dtype=torch.double)\n", + "# P_sqrt_baseline = torch.zeros(n, n).double()\n", + "# q_baseline = torch.zeros((n, 1)).double()\n", + "baseline_params = [P_sqrt_baseline, q_baseline]\n", + "baseline_costs, x_behav_bl, u_behav_bl = monte_carlo(policy, baseline_params, time_horizon, batch_size=1, trials=10, seed=0)\n", + "baseline_cost = np.mean(baseline_costs)\n", + "print(\"Baseline cost: \", baseline_cost)\n", + "\n", + "print(\"Perform training\")\n", + "val_cost, params, x_behav, u_behav = train(policy, params, time_horizon, lr, epochs, batch_size)\n", + "print(\"Final cost: \", val_cost[-1])\n", + "\n", + "improvement = 100 * np.abs(baseline_cost - val_cost[-1])/np.abs(baseline_cost)\n", + "print(\"Performance improvement: %.2f %% over baseline cost\" % improvement)\n", + "\n", + "# Store final values\n", + "P_sqrt_train = P_sqrt.detach().numpy()\n", + "q_train = q.detach().numpy()" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "latexify(fig_width=fig_width, fig_height=fig_width/3, columns=2)\n", + "plt.plot(val_cost, c='k', label=\"Loss\")\n", + "plt.xlabel('iteration')\n", + "plt.ylabel('cost')\n", + "plt.tight_layout()\n", + "plt.savefig(\"supply_chain_training.pdf\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 0.64 0.3 0.02 -0.06]\n", + " [ 0.3 1.44 0.32 0.3 ]\n", + " [ 0.02 0.32 1.14 0.06]\n", + " [-0.06 0.3 0.06 1.01]]\n", + "[[-3.05]\n", + " [-2.92]\n", + " [-2.97]\n", + " [-2.99]]\n", + "\\begin{bmatrix}\n", + " 0.64 & 0.3 & 0.02 & -0.06\\\\\n", + " 0.3 & 1.44 & 0.32 & 0.3\\\\\n", + " 0.02 & 0.32 & 1.14 & 0.06\\\\\n", + " -0.06 & 0.3 & 0.06 & 1.01\\\\\n", + "\\end{bmatrix}\n", + "\\begin{bmatrix}\n", + " -3.05 & -2.92 & -2.97 & -2.99\\\\\n", + "\\end{bmatrix}\n" + ] + } + ], + "source": [ + "print(np.round(P_sqrt_train.T.dot(P_sqrt_train), decimals=2))\n", + "print(np.round(q_train, decimals=2))\n", + "def bmatrix(a):\n", + " \"\"\"Returns a LaTeX bmatrix\n", + "\n", + " :a: numpy array\n", + " :returns: LaTeX bmatrix as a string\n", + " \"\"\"\n", + " if len(a.shape) > 2:\n", + " raise ValueError('bmatrix can at most display two dimensions')\n", + " lines = str(a).replace('[', '').replace(']', '').splitlines()\n", + " rv = [r'\\begin{bmatrix}']\n", + " rv += [' ' + ' & '.join(l.split()) + r'\\\\' for l in lines]\n", + " rv += [r'\\end{bmatrix}']\n", + " return '\\n'.join(rv)\n", + "print(bmatrix(np.round(P_sqrt_train.T.dot(P_sqrt_train), decimals=2)))\n", + "print(bmatrix(np.round(q_train.T, decimals=2)))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[1. 0. 0. 0.]\n", + " [0. 1. 0. 0.]\n", + " [0. 0. 1. 0.]\n", + " [0. 0. 0. 1.]]\n", + "[[-3.]\n", + " [-3.]\n", + " [-3.]\n", + " [-3.]]\n" + ] + } + ], + "source": [ + "print(P_sqrt_baseline.numpy().T.dot(P_sqrt_baseline.numpy()))\n", + "print(q_baseline.numpy())" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# Mean values over episodes\n", + "n_episodes = len(u_behav)\n", + "u_print = np.sum([np.vstack([u.detach().numpy().flatten() for u in u_b]) for u_b in u_behav], 0)/n_episodes\n", + "x_print = np.sum([np.vstack([x.detach().numpy().flatten() for x in x_b]) for x_b in x_behav], 0)/n_episodes\n", + "u_print_bl = np.sum([np.vstack([u.detach().numpy().flatten() for u in u_b]) for u_b in u_behav_bl], 0)/n_episodes\n", + "x_print_bl = np.sum([np.vstack([u.detach().numpy().flatten() for u in x_b]) for x_b in x_behav_bl], 0)/n_episodes" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Add wharehouse and store nodes (to plot edges)\n", + "A_in_g = np.vstack([[0, 0, 0, 0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0, 0, 0, 0], \n", + " A_in,\n", + " [0, 0, 0, 0, 0, 0, 1, 0],\n", + " [0, 0, 0, 0, 0, 0, 0, 1]])\n", + "A_out_g = np.vstack([[1, 0, 0, 0, 0, 0, 0, 0],\n", + " [0, 1, 0, 0, 0, 0, 0, 0], \n", + " A_out,\n", + " [0, 0, 0, 0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0, 0, 0, 0]])\n", + "\n", + "\n", + "def draw_policy(ax, u_draw, plot_title, max_norm=None, fig_width=None, fig_height=None, print_colorbar=True):\n", + " # Create graph\n", + " DG = nx.DiGraph()\n", + " DG.add_nodes_from(range(n + k + c))\n", + "\n", + " weights = np.sum(u_draw, axis=0)\n", + " if max_norm is None:\n", + " weights /= np.max(weights)\n", + " else:\n", + " weights /= max_norm\n", + " \n", + " for z in range(m):\n", + " i = np.where(A_out_g[:, z] == 1)[0]\n", + " j = np.where(A_in_g[:, z] == 1)[0]\n", + " # Check if they are not empty\n", + " if len(i) > 0 and len(j) > 0:\n", + " DG.add_edge(i[0], j[0], weight=weights[z])\n", + "\n", + " # Layout\n", + " layout = {0: np.array([0.0, 0.5]),\n", + " 1: np.array([0.0, 0.0]),\n", + " 2: np.array([1.0, 0.5]),\n", + " 3: np.array([1.0, 0.0]),\n", + " 4: np.array([2.0, 0.5]),\n", + " 5: np.array([2.0, 0.0]),\n", + " 6: np.array([3.0, 0.5]),\n", + " 7: np.array([3.0, 0.0])\n", + " }\n", + " # Labels\n", + " labels = {0: \"\",\n", + " 1: \"\",\n", + " 2: \"1\",\n", + " 3: \"2\",\n", + " 4: \"3\",\n", + " 5: \"4\",\n", + " 6: \"\",\n", + " 7: \"\"}\n", + " node_color = ['red'] * k + ['blue'] * n + ['green'] * c\n", + " edges, edge_color = zip(*nx.get_edge_attributes(DG,'weight').items())\n", + " nodes = DG.nodes()\n", + " plt.sca(ax)\n", + " cmap = plt.cm.coolwarm\n", + "# cmap = plt.cm.Greys\n", + "# nx.draw_networkx_nodes(DG, layout, \n", + "# node_color='k',\n", + "# nodelist=[0,1],\n", + "# node_shape='s')\n", + " nx.draw_networkx_nodes(DG, layout, \n", + " node_color='w',\n", + " edgecolors='k',\n", + " nodelist=range(2, 6),\n", + " node_shape='o')\n", + "# nx.draw_networkx_nodes(DG, layout, \n", + "# node_color='k',\n", + "# nodelist=[6, 7],\n", + "# node_shape='^')\n", + " nx.draw_networkx_labels(DG, layout, labels=labels)\n", + " ec = nx.draw_networkx_edges(DG, layout, \n", + " edge_cmap=cmap, \n", + " edge_color=edge_color, \n", + " edgelist=edges,\n", + " edge_vmin=0,\n", + " edge_vmax=1,\n", + " arrowsize=20, width=2)\n", + "\n", + " # Plot colorbar\n", + " if print_colorbar:\n", + " sm = plt.cm.ScalarMappable(cmap=cmap, \n", + " norm=plt.Normalize(vmin=0., vmax=1.0)\n", + " )\n", + " cbar = plt.colorbar(sm)\n", + "# plt.title(plot_title)\n", + " \n", + "\n", + "latexify(fig_width=fig_width, fig_height=fig_width/2.75)\n", + "fig, (ax1, ax2) = plt.subplots(1, 2, gridspec_kw={'width_ratios': [0.85, 1]})\n", + "\n", + "\n", + "\n", + "# Maximum order u between baseline and tuned\n", + "max_norm = np.maximum(np.max(np.sum(u_print, axis=0)), np.max(np.sum(u_print_bl, axis=0)))\n", + "\n", + "draw_policy(ax1, u_print_bl, \"Untuned policy\", \n", + " max_norm=max_norm, \n", + " print_colorbar=False)\n", + "draw_policy(ax2, u_print, \"Tuned policy\", \n", + " max_norm=max_norm, \n", + " print_colorbar=True)\n", + "plt.tight_layout()\n", + "plt.savefig(\"supply_chain_policies.pdf\")" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "latexify(fig_width=fig_width, fig_height=fig_width/2.5)\n", + "# fig, (ax1, ax2, ax3) = plt.subplots(1, 3)\n", + "fig, (ax1, ax2) = plt.subplots(1, 2, sharey=True)\n", + "\n", + "\n", + "# # Loss function\n", + "# ax1.plot(val_cost, c='k', label=\"Loss\")\n", + "# ax1.set_xlabel('iteration')\n", + "# ax1.set_ylabel('cost')\n", + "\n", + "\n", + "# Storage\n", + "ax1.plot(x_print_bl[:, 0], c='k', label=\"$(h_t)_1$\")\n", + "ax1.plot(x_print_bl[:, 1], linestyle=\"--\", c='k', label=\"$(h_t)_2$\")\n", + "ax1.plot(x_print_bl[:, 2], linestyle=\"-.\", c='k', label=\"$(h_t)_3$\")\n", + "ax1.plot(x_print_bl[:, 3], linestyle=\":\",c='k', label=\"$(h_t)_4$\")\n", + "# ax3.legend()\n", + "ax1.set_ylim([-0.1, 2.7])\n", + "ax1.set_xlabel(\"$t$\")\n", + "ax1.set_ylabel('$h_t$')\n", + "# ax1.set_title(\"Untuned policy\")\n", + "\n", + "\n", + "# Storage\n", + "ax2.plot(x_print[:, 0], c='k', label=\"$(h_t)_1$\")\n", + "ax2.plot(x_print[:, 1], linestyle=\"--\", c='k', label=\"$(h_t)_2$\")\n", + "ax2.plot(x_print[:, 2], linestyle=\"-.\", c='k', label=\"$(h_t)_3$\")\n", + "ax2.plot(x_print[:, 3], linestyle=\":\",c='k', label=\"$(h_t)_4$\")\n", + "# ax2.legend()\n", + "ax2.legend(bbox_to_anchor=(1.04,0.5), loc=\"center left\")\n", + "ax2.set_ylim([-0.1, 2.7])\n", + "ax2.set_xlabel(\"$t$\")\n", + "# ax2.set_ylabel('$h_t$')\n", + "# ax2.set_title(\"Tuned policy\")\n", + "\n", + "plt.tight_layout()\n", + "plt.savefig(\"supply_chain_storage.pdf\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "@webio": { + "lastCommId": null, + "lastKernelId": null + }, + "kernelspec": { + "display_name": "Python 3", + "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.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/utils.py b/utils.py new file mode 100644 index 0000000..fa7432e --- /dev/null +++ b/utils.py @@ -0,0 +1,73 @@ +#Original Author: Prof. Nipun Batra +# nipunbatra.github.io +from math import sqrt +import matplotlib + +SPINE_COLOR = 'gray' + +def latexify(fig_width=None, fig_height=None, columns=1): + """Set up matplotlib's RC params for LaTeX plotting. + Call this before plotting a figure. + Parameters + ---------- + fig_width : float, optional, inches + fig_height : float, optional, inches + columns : {1, 2} + """ + + # code adapted from http://www.scipy.org/Cookbook/Matplotlib/LaTeX_Examples + + # Width and max height in inches for IEEE journals taken from + # computer.org/cms/Computer.org/Journal%20templates/transactions_art_guide.pdf + + assert(columns in [1,2]) + + if fig_width is None: + fig_width = 3.39 if columns==1 else 6.9 # width in inches + + if fig_height is None: + golden_mean = (sqrt(5)-1.0)/2.0 # Aesthetic ratio + fig_height = fig_width*golden_mean # height in inches + + MAX_HEIGHT_INCHES = 8.0 + if fig_height > MAX_HEIGHT_INCHES: + print("WARNING: fig_height too large:" + fig_height + + "so will reduce to" + MAX_HEIGHT_INCHES + "inches.") + fig_height = MAX_HEIGHT_INCHES + + # NB (bart): default font-size in latex is 11. This should exactly match + # the font size in the text if the figwidth is set appropriately. + # Note that this does not hold if you put two figures next to each other using + # minipage. You need to use subplots. + params = {'backend': 'ps', + 'text.latex.preamble': ['\\usepackage{gensymb}'], + 'axes.labelsize': 12, # fontsize for x and y labels (was 12 and before 10) + 'axes.titlesize': 12, + 'font.size': 12, # was 12 and before 10 + 'legend.fontsize': 12, # was 12 and before 10 + 'xtick.labelsize': 12, + 'ytick.labelsize': 12, + 'text.usetex': True, + 'figure.figsize': [fig_width,fig_height], + 'font.family': 'serif' + } + + matplotlib.rcParams.update(params) + + +def format_axes(ax): + + for spine in ['top', 'right']: + ax.spines[spine].set_visible(False) + + for spine in ['left', 'bottom']: + ax.spines[spine].set_color(SPINE_COLOR) + ax.spines[spine].set_linewidth(0.5) + + ax.xaxis.set_ticks_position('bottom') + ax.yaxis.set_ticks_position('left') + + for axis in [ax.xaxis, ax.yaxis]: + axis.set_tick_params(direction='out', color=SPINE_COLOR) + + return ax diff --git a/vehicle.ipynb b/vehicle.ipynb new file mode 100644 index 0000000..8789208 --- /dev/null +++ b/vehicle.ipynb @@ -0,0 +1,2378 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "import cvxpy as cp\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from cvxpylayers.torch import CvxpyLayer\n", + "from scipy.linalg import solve_discrete_are\n", + "from extquadcontrol import lqr_average\n", + "from PIL import Image\n", + "import matplotlib as mpl\n", + "from utils import latexify\n", + "\n", + "torch.set_default_dtype(torch.double)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "L = 2.8\n", + "h = .2\n", + "n = 6\n", + "m = 2\n", + "\n", + "lam_1 = 1\n", + "lam_2 = 1\n", + "lam_3 = 10\n", + "lam_4 = 10" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [], + "source": [ + "def split_state_control(x, u):\n", + " assert x.ndim == 2\n", + " assert u.ndim == 2\n", + " assert x.shape[0] == u.shape[0]\n", + " assert x.shape[1] == n\n", + " assert u.shape[1] == m\n", + "\n", + " return x[:, 0], x[:, 1], x[:, 2], x[:, 3], x[:, 4], x[:, 5], u[:, 0], u[:, 1]\n", + "\n", + "def f_batch(x, u):\n", + " s, e, dpsi, v, vdes, curvature, a, z = split_state_control(x, u)\n", + " \n", + " curvatures_to_not_change = torch.rand_like(curvature) < .95 # change on average every 4 seconds\n", + " curvature_next = curvatures_to_not_change * curvature + ~curvatures_to_not_change * .1 * torch.randn_like(curvature)\n", + " vdes_to_not_change = torch.rand_like(vdes) < .98 # change on average every 10 seconds\n", + " vdes_next = vdes_to_not_change * vdes + ~vdes_to_not_change * torch.distributions.Uniform(3, 6).sample(sample_shape=vdes.shape)\n", + " xnext = torch.stack([\n", + " s + h * v / (1 - e * curvature) * torch.cos(dpsi),\n", + " e + h * v * torch.sin(dpsi),\n", + " dpsi + h * v * (curvature + z / L - curvature / (1 - e * curvature) * torch.cos(dpsi)),\n", + " v + h * a,\n", + " vdes_next,\n", + " curvature_next\n", + " ], dim=1)\n", + " \n", + " xnext[:, 1] += 1e-1*torch.randn(x.shape[0])\n", + " xnext[:, 2] += 1e-2*torch.randn(x.shape[0])\n", + " xnext[:, 3] += 1e-1*torch.randn(x.shape[0])\n", + " \n", + " return xnext\n", + "\n", + "def cost_batch(x, u):\n", + " s, e, dpsi, v, vdes, curvature, a, z = split_state_control(x, u)\n", + "\n", + " return (v - vdes).pow(2) + lam_1 * e.pow(2) + lam_2 * dpsi.pow(2) + \\\n", + " lam_3 * a.pow(2) + lam_4 * z.pow(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_path(X):\n", + " E, N, psi = np.zeros(1), np.zeros(1), np.ones(1)*np.pi/2\n", + " E_veh, N_veh = [np.zeros(1)]*2 \n", + " ds = X[-1,0] / 100\n", + " for s in np.linspace(0, X[-1,0], 100):\n", + " e = np.interp(s, X[:, 0], X[:, 1])\n", + " dpsi = np.interp(s, X[:, 0], X[:, 2])\n", + " t = mpl.markers.MarkerStyle(marker=9)\n", + " t._transform = t.get_transform().rotate_deg(np.rad2deg(-psi[-1]-dpsi + np.pi/2))\n", + " plt.scatter((E_veh[-1],), (N_veh[-1],), s=3, c='k', marker=t, alpha=.5)\n", + " E_veh = np.append(E_veh, E[-1] - e * np.sin(psi[-1]))\n", + " N_veh = np.append(N_veh, N[-1] + e * np.cos(psi[-1]))\n", + " E = np.append(E, E[-1] + ds * np.sin(psi[-1]))\n", + " N = np.append(N, N[-1] + ds * np.cos(psi[-1]))\n", + " psi = np.append(psi, psi[-1] + ds * np.interp(s, X[:, 0], X[:, -1]))\n", + " plt.plot(E, N, c='k', linewidth=1)\n", + " extent = max(np.max(E) - np.min(E) + 2, np.max(N) - np.min(N) + 2)\n", + " E_middle = .5 * (np.max(E) + np.min(E))\n", + " N_middle = .5 * (np.max(N) + np.min(N))\n", + " plt.xlim(E_middle - extent/2, E_middle + extent/2)\n", + " plt.ylim(N_middle - extent/2, N_middle + extent/2)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [], + "source": [ + "# approximate value function\n", + "P_sqrt = cp.Parameter((4, 4))\n", + "q = cp.Parameter(4)\n", + "\n", + "# dynamics\n", + "fx = cp.Parameter(4)\n", + "B = cp.Parameter((4, 2))\n", + "curvature = cp.Parameter(1)\n", + "\n", + "u = cp.Variable(2)\n", + "y = cp.Variable(4)\n", + "\n", + "a = u[0]\n", + "z = u[1]\n", + "\n", + "objective = lam_3 * cp.square(a) + lam_4 * cp.square(z) + \\\n", + " cp.sum_squares(P_sqrt @ y) + q @ y\n", + "constraints = [y == fx + B @ u, cp.abs(a) <= 2, cp.abs(z + L * curvature) <= .68]\n", + "prob = cp.Problem(cp.Minimize(objective), constraints)\n", + "policy = CvxpyLayer(prob, [P_sqrt, q, fx, B, curvature], [u])" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "def loss(time_horizon, batch_size, P_sqrt, q, seed=None):\n", + " if seed is not None:\n", + " torch.manual_seed(seed)\n", + " X, U = [], []\n", + " x = torch.zeros(batch_size, n)\n", + " x[:, 1] = .5\n", + " x[:, 2] = .1\n", + " x[:, 3] = 3\n", + " x[:, 4] = 4.5\n", + " loss = 0.0\n", + " for _ in range(time_horizon):\n", + " _, e, dpsi, v, vdes, curvature, _, _ = split_state_control(x, torch.zeros(batch_size, 2))\n", + " enext = e + h * v * torch.sin(dpsi)\n", + " dpsi_next = dpsi + h * v * (curvature - curvature / (1 - e * curvature) * torch.cos(dpsi))\n", + " fx = torch.stack([\n", + " enext,\n", + " dpsi_next,\n", + " v - .98*vdes-.02*4.5,\n", + " enext + h * v * torch.sin(dpsi_next)\n", + " ], dim=1)\n", + " B = torch.zeros(batch_size, 4, 2)\n", + " B[:, 1, 1] = h * v / L\n", + " B[:, 2, 0] = h\n", + " B[:, 3, 1] = h * h * v * v / L\n", + " u, = policy(P_sqrt, q, fx, B, curvature.unsqueeze(-1), solver_args={\"acceleration_lookback\": 0})\n", + " X.append(x.detach().numpy().squeeze())\n", + " U.append(u.detach().numpy().squeeze())\n", + " loss += cost_batch(x, u).mean() / time_horizon\n", + " x = f_batch(x, u)\n", + " return loss, np.array(X), np.array(U)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "P_sqrt = torch.eye(4)\n", + "P_sqrt.requires_grad_(True)\n", + "q = torch.zeros(4, requires_grad=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [], + "source": [ + "losses_monte_carlo_untrained = [loss(100, 1, torch.eye(4), torch.zeros(4), seed=1000+k)[0] for k in range(100)]" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 001, loss: 3.512\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 002, loss: 3.706\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 003, loss: 3.693\n" + ] + }, + { + "data": { + "image/png": "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Umqjvz9cKfUo8ChAnz59OlSgOKuiooLFixfjdDqZPn06LpcLl8vF22+/TV5eHvn5+eTk5JguU1yBSwbSt+Mms1Uomzth886cZvFA4fnf79sBVACQlZWlr0bBocrr9WKz2WhsbASgb9++NDY28vTTT/Ppp5/yzTffcP311xuuUlyp9jpkIecGLV5rvUMpVQgsbXV/rGw/BobH4+HIkSO88cYb2Gw2Fi1aRE1NDR6PhwcffJDq6mq2bNlCXFyc6VLFVXDJQPrCN0EplcmZzpjru79SKfWRb9sSzg2nuEpKSkp4+eWXCQ8Px+12AxAVFUVjYyPZ2dlce+21sr3YxfizDXn+Htbm+/3elhSXz+1243A4aGxsRCnFX/7yF06dOkV5eTl33XUXt99+O6+88so5p0WJzk+O1LGYhoYGDhw4wN///nccDgcvvfQStbW12O12tNbcfvvt3H///SxatEjC2AVJIC2kuLiYV199FZvNhtfrJSwsDLvdjtPppKysjOzsbCZMmMAf//hH06WKAJFAWkhsbCy1tbVER0ezbNkyampqCAsL4/Tp04wdO5axY8eycOFC02WKAJJAWkRRURGvvfYa8fHx5OXlER4ejsvlwu12M378eAYNGsRLL70ky9QuTgJpEc3dMSIiomXoqNaaJ554AqfTyZtvvilhDAESSAs4cOAAb7zxBgkJCTz//PMtwXv55ZfZsWMH3377rZxIHCLkVbaAa665Bq01brcbp9MJwPr161m2bBlbtmzpkmPXRNskkIbV1NRQV1fHsmXL8Hg8KKU4dOgQDz30EKtXr6Z3796mSxRBJNf5M2j//v08//zzLF++HAC73Y7X6+WBBx7g97///QUXIhZdn3RIg1wuV8uOnNZj2rp3784zzzxjuDphggTSkH379vG3v/2NpKQkFixYAMB3331HQUEBO3fulIsUhygJpCEul4v6+nrsdjsRERHU19czbdo0XnvttZaxbCL0SCAN+PHHH3nzzTdJSUlh/vz5wJml6o033sjEiXJpolAmgTSge/fu1NfXU19fj1KK//3vf+Tn57N7927TpQnDJJBBtmfPHlasWEFqairz5s1Da81TTz3F/PnzZXaikLc9gq1Pnz5ERERQV1cHwCeffMKxY8eYMWOG4cqEFUiHDLLo6GjmzZuHx+PB4/Hw7LPP8uqrr8qhcQKQQAbdDz/8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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 004, loss: 1.907\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 005, loss: 1.765\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 006, loss: 1.637\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOQAAADeCAYAAAAttqxGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAYqElEQVR4nO3de1BU5/3H8fcDiKDcgqCIihdSo/VSm5A4oBkbxZpmNLYGlEYbtTXm4i1pm1+1NU2to/HSiWOa1Fs7HccYEzUxjSajRkMU46Uo3mpwUFG0VI1iUFEQdnl+f7Br0HBZEM5zdvm+Zpy4Z8H9niwfnnOePef5Kq01Qgh78DNdgBDiWxJIIWxEAimEjUgghbARCaQQNiKBFMJGAqx6oaioKN2pUyerXk4I2zpw4MBlrXV0Vc9ZFshOnTqxf/9+q15O2JzWGqWU6TKMUErlVfecHLIKy2VkZDBs2DDkopTvsmyEFALgxIkTpKamsmrVqiY7QtZERkhhmfPnz/P4448ze/ZsBg8ebLocW5JACkvk5uby0EMP0aZNG37xi1+YLse2JJCi0ZWUlDB16lTCwsJITEwkMDDQdEm2JeeQolGdP3+en/zkJxQWFnLo0CG01vj5yThQHQmkaFRLly4lPz+ftLQ0QkND8ff3N12SrcmvKtFoFi5cyOLFixk5ciTTp0+XMHpAAikaxdq1a1m0aBFDhw4lODiYmJgY0yV5BQmkaHCbNm1i0qRJJCcnExsby7Rp02R09JAEUjSoDz74gF/96lesXbuWyMhInE4nsbGxpsvyGjKpIxqE1prFixczd+5chgwZwpYtW5g9ezYlJSUyOtaBBFLcs5s3b/L888/z6aefkpKSgp+fH2VlZQQHBxMaGmq6PK8igRT35NChQzz99NP07t2bkSNHEhwczJw5c7h+/ToBAfLjVVfyf0zUy40bN5g1axb//Oc/efjhh4mPj2fatGk4HA6CgoIICgoyXaJXkkCKOikrK2PlypX8+c9/JjQ0lDFjxnDz5k1u3rxJaGgowcHBpkv0ahJIUSP3jcTXr19n1apVLFq0CIfDweOPP45SCq01c+bMoaioSMLYAGoNpFIqAhgJ5AJdtNbLXdtTgEIgAsjVWmc1ZqHCOu4QlpeXM2nSJI4ePUpWVhbx8fEsXLiQnTt34nA4mD59OkVFRURFRREVFWW6bJ/gyQi5Tms9GEAptQ5Y7grpYK31c5W2pzZemcIKWmtu3brF1KlTyc7O5uTJk5SVlXH//fczfPhwoqKi6NevH4MGDeLs2bPy+WIjqDGQSqkHqRgFAdBau0M3svJ299fKKOmdHA4H27Zt47XXXuPo0aPcd999dOzYkXfffZfevXtz+vRp7r//fvLy8oiOrlibqUePHoar9k21jZAJwBWlVDIVh6Zorde7/n6q0tddAboAdwRSKTURmAgQFxfXQCWLhqC1Jj8/n2XLlvHWW28RHh5Ohw4dGDFiBC+++CJKKRITEwFo1aoVABERESZLbhJqC2QEEKm13gaglPpMKeXxKOg631wOkJCQICsa2YDWmqysLCZMmEBOTg5paWk8+eSTBAUFMW7cOBwOB0lJSabLbLJqC2Qu0KrS40IqRkL3ZI5bpOtrhU1prdm3bx9jx47l4sWLfP/732fUqFG89tprBAQEcObMmdsjojCntkBuA0ZVetyFiuDtB+ZX2h4h54/2pLXmq6++IiUlhQsXLtCrVy8GDBjAiy++SElJye1TCZmgsYcaA6m1LlRKve86FwR4XWudCxUzq65zS7gznMImCgoKeOKJJzh27Bi9e/fm0UcfZerUqRQXF9OnTx/T5Ykq1Pqxh2sSp6rt2xq+HNEQtNYMHz6c9PR04uLiSEtL45VXXuHGjRv07NnTdHmiBnKljo85d+4cEyZM4NChQzzxxBPMmzePa9eu8cADD5guTXhAAukjtNasXr2a5557jr59+5KRkUFZWRmdO3c2XZqoAwmkDygsLKR///63l1xs3749MTExhIWFmS5N1JEE0sudOnWKn/70pzidTtLS0pg1axYFBQUSRi8lgfRSTqeTjRs3Mnr0aPr168fKlSspLi6WC729nATSCxUUFDB69GgyMjIYPHgwXbp0ITIykubNm5suTdwjCaSXcTgcvPXWW+zZs4fU1FSWLFnC5cuXJYw+QgLpJUpLS8nLy2P06NHk5uaSmZlJWFgYwcHBdOjQwXR5ooFIIL1Afn4+f/nLX9izZw+nT59m5MiRxMfHy/KKPkgC6QXCw8PJyMggLy+PI0eO0KxZMwmjj5JA2lxeXh7jxo0jNzeXXbt20bZtW9MliUYkrQRsrLi4mM8//5zMzEyeeuopunfvbrok0chkhLSp06dPM3PmTDZs2EB6ejo9e/ZEKWW6LNHIJJA25XA4+Pjjj0lOTuaRRx6RMDYRcshqQzk5OSQnJ9OrVy/ee+89CWMTIoG0mevXr7NixQrKy8tJTEyUxYebGDlktZGcnBxmzpzJp59+SnZ2NjExMTI6NjESSBvx9/dn69atDBo0SK6+aaJqPWRVSs1XSkW4/kystD1FKZXs+u+DjVum79uzZw8jRoygQ4cOfPTRR6bLEYZ4cg75IHAAWAGshdv9PgZrrbe51tyZ0Xgl+r7//Oc/vPHGG3z11VcMHDhQDlObME8OWZdVsdCVtBJoIAUFBQQFBbF7924GDx7M4sWLTZckDPIkkF3q20pA1OzIkSOsWLGCS5cuERMTw8aNG02XJAzzZBnIBe6/K6UOKKU8Xv5RenvULCQkhOLiYrZs2cKHH34oF4yLms8hXRM2/1dpk3sk9KiVgNZ6udY6QWud4O6aJCocPXqURYsWcenSJZKSknjsscdMlyRswJPeHpWDFqm1zlJK5SKtBO5JXFwcSinS09NJT083XY6widpaCWS5RskuVIyMv3NtL5RWAvfG3f7tkUce4aGHHjJdjrAJaSVgyMGDB5kzZw4///nPTZcibESuZTUkMzOTwMBAYmNj0VpaZ4oKcumcAYcPH2bu3Lk89thjvPrqq6bLETYiI6QBfn5+XLx4kW7dusnoKO4gI6QBa9asYdSoUcyaNct0KcJmZIS02MGDB1m6dCktW7Y0XYqwIQmkxYqLi3E4HMTExMjhqvgOCaTFvvjiC1JTU5k4caLc1SG+QwJpsffee49Lly6xevVq06UIG5JAWqiwsJBTp07RunVrSktL5ZBVfIfMslroH//4B5GRkfTo0YOXX37ZdDnChmSEtFBubi5xcXEyOopqyQhpocOHDzNt2jQGDBggEzqiSjJCWsTpdHLgwAG2bNnC+++/b7ocYVMSSIucPHmSmJgYwsPD5ZBVVEsOWS1y9OhRunbtyvTp02ndurXpcoRNyQhpke3bt3Px4kXWr6/y9lIhAAmkZa5du0ZUVBRlZWVyuCqqJYesFrl06RKjR49m6NChMsMqquVxIJVSKUChe+kO92MqVp/LlUWuanbq1Ck++eQTnE4nEyZMMF2OsCmPDlldrQNG3fVYWgnUwbVr12jVqhUOh0MOWUW1PB0hE4DMSo+llUAdFRUV8fzzz9OxY0c5ZBXV8qT7VXIVK8xV10pAVKGsrIzS0lLefvttNm3aZLocYWO1rVweQRUrkntKKTVRKbVfKbX/0qVL9f1nvF5JSQlBQUGUlpZSVFQkh6yiWrUdsiYAuBZKfhho5Vq13ONWAsBygISEhCb7U+hwOFBK0bx5cyIjI+WQVVSrtpXLbx+qKqUGA59prXOVUmuRVgJ14ufnR3h4OABaawmlqJJHkzquDsnJVLSmy3WFUloJeCggIIDS0lL+9Kc/ERISYrocYWMeBdI1+j101zZpJeChHTt2UFpayubNm0lJSTFdjrAxuXTOArGxsfj5+XHz5k2Z0BE1kkBa4H//+x/NmzentLRUzh1FjSSQFoiOjiYkJITs7Gxu3bpluhxhYxJIC/Tt25eOHTty+PBhtm7darocYWMSSIu0adOGwsJCmWUVNZJAWqR169YUFxdz8+ZN06UIG5NAWkBrTWxsLFeuXCE6Otp0OcLGJJAWUEoRFxdHYWEhTfmaXlE7CaQFtNaEhISgtaZZs2amyxE2JoG0gFIKPz8/oqOj2bVrl+lyhI1JIC2gtcbPz4927dpx5MgRuVpHVEsCaQGlFKmpqSQnJ7N79262b99uuiRhUxJIi2itiY+P5+rVq7dvwxLibhJIiyilGD9+PAMGDCAjI8N0OcKmJJAWi4yMZPHixXzxxRemSxE2JIG0kNYap9NJfn4+Fy5cMF2OsCEJpMUGDhxIZGQkly9fNl2KsCEJpIWUUrzwwgskJiaydOlS9u7da7okYTMSSItprenRowdnzpyhY8eOpssRNuPRQslKqQeVUilKqYmVtqe4nktxLYIlPKCUYu7cucTGxpKZmVn7N4gmpcZFrlwLJf9Oaz0YyFJKaWB5pd4ez7m+bh2Q2ujV+pAuXbowY8YMlFIMGzbMdDnCJmocIbXWha4wupeCXO56qsreHo1SoQ/SWtOzZ09yc3NZt26djJTiNk+7Xz0IjHKPiEhvj3uilGLBggWEhIRw48YNAgMDTZckbMKjQLrWZX1dKXWq1i+uRHp7VM/Pz49nn32Wq1evsnTpUhklBVB7s50H3auTa60LXduSqUNvD611gtY6Qe6U/66RI0eSlZVFeXm5jJICqH2ETODO4EFF8NYC8ZW2SW+PevjBD35AdHQ0oaGhMkoKoPZJneVApOujjf+jYsY11zVarnN97JGM9PaoF6UUo0aNIjMzk+DgYDp16mS6JGGYsupm2YSEBL1//35LXsubZGdnM3DgQPbt20dcXJzpcoQFlFIHtNYJVT0nV+oY1r17dwICApg8eTL//ve/TZcjDJNAGqa1pk+fPpw4cUImdoQE0jSlFEuWLOHs2bO8/fbbMko2cRJIG2jXrh3t2rUjLy9PRskmTgJpA0opZsyYwcWLF1m6dCn79u0zXZIwRAJpEyNGjCAnJ4fi4mIZJZswCaRNhIeH87Of/Yzi4mKWLVsmNy83URJIGxk7dix79+5FKUVAQI13xgkfJYG0keTkZMrLy4mOjubvf/87e/bsMV2SsJgE0kb8/f155pln2LVrFy1btqRz586mSxIWk0DazPjx4zl27Bi//vWvKSkpMV2OsJicqNjM9773Pbp168bs2bPRWjN27FiSkpJMlyUsIiOkDf3yl78kPT0dh8Mhd4A0MRJIG0pNTSU/P5+SkhJOnarTIg3Cy0kgbSg4OJiEhARyc3NlYqeJkUDakFKKN998k7Nnz3L9+nXT5QgLSSBtqnfv3gQHB/PSSy+xc+dO0+UIi0ggbUprzaOPPkpOTo5M7DQhEkibUkrxt7/9jWvXrnHixAnT5QiLeNLbI8X1Z75SKuWu7dLboxG5J3d+85vfsGPHDtPlCAvUui4rUKi1Xq+1/h2wQikVUam3xzat9XpghhXFNjVaa/r3709OTg6lpaVYtSCZMKe2EbILMLjSY3fLAOntYQGlFK+++iodOnRgwYIFMko2AbWty+oeGd2dsNxtBTzq7SGtBO6d1pq+ffty9uxZGSWbgLpM6sznztGyVtJK4N4ppXj99dfJz89n7dq1pKenmy5JNCJPu1+lAPO11u7+HR719hANIzY2lrZt23LlyhX5CMTHedRBGcjSWue6JnS6IL09LKWUYvLkyVy/fl0C6eM8mWVdRkUfjwPAaentYUZYWBg7d+5k7dq1pksRjajG+yFdo158Nc9ta5SKxHdorQkPD+eBBx5g9+7dpKWlmS5JNBK5UscLKKUYMWIEy5YtY82aNRQXF5suSTQSCaQXycvLo0WLFvz2t781XYpoJBJIL+H+/LFv3768//773Lhxw3BFojFIIL2EUoq0tDSGDx9OWFgYkydPNl2SaAQSSC+itUZrTVJSEh988AHnzp0zXZJoYLLqnBdRSjFmzBicTifZ2dk8/fTTZGRkmC5LNCAZIb2M1pry8nL69+/P+fPnWb9+vemSRAOSEdLLKKUYP348ly9fpn///kyaNInExETatWtnujTRAGSE9FIff/wxn332GUOHDuWZZ56hvLzcdEmiAUggvZDWGofDgb+/P+PHj6ekpIQ333zTdFmiAUggvZBSiokTJ9KnTx/eeecdXnrpJebMmcPx48dNlybukQTSS2mtKS0tBaBr167MmDGDV155xXBV4l5JIL2UUoopU6bQrVs3li1bRmJiItnZ2Wzfvt10aeIeSCC9mNaasrIygoKCiIiIYMqUKcybN890WeIeyMceXkwpdfswddGiRRw/fpxDhw5x9OhRevXqZbg6UR8yQvoA90jZsmVLxo4dy8qVK02XJOpJWbWKWUJCgt6/f78lr9VUff311xw8eJCJEydy5swZlFKmSxJVUEod0FonVPWcJ2vqPKiUmnjXNlm13IY2bNjAhx9+SHl5OYcPHzZdjqiH2tbUSQaeu2ubrFpuQ+6PQfz9/enTpw9ffvml6ZJEPdS2UPI24LO7Nsuq5Tbk/hgkISGBq1ev8q9//ct0SaIe6jOp49Gq5cJ6WmucTift2rVDVor3TvKxhw9RSpGSkkLXrl1JTU01XY6oh/oE0uNVy12TQRMB4uLi6vFSoq4++eQTduzYweXLl9Fay0yrl6nPIavHq5ZLbw9ruQ9Zmzdvjr+/P7du3TJdkqgjT2ZZRwGprr8jq5bbl1KKsWPH0q9fPwC2bt1quCJRV7WtXL4N+M4K5bJquX1prSkqKsLpdNK1a1fT5Yg6kkvnfIxSCn9/fwIDAzl9+rTpckQdSSB9jNaay5cvEx4eTmFhIU6n03RJog4kkD5GKUXr1q3p3r07n3/+OZs3bzZdkqgDCaQP2rt3L+Hh4YSEhNCmTRvT5Yg6kED6oE2bNqGUYtCgQSQkVHlTgbApCaSPOX36NEVFRbRo0YKgoCDT5Yg6kkD6mFWrVtG/f39atmwpHbK8kATShzidTlauXMkPf/hDWrRoQXBwMFbdgC4ahgTSh6xfv57y8nLy8vIYMGAAP/7xj+VaVi8jgfQRTqeT6dOnExMTw5UrVwgICJDR0QvJ7Vc+QGvN7NmzCQsLIykpib59+zJs2DAZHb2QBNIHbNiwgfnz5/OHP/yBmTNnmi5H3AM5ZPVy5eXlzJs3j+7du9O+fXs5TPVyEkgv98ILL3Du3DmeffZZxo0bJ4epXk4C6cX++te/snHjRoYNG0Z5ebmMjj5AziG9UGFhIYsWLWLhwoVMnTpV+nn4EAmklyguLqa4uJjz588zZcoUMjMzGTFiBJGRkbJ2jg+RQNqc0+kkJyeH5cuXExgYyDfffENWVhZjxoxhyZIlpssTDUwCaVNaa77++msWLFiAUooLFy6Qnp5OYmIiZ86cISIiovZ/RHgdCaQNlZaW8vvf/57AwEAKCgo4duwYeXl5/PGPf2TSpElyeOrD6h1IpVQK367RmlvdUpCidnefAzZr1oxr165x5MgRTpw4wZAhQ9i0aZPcbNwE1CuQlRruPOd6vA6QpbI95P54wh3CN954g+bNm3P8+HG++eYbCgsL+fLLLxkyZAirV68mPj6+pn9O+JD6jpBVNtyRUfJOWVlZnDx5koiICHbs2EHXrl0ZNGgQmzdvZuvWrbRv357OnTvzzjvvcP78ea5cuULbtm15+eWXWbNmDWFhYaZ3QVisvoGsruHOHYFs6q0E3n33XT766CP++9//4nA48Pf3p0WLFty6dQun00loaChJSUkMHz6cqKgonnrqKQoKCujZs6fp0oUhjTqpo7VeDiyHig7KjfladjRgwAD69euH0+nk+PHjdOvWjSeffJITJ05w4MAB4uLi+NGPfnTH97Rt29ZMscIW6htIjxvuNGVDhw5FKfWdSZsePXrQo0cPg5UJu1L1uf7RNakzv9Kkzmda68G1fM8lIK+Kp6KAy3Uuwrv4+j76+v5Bw+5jR611ld2n6hVIuN2I57b69vtQSu3XWvv0WoW+vo++vn9g3T7W+xxSGu4I0fDk9ishbMQOgVxuugAL+Po++vr+gUX7WO9zSCFEw7PDCCmEcJG7PYSohvsGCvcEphU3VEggG5Ev3hHj2ieAh4FMrfX6Stt9Zl9dn7WPApZVetzoN1QYD6SvvsG+eEeMUupBvh0x1iulvlFKuT/+8ql9BRKAzEqPLbmhwug5ZKU3eL3W+nfACqVURKUf5m2ugM4wWWc9VfkGGqqloXQBKl+R5b6pwKf2VSmVXMXn7NXdUNGgTE/q+PIbbMkbaKVKvzjdRwC4Rgif2VfXfhm7LtvoIatr9HMfot5+g12X5dV6e5cwaj53/jL1FQkASqkuVJxGtVJK5WLRDRXGzyEr8bU32GfviHGd38/XWrv3x2f2tfKhqlJqMPCZ1jpXKbWWip9Rtwivm2V13aBc3fJoy7XWha6v88U32JI30Gquo5cs1w9pBBXvjc/tq+sUKRnoopTKde3vuko3Vcyv4dvr/7qmr9Rx7WDuXW/wFep4e5cdNdQdMXbh+iFdx7fn91201ve5nvOpfTXFaCDlDRbiTsZHSCHEt0x/7CGEqEQCKYSNSCCFsBEJpBA2IoEUwkYkkELYiARSCBv5fxQwK/6jesb7AAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 007, loss: 1.563\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 008, loss: 1.393\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 009, loss: 1.386\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 010, loss: 1.333\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 011, loss: 1.325\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 012, loss: 1.331\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 013, loss: 1.321\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 014, loss: 1.316\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOQAAADeCAYAAAAttqxGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAX4ElEQVR4nO3deVBV5/3H8fcDXFmubCoKRpGlad0arD9c0GoUcYamapOqsU5SRdPBmG2MGc3Ylhi1mR/YTDTa2MbWtFKTqUtq6zJu6MQkoEZU1MTYNICguEEIinBRlOf3hxdD8jOyhHPPufd+XzOZ5C7I5+Tw8XnOc885KK01Qghr8DE7gBDiK1JIISxECimEhUghhbAQKaQQFiKFFMJC/Fz1jbp06aJjYmJc9e2EsKwjR45UaK0j7vaaywoZExNDfn6+q76dcCMOh4PAwECzY7iMUqrk216TKasw1b59++jXrx81NTVmR7EEl42QQnzTjh07mD59Ohs2bMBut5sdxxJkhBSm2LBhA2lpafz73/9m1KhRZsexDCmkcLlVq1Yxc+ZMxo0bR58+fcyOYykyZRUulZWVxapVq5g4cSKhoaFetZjTElJI4RINDQ08//zzrFu3jqlTp7Jw4ULq6urw9/c3O5qlSCGF4err65k5cyaff/45P//5z+nQoQMhISFERNz1ozivJoUUhrp69SqTJ0/G19eXwYMHExAQwOOPPy4j47eQRR1hmLNnzzJy5EhiY2N59913UUpRX1/P/fffb3Y0y5IRUhhix44dzJgxg2eeeYYvv/yS3/3udyxYsIC6ujoCAgLMjmdZUkjRrqqrq8nIyGDTpk2MGjWKmpoaamtr0VoTGhpKt27dzI5oaVJI0S601vzzn/9k7ty5BAcHM3nyZGpra7l+/TqZmZlUVVXJyNgCUkjxnWit2b17NzNmzEBrzcqVK8nNzQUgMzOT6upqQkNDCQ0NNTmpe5BCilbTWnPlyhXWr19PRkYGPj4+9OvXj379+jF27FjGjRtHWVkZ4eHhhIeHmx3XrUghxddorVFK3fW/z507x969e1m6dCnFxcUkJyczcuRIoqKimDdvHrW1tXdGwvj4eNO2wZ1JIb3Y3cr3t7/9Da01/fr14y9/+QuXL19Ga01ubi7Xr18nOTmZnj17Mnz4cF555RUCAgIoLS0lOjra5K3xDFJIL9S0fD4+PiQmJrJixQqKi4s5ceIEFRUVREVFYbPZCAkJYebMmYSFhWG328nIyLhTwq5duwLQv39/k7fIc0ghvUhjEd98802Ki4vZtWsXJSUlaK2JiIigc+fOzJs3j759+5KamsrFixc5c+YMSUlJlJeXc+bMGbp37w5Ap06dTN4azySF9AKNvy5i/vz55Ofnc/DgQTp27Mi4ceOYPXs2TzzxBCUlJZSUlDB69Og709ioqCiioqIAiIiIkHNPXUAK6aEaR8OKigrS09PJy8vjxo0bfO973+Ovf/0rUVFRPPjgg3feHx8fLwsxFiCF9DCNRVy4cCH79+/n+PHj3HfffQwdOpS5c+cCMHLkSJNTim8jhfQwv/3tb9mzZw8nT56kb9++7N69m+7du1NcXMyIESPMjieaIYX0EBcuXCAjI4N33nmH/v37s337dvz9/Rk8eDAAPXr0MDmhaAkppJu7ceMGr732Gr///e954IEHmDt3LklJSSQnJ5sdTbSBFNKN5eXl8atf/YqGhgZmz55NRUUFX3zxBQkJCWZHE20khXRDDoeDjIwM3n777Tsnc1dWVvLUU09RV1cn01M31mwhlVJhwKNAERCntV7tfH4SUAWEAUVa66NGBhW3nTp1iilTptC7d2+mT59OcXEx6enp1NTU8MADD5gdT3xHLbmFx0at9WqtdQ4wFu6UdKzWOkdrvQlYYGRIcVt2djYPPvggMTExJCQkUFVVRUlJCV26dCExMdHseKId3HOEVEoN5PYoCIDWerLzPx9t+nzje2WUNEZ9fT0vvPACO3fu5L333mPNmjVcvnyZ+fPnU11dLWfQeJDmpqyJQKVSKoXbU1OcI2IYUNjkfZVAHPC1Qiql0oF0QK4GaKOrV68yadIk/Pz8eOihh9i0aRNPP/00dXV1xMXFmR1PtLPmChkGdHJOV1FK7VFKtXgUdB5vrgZITEzUbU7ppc6fP09qaio+Pj489NBDVFZWUllZSUREBCEhIWbHEwZorpBFQOcmj6u4PRI2LuY06uR8r2gnZ86cYcyYMcyYMYPy8nIcDgeLFy+msrJSyujBmitkDjClyeM4bhcvH8hq8nyYHD+2n8LCQkaPHs39999PbW0tCxYsoKamhq5du965BlF4pnsWUmtdpZRa7zwWBPhfrXURgFJqo/PYEr5eTvEdlJaWkpKSwrx58ygsLKSuro7w8HAiIyPNjiZcoNnPIZ2LOHd7Pqf943i38vJykpOTiYmJoaysjJdeeolr167Jbfe9iJypYxG1tbWMHz+en/3sZ9y6dYv6+nqCg4PlynwvI4W0AK01U6ZM4cqVK9hsNhYvXszVq1ex2WxmRxMuJoW0gMzMTC5evMjw4cO5efMmgYGB2O12s2MJE8hvvzJZTk4Or7/+OgMGDKBbt24sWLAAHx/ZLd5K9ryJLl26xC9/+UuWL1+O3W7nxo0bcszo5WTKapKKigoefvhhevTowWeffcayZcu4cePGnTu+Ce8kI6QJTp48yZQpU+7c87S2thallHy8IWSENEN1dTV5eXlMnz6dFStWmB1HWIiMkC527Ngx0tLSSEpK4k9/+pPZcYTFSCFd7Pjx41y4cIERI0bcuaO4EI1kyupChw4dYv78+UycOJFFixaZHUdYkIyQLnLu3Dnef/99fHx86Nu3r4yO4q5khHSBQ4cOsWbNGrZs2cK6detISUlp/ouEV5IR0gViY2MpKysjMDBQbmAs7kkK6QIOh4PS0lLeeOMNOS1O3JP8dBjswIEDPPvss1RUVJCammp2HGFxUkiDxcbGcvLkSQYNGiSnxYlmSSENlp+fz/nz5xkzZowUUjRLCmmwXbt2ERsbi5+fn3zUIZolhTRQbm4u//jHP/jpT3/K008/LSOkaJYU0kBKKWpra4mNjZXRUbSInBhgoG3btjFx4kSeeeYZs6MINyEjpEE+/PBD1q5dK3cZF60ihTRIt27duHz5MpGRkTJdFS0mhTTItm3b6Ny5M1FRUbKYI1pMCmmQ0tJSoqOjqa+vlxFStJgs6hjkyJEjPPfcczz++ONmRxFuREZIA+zfv5/Dhw9z6dIls6MINyOFNEBQUBAAwcHBMl0VrSKFNEBNTQ19+/Zl0qRJsqAjWkUKaYCtW7dy7do1tm3bZnYU4WakkAaoq6sjMDCQ6upqmbKKVpFCGqCwsJCQkBDCw8NlyipaRQppAIfDQZcuXdBaywgpWkUKaYD6+nomTJjA+PHjZYQUrSKFNEBZWRlbt25lx44dZkcRbkYKaQCtNWFhYSilZMoqWkVOnTOAj48PDz/8MKNHj5Ypq2gVGSENUFtby9tvv83OnTvNjiLcjBTSAAEBAdTW1nLz5k2ZsopWkUIawNfXFz8/P/z9/WXKKlpFCmmA0NBQOnToQIcOHWSEFK3S4kUdpdQkoEprndP0MRAGFGmtjxoT0f1ER0czcOBAuTmyaLUWjZBKqTBgyjcej9Va52itNwELDMrnlq5fv86WLVvYtWuX2VGEm2nplDURONzk8aPcHh3vUEoNbK9Q7q5Hjx5UVVVhs9lkyipapdlCKqVSGqepTYQBhU0eVwJx7RnMnYWEhFBXV8etW7dkyipa5Z6FdE5Ni9r6hyul0pVS+Uqp/PLy8rb+MW7n+9//PteuXaNjx45mRxFuprkRMhGIU0qlAIOAsUqpOL5azGnUibsUV2u9WmudqLVOjIiIaK/Mljdx4kSuXLlCUlKS2VGEm7lnIZ2LNjnOKWsRsEdrXQRsAOKbvDVMVlm/cvDgQXx9fVm7dq3ZUYSbadHHHs4FmxRuj5ZFWusipdRG58gJkGVYQjfUsWNHunfvTllZmdlRhJtpUSGdo9//fOO5by70CKfk5GTS0tIoKCjg5s2b+PnJOfyiZeRMHYPYbDZycnLkBHPRKlJIA2it6d+/PzU1NRQWFnLr1i2zIwk3IYU0gFKKn/zkJyQkJLB582Y5Y0e0mBTSIFprhg4dyoULF4iKijI7jnATUkiDKKWYM2cO58+f5wc/+IHZcYSbkEIaKD8/n5CQEF555RWzowg3IYU0iNYaX19fevfuTU5OjpxkLlpECmkQpRQTJ05k6tSpFBQUsHnzZrMjCTcghTSQ1prAwECio6N57733zI4j3IAU0kBKKR577DHGjRvH+vXr2b9/v9mRhMVJIQ2mtaZ3795cu3ZNThAQzZJCGkwpxaxZs5g2bRqbNm0yO46wOCmki0RGRpKdnS3HkuKepJAuoLUmMjKSoKAgjh07ZnYcYWFSSBdonLaOGTOGP/zhD+Tl5ZkdSViUFNJFtNYMHDiQc+fOUVNTY3YcYVFSSBdRSjFv3jwSEhJYuHAhBw8eNDuSsCAppAtprRkyZAinT5/G39/f7DjCgqSQLqSUYsWKFdhsNhYvXsxHH31kdiRhMVJIEwwZMoRTp04REBBgdhRhMVJIF1NK8dZbb3H27FmWLVvG4cOHm/8i4TWkkCbo3LkzvXv3pri4mJiYGLPjCAuRQppAKcXKlSs5e/Ys9fX1ZscRFiKFNMmwYcNwOBzMmjWLI0eOmB1HWIQU0kRJSUmcPHkSu91udhRhEVJIkyilyM7Opry8nIyMDPbt22d2JGEBco97EwUFBfGjH/2IAwcOEBISQufOnUlISDA7ljCRjJAmUkqxdu1avvzySwD5fZJCCmm2+Ph4UlJSqKysZPny5Zw4ccLsSMJEUkgLmDNnDh9++CF+fn706tXL7DjCRFJICxg1ahT33XcfgwYNks8lvZwU0gKUUsydO5eXX36ZRYsWybTVi0khLWLKlClcvHiRCxcuyOKOF5NCWoS/vz+//vWvKSoqYtmyZTJKeikppIWkp6dz+vRpKisr5ewdLyWFtJBOnToxa9Yszp07x7JlyygoKDA7knAxKaTFzJkzh8OHD9PQ0CAfgXghKaTF9OrVi8mTJxMaGiofgXghOZfVgl588UWGDBlCZWUls2fPZsCAAWZHEi4iI6QF9enTh549e/Lxxx8TFBRkdhzhQlJIC2o86fyTTz6RxR0vI4W0qMTERLp06cLp06fl7nReRAppUUopli9fTmFhIStXruTo0aNmRxIuIIW0sNTUVKqrq7l48SK+vr5mxxEu0GwhlVKTnP9kKaUmfeP5FOe/Bxob0zv5+fkxd+5cKioq+OMf/yi/D8QL3LOQzqJVaa03aa1fBP6slApTSoUBY7XWOVrrTcACV4T1RtOmTSM/Px9/f39iY2PNjiMM1twIGQeMbfK40vnco0BV0zfKKGmMXr16MWLECOLj47l27ZrZcYTB7lnIJiMjzlERrfVRIAwobPLWxqJ+jVIqXSmVr5TKLy8vb7/UXub5559n6dKlZGZm8sEHH5gdRxioNYs6WXx9tGyW1nq11jpRa50YERHRumTijrFjx6K1pqysDJvNZnYcYaAWFdK5mJOltS5yPlXF7VGyUSeg6P99oWgXPj4+vP7663zyySe89dZb5Obmmh1JGKQlq6wpwFGtdZFzQScO2ADEN3lbmHMqKwzyyCOPoLXmwoULBAcHU1paanYkYYB7nlzuXKh5E6hSSgHEaa3Dna9tdJYVbk9nhYF8fX3Jzs5m+vTp7Nu3j9OnT5OWlsbQoUPNjiba0T0L6Rz14r/ltRxDEolvNWrUKIYNG8b27duJj4+XU+o8kJyp42Zee+01Tpw4QUhICG+++ab8WnQPI4V0M1FRUSxbtozs7GxsNpv8wlcPI4V0Q1OnTiU5OZkvvviCmzdvmh1HtCMppBtSSrF69Wr27t3LY489xuHDh82OJNqJFNJN2e12pk2bxkcffcTHH3/MpUuXzI4k2oEU0k0ppVi6dClbt27lueeeY86cOXLNpAeQQrq50aNHk5qayrZt23A4HGbHEd+RFNLNKaXYuHEjSUlJPPLII3I86eakkB4iKSmJ4OBgVq1aZXYU8R3IfVk9xKJFi9Bas3z5cpKSkkhPTzc7kmgDGSE9iI+PD8nJybz66qty13M3JYX0IC+//DKbN2+me/fuZGXJ+f7uSArpYZRSDBo0iKysLA4cOGB2HNFKUkgPo7UmMjKS0NBQTp06ZXYc0UqyqONhlFJMmzYNm83G+vXreeKJJ8yOJFpBRkgPtGXLFgoKCsjNzaWqqqr5LxCWIYX0MFpr6uvrCQ8PJykpiZ07d5odSbSCFNLDKKV48skn+c1vfsOAAQNkYcfNyDGkh9q2bRuffvopZ8+eNTuKaAUZIT2Q1pqGhgYiIyMpKSlBa212JNFCUkgPpJQiLS2N5ORkqqur5TjSjUghPZTWGl9fXwIDAwkNDTU7jmghKaSHUkoxfvx4AgMDiY6ONjuOaCEppAfbuXMnNTU1vP/++2ZHES0khfRQjVPW+vp6rl+/LnencxNSSA+llGLIkCHY7Xby8vJkYcdNSCE92OnTpwkLC8Nut9O1a1ez44gWkEJ6sL///e/Y7XbGjBnD4MGDzY4jWkAK6cE+//xzYmNjCQ4ONjuKaCE5dc5DORwOTp48yTvvvMOQIUPMjiNaSEZID7V9+3Z69erFu+++y65du8yOI1pICumh1qxZQ2JiIna7nYCAADmf1U1IIT3Q8ePHycvLo66ujpEjR5KamorzN2ALi5NCeqBnn32W6Ohoqqqq8PPzk9HRjciijofZu3cvn332GRMmTCA5OZkJEybI6OhGpJAepLa2lhkzZpCQkMDw4cP5xS9+YXYk0UpSSA+SlpZG//796dOnD7du3UJrLaOjm5FCeoBLly6xZMkS9uzZw8KFC5kzZ47ZkUQbSSHd3LFjx1iwYAG5ublMnjwZHx8fGRndmBTSTV25coUbN25QUFDABx98wMyZM1mxYoUU0c1JId3M9evXKSgoYN26dfznP//h008/JTc3lwEDBpgdTbQDKaSbaGhooLi4mDfeeAOHw8Hu3bupqakhPz+fHj16mB1PtBMppBu4cuUKS5YsQSnFiRMnOHjwIE899RRLlizB39/f7HiiHbW5kEqpSUAVEAYUaa2PtlsqL9e4KPPiiy8SFBREeno6//3vfzl06BA9e/bkX//6FykpKWbHFAZoUyGVUmHAWK31LOfjjcDk9gzmLRrL13RlNDMzE39/f0pLSzl37hzZ2dmEhoaycOFCnnzySVm48WBtHSEf5fboeIdSaqCMkq23YcMGGhoaKCws5NatW0RERLBx40bOnj1LQ0MDo0aNIjMzk2HDhkkRvUBbCxkGFDZ5XAnEAVLIe3jppZd49dVX79wRzmaz4XA4uHnzJj4+PtjtdoYNG8aECROIjo5m2rRp+PnJYb43MXRvK6XSgXRAbtYLXL16lZiYGBwOB3369OGFF14gODiYixcvMnDgQM6cOcOPf/xjs2MKE7W1kI2LOY06AUXffJPWejWwGiAxMdHrrwEaM2YMQUFBdOjQgR/+8IeMHDkSm81253X5+EKotlwr51zUyWqyqLNHaz22ma8pB0pa+a26ABWtDmhtnrhN4JnbZdQ29dJaR9zthTYVEkAp9bV1d611Tpv+oHt/j3ytdWJ7/7lm8sRtAs/cLjO2qc3HkEYUUAhvJ7fwEMJCrF7I1WYHMIAnbhN45na5fJvafAwphGh/Vh8hhfAqchqIEE00XjTRuGjp6osopJAu4klXxzi3BWAQcFhrvanJ8267jc7P16cAbzZ57NKLKCxbSE/a6Z50dYxSaiBfjSCblFJfKqUaPwJz921MBA43eezyiygseQzZZKdv0lq/CPxZKRXW5Ac7x1nQBeYmbbG77liTsnxXcUDTs7IaLyxw621USqXc5bP1b7uIwjCWLCSet9NdvmON0uQvycaRH+eI4bbb6NyO/3cuthksOWV1jn6NU9Q7O915up5c9mUdWXz9L053lQiglIrj9iFSZ6VUES28iKI9WbKQ3+AJO93lO9ZozmP5LK1143a47TY2naoqpcYCe7TWRUqpDdz++WsU5pGrrM7rJMO+5eXVWusq5/s8Zae7fMcayTlTOer8oQ3j9n5w+210Hv6kAHFKqSLn9m1sciFF1j2+vH0yWPVMHef/hKJv7PRKWnnZl1W44uoYV3D+0G7kq2P5OK11uPM1j9hGM1mykLLThbeyZCGF8FZW/dhDCK8khRTCQqSQQliIFFIIC5FCCmEhUkghLEQKKYSF/B8EOz3X12SyEgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 015, loss: 1.291\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 016, loss: 1.282\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOQAAADeCAYAAAAttqxGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAYB0lEQVR4nO3deXDU5R3H8feTkyQQllykQEJIGBk5S4xIazgkB47CcBo5hlaOYqsgqAyXIxQQhToFCmPRaE21A1ZJh1YEFEODLUMIJICoqYwQQI4Q0IQzCTn26R9sMCKSTczus8f3NZOB3WzI58cvnzzPPr/fb1dprRFCuAYf0wGEEN+RQgrhQqSQQrgQKaQQLkQKKYQLkUIK4UL8nPWNIiIidFxcnLO+nRAuq7Cw8ButdeTtPue0QsbFxVFQUOCsbyfcSEVFBUFBQSilTEdxCqXUyR/7nExZhVGlpaX079+fnTt3mo7iEqSQwpjTp08zcOBAxo4dS0pKiuk4LkEKKYw4cuQIycnJTJ8+nUWLFnnNdLUxUkjhdHv27OGee+6hR48eTJ061XQclyKFFE6Vm5vLyJEjGTRoEN26dSMoKMh0JJfitFVWITZu3Mi0adMYNWoUq1ev5vr16wQGBpqO5VKkkMIp1q1bx4oVKxgxYgTt27cnNDSUVq1amY7lcqSQwqGsVitz587l/fff56GHHiIsLIwJEyZIGX+EPIcUDnP16lUyMjLYt28fu3fvJiQkhOrqau666y7T0VyWjJDCIQ4fPkxGRgb9+vUjMTGRtWvXMm/ePK5fvy4LOXcgI6RoUTU1NaxYsYKUlBTi4+OJiYmhsrKSa9euYbFYkPOZ70xGSNEitNZ8/PHHPPvss1y7do1x48ZRXV1NRUUFK1eupLy8XEZGO0ghxU9itVrZuXMny5Yto6ioiPT0dFq3bo2vry/Lly/nypUrWCwWLBaL6ahuQQop7Ka1vnmKW0lJCdnZ2SxduhQ/Pz8WLlzIsWPHsFqtzJs3j6tXrxIREUFERITh1O5FCil+oGHx6v9eW1vL3LlzOX78OOfPn+fAgQN0796d/v3707lzZ8aNG0dgYCCnTp2iY8eOhrfAfUkhvVx94er/tFqtrFy5knPnztGuXTs+/PBDzp07x4ULFwgKCiI6Opqnn36ae+65h9raWmbNmkVVVRWRkTeut+3Ro4fhLXJvUkgv1HAEfOWVVzh27Biff/45p06d4syZM/j4+NC2bVuGDBlCmzZtaN++PcuWLSM6OpoTJ07Qr18/vv32W06ePEm3bt0Mb41nkUJ6kfoiLlmyhMOHD3PmzBkOHTpEREQEUVFRJCQk8Oabb9KhQweOHz/O4MGDKSkp4cSJE/Tu3RuAqKgoAMLDwwkPDze5OR5JCunh6kt48uRJZs6cSWFhIZcuXSIuLo5nn32WX/7yl5SUlBATE8PJkyf5xS9+gVLq5vHCDh060KFDB7Mb4UWkkB5Ka43VauWJJ55g9+7dlJSUEBsbS1JSEs888wxKKQYOHAhwc9qZkJBgMrJACulxtNZUVlbyq1/9ik8++QQfHx969OhBdnY2bdq04cSJEyQnJ5uOKX6EFNKDVFRUMH78eHJzcwkPDyc5OZl58+ZRV1fH3XffDUCnTp0MpxR3IoX0AHV1dbz99ts8/fTT+Pv7M3jwYBYtWkRNTQ39+/c3HU80gRTSze3du5eZM2cSEBDAgw8+SGBgIGPHjiUpKcl0NNEMUkg3deXKFRYsWMDbb7/NsGHDWLVqFb6+vpw4cYJ7773XdDzRTFJIN7Rr1y5GjRpFQkICY8aMuXkVRWRk5M0zZoR7arSQSikLkAEUA/Fa60zb/WOBi4AFKNZaH3BkUHHjWsPf//73ZGVlMXjwYDp16sSMGTO4evUq0dHRpuOJFmDPCLlJa50GoJTaBGTaSpqmtX68wf2POC6mKCkpISMjg5KSEh577DEmT55MRUWFnLrmYe74igFKqURujIIAaK3rS5fR8P4GjxUOsHfvXrp164a/vz8pKSlcvXqV8PBw+vTpYzqaaGGNjZBJQJlSKpUbU1O01tm2vx9r8LgyIB6QaWsL27RpE08++SQPPPAAcXFxzJkzh8uXLxMWFmY6mnCAxgppAcK01jkASqmPlVJ2l04pNR2YDhAbG9vskN5q9erVLF68mEcffZTnnnuOyspKYmJiTMcSDtRYIYuBhqf0X+TGSFi/mFMvzPbY77EtAGUCJCUl6Z+U1ItorVm6dCkbNmxgzJgxtG7dmsjISEJCQkxHEw7W2KvO5XCjgPXiuVG894CGZyJbZJW15SxatIjs7GxSUlKIjIxk4sSJUkYvccdCaq0vAu8qpabbpp8vaa2LbfdvUkql2p5frnRGWG/wwgsvsHnzZrZv305gYCA1NTVyFb4XafSwh20R53b357R8HO+2fv16srKySE9P55VXXmHhwoU33+5beAd5oWQX8a9//Ytly5axefNmAgMDuX79urywsBeSU+dcwOHDh5k6dSpDhw5l48aNLF26lMuXLxMQEGA6mnAyGSEN+/bbbxk5ciQvv/wyoaGh1NTUEBISItcteikZIQ2yWq1MmDCBAQMG8Nlnn9G2bVtmz56Nr6+v6WjCEBkhDVqwYAGHDx8mOjoaq9VKbW0t7du3Nx1LGCQjpCG7d+/mjTfeYMSIEWitWb16NRUVFTdfL1V4JymkAYcOHWLUqFEMHDiQN998E6vVilJKDv4LmbKasHHjRoKCgujevTsAPj6yG8QN8pPgZNu2bWPdunWMHz+e5cuXm44jXIwU0onOnTvH2rVrSUxMJCQkBK3lfHvxffIc0kkKCwt54YUX2LdvH2fOnJHT4cRtyQjpJP7+/uTl5ZGenk6rVq1MxxEuSgrpBPv372fhwoUAbNiwQQ5tiB8lhXQCf39/CgsLSU1NlRVVcUfyHNLB8vPzWbFiBTU1Nbz11lsyOoo7kl/XDhYXF0dRUREDBgyQ0VE0SkZIB/v6668pLS1l//79MjqKRsmvbAfas2cPM2bMoGfPnoSGhpqOI9yAFNKB4uLiOHLkCL169ZKTAIRdpJAOtGPHDqxWK3379pXpqrCLFNKBcnNz6dq1K7W1tTJCCrtIIR1k9+7dbNmyhaFDh/LEE0/ICCnsIoV0kICAAKqqqujUqZOMjsJuUkgH+eyzz0hNTSUjI0NGR2E3KaSDbNq0ifLycrZs2WI6inAjUkgHKSoqIiEhgZqaGpmyCrvJmToO8M0331BeXs7LL79MZGSk6TjCjcgI6QB//etfadOmDVu3bjUdRbgZKaQDXLp0iejoaOrq6mS6KppECukApaWlPPzww4wePVpWWEWTSCEdYP/+/RQUFLBt2zbTUYSbkUK2MK0158+fJzw8HKvVKlNW0SSyytrCduzYwfnz50lJSWHSpEmm4wg3IyNkC6t/s5ygoCAZHUWTSSFbWEREBG3btuXhhx+WBR3RZFLIFrZ9+3Zqamr46KOPTEcRbkgK2cLCwsJQSlFdXS1TVtFkUsgWdvbsWfz8/GjVqpVMWUWTSSFbWGRkJD4+Pvj7+8sIKZpMCtnCevbsSXBwMGlpaTJCiiaTQraw/Px8vvnmG1nUEc0ihWxhcXFxVFdXc/LkSaqqqkzHEW7G7kIqpcYqpVJvvW37M9Ex8dzPkCFD0Fpz8OBBduzYYTqOcDN2FVIpZQEeveV2mtY6R2udDSxwUD63o5TCYrFQXl4ub8oqmszeETIJ2N/gdgZwseEDZJT8TkREBLW1tVy/ft10FOFmGi2kUipVa51zy90W4FiD22VAfEsGc2cdO3akrq4Oi8ViOopwM3cspG1qWuykLB7j/vvvJyoqivvuu890FOFmGhshk4B422LOvUCaUiqeG9PVhr/+w7hNcZVS05VSBUqpggsXLrRUZpd3/fp1du3aJYc+RJPdsZC2RZsc25S1GPhYa10MvAckNHioRWt94DZfn6m1TtJaJ3nLq69prenevTtlZWWEhYWZjiPcjL2rrIlAKvC4Uipea30R2GQ77JEKrHRkSHeilGLSpEkEBgZy8eJFamtrTUcSbsSuVwywjX733HLfrQs9wkYpRVxcHKtWrcJqtTJs2DDTkYSbkDN1HEBrTY8ePTh16hQRERGm4wg3IoV0AKUUvXr1orS0lLKyMtNxhBuRQjqA1pquXbtSU1MjzyFFk0ghHUApxciRI3nkkUfIzc3FarWajiTchBTSgX72s5+xceNGOclc2E0K6SBaa/r27cvly5cpLi6WVw8QdpFCOohSioyMDJKTk8nKyiInR44SicZJIR1Ia01ycjLFxcV07tzZdBzhBqSQDqSUYtGiRbRt25ZPP/1Upq2iUVJIB1NK0adPH5YsWcKuXbtMxxEuTgrpYFprevfuzdGjR+nYsaPpOMLFSSEdTClFly5daNeuHe+9957pOMLFSSEdTGtNbW0tvXv35pNPPjEdR7g4eX9IB1NKMW3aNFJSUvj5z3/OuXPniI6ONh1LuCgZIZ3k3//+N9HR0SxZssR0FOHCpJBOUD9t7d69O1u3bpXDH+JHSSGdQCnF448/zoMPPsiVK1dYv3696UjCRUkhnaR+lLz77rv54IMPTMcRLkoK6SRKKZ588klGjx7Nzp075RXpxG1JIZ1Ia01gYCCxsbFSSHFbUkgnUkoxc+ZMhg8fTlZWFnl5eaYjCRcjhXQyrTWxsbH4+vpy9uxZ03GEi5ETA5xMKcXs2bOprKwkKyuLMWPGmI4kXIiMkIb4+fmRk5MjK67ie6SQBmit8fX1JSEhQQopvkcKaYBSimeeeYZhw4bxt7/9jb1795qOJFyEFNIQrTXh4eG0a9dOrgIRN0khDVFKMXfuXNLT01m1ahUHDvzgzcOEF5JCGqS1pkuXLlRVVfHVV1+ZjiNcgBTSIKUUzz//PIMHD+a5557j008/NR1JGCaFNKz+NXfOnDlDWVkZ3vRO0+KH5MQAw5RSLFu2jKqqKhYvXkzv3r35zW9+Q58+fUxHEwbICOkiZsyYQUFBAdeuXaN169am4whDpJAuonPnzowaNYrS0lLWrFnD4cOHTUcSBkghXcicOXPYvXs3Sil56wEvJYV0IX379qV///7Ex8dTXV1tOo4wQBZ1XMy8efMYP348X331FdOnT5fFHS8jI6SLeeCBBwgICODo0aOEhISYjiOcTArpYnx8fFi7di1FRUWsWbNGThbwMlJIFzRixAiqqqo4fvy4HALxMlJIF+Tr68sf//hHvvzySzkE4mWkkC5q3LhxlJWVcfr0aXku6UWkkC4qICCA+fPnc+rUKVavXi3PJb2EFNKFTZ48mS+++IKrV6/i7+9vOo5wgkYLqZQaa/tYqZQae8v9qbY/Ex0b0ztFRUUxfPhwKisrWbduHfv27TMdSTjYHQtpK9pFrXW21noe8LpSyqKUsgBpWuscrXU2sMAZYb3RY489Rl5eHsHBwXTp0sV0HOFgjY2Q8UBag9tltvsygIsNHyijpGMMHToUpRRpaWlcu3bNdBzhYHcsZIOREduoiNb6AGABjjV4aH1RRQvz9fVl1qxZPP/887z00kvs2bPHdCThQE1Z1FnJ90fLRimlpiulCpRSBXIlfPNNnTqV//3vf1y+fFkWdzycXYW0Leas1FoX2+66yI1Rsl4YUHzr12mtM7XWSVrrpMjIyJ8c1lu1bduW+fPnc/ToUf7yl7+Qn59vOpJwEHtWWVOBA1rrYtuCTjzwHpDQ4GEW21RWOMhTTz3FkSNHuHDhAq1atTIdRziIPausrwGblFKFwHGtdbHW+qLtvlRbYVc6IatXCw0Nvfn6revXr2f//v2mIwkHaGxR54DWOkFrfY/to12Dz+U0/HB8VDF58mTq6uooLi4mODiYkpIS05FEC5MzddyIr68vW7Zs4eDBg7z77rssW7aMwsJC07FEC5JCupk+ffowa9Ys3nnnHQICAoiLizMdSbQgKaQbmj9/Ph06dMDf35/a2lrTcUQLkkK6IT8/P/7+97+TmZnJlClT5I16PIgU0k1FR0czfvx4cnNzOXnypLwFgYeQQroppRSvvvoqWVlZTJkyhTlz5nDo0CHTscRPJIV0cxkZGfTv35/333+furo603HETySFdHNKKbZv306vXr0YPnw4Bw8eNB1J/ARSSA8xePBgAgICyMzMpLy83HQc0UxSSA+xdOlS9u3bx4YNG5g2bRqff/656UiiGaSQHiQqKoq0tDT+85//0LFjR9NxRDNIIT1MdnY2d911F6+99prpKKIZpJAeRinFfffdx4svvkheXp7pOKKJpJAeRmtNaGgoQUFBFBUVmY4jmkgK6WGUUsTExNCzZ09ef/1103FEE0khPYzWmpqaGrp3705RUZEcAnEz8oatHkYpxW9/+1vKy8v54osv2LZtGxMnTjQdS9hJRkgPtXXrVioqKvjHP/5hOopoAimkB9JaU1dXR1xcHMXFP3gxQOHCZMrqgZRS/PrXv2bQoEH06dMHrTVKKdOxhB1khPRgeXl5XLt2jQ8++MB0FGEnKaSH0lrj4+NDcHCwvOGrG5FCeiilFMOHD6d169bExsaajiPsJIX0YB9++CFXrlzhv//9r+kowk5SSA+ltcbf35/q6mqqqqqoqakxHUnYQQrpoZRSDBo0CB8fHwoLC/noo49MRxJ2kEJ6sGPHjhEVFUVlZSVt2rQxHUfYQQrpwfbt20fXrl0JDg7m0qVLpuMIO8iJAR5sz549JCYmorWmdevWpuMIO0ghPVRtbS3bt28nMzOT9PR0goODTUcSdpApq4fKzc3FYrGwdetWWdBxI1JID/XGG2/Qr18/goODCQwMRGttOpKwgxTSAxUXF7N161asVisDBgzgoYcekpPL3YQU0gPNmDGDjh07cunSJfz8/GR0dCOyqONhCgoKyM/PZ9SoUaSkpDBixAgZHd2IFNKDVFdXM3HiRHr16kVycjLjx483HUk0kUxZPciMGTNo3749iYmJ1NXVyVTVDckI6QFKS0tZs2YN77zzDosXL2bOnDmmI4lmkkK6uYMHD7J48WJ27tzJ6NGjCQgIkJfscGNSSDd26dIlDhw4QE5ODpMmTeLVV1+VIro5KaSbqaqqoqqqirNnz/LUU0+Rn5/Pjh07SE5ONh1NtAAppJuwWq0cO3aMP//5z/j4+FBSUkJhYSETJkyQMnoQKaQbKC8vZ/ny5Sil+PLLL8nLy+ORRx7h1KlTchWHh2l2IZVSY4GLgAUo1lofaLFUXq7+cMXcuXMJDg7md7/7HSdOnCA/P5/Q0FDeeustRowYYTilcIRmFVIpZQHStNaP225vAh5pyWDeon5FtOHK6IsvvkhgYCAlJSWUlJSwefNmqqurmTVrFrNnz8bPTyY2nqq5ezaDG6PjTUqpRBklm+7dd98FbpwQXldXR4cOHfjnP//J6dOnqaioIDk5mT/84Q+kp6fj4yPncXi65hbSAhxrcLsMiAekkHfwpz/9iYULF+Lr63vzvpqaGmpra9FaExISQr9+/UhLSyMmJoYpU6YQGBhoMLFwNofOfZRS04HpgLxYL3D8+HFiY2Pp0qULISEhtGrViiFDhmCxWEhKSuLrr7/m/vvvNx1TGNTcQtYv5tQLA37wNkta60wgEyApKcnrT6xMSUkhODiY3r17ExkZSWVlJUOHDsXf3x+AmJgYwwmFaao5JyDbFnVWNljU+VhrndbI11wATjbxW0UA3zQ5oGvzxG0Cz9wuR21TZ6115O0+0axCAiilUhve1lrnNOsfuvP3KNBaJ7X0v2uSJ24TeOZ2mdimZj+HdEQBhfB2so4uhAtx9UJmmg7gAJ64TeCZ2+X0bWr2c0ghRMtz9RFSCK8iJ0UK0UD9RRP1i5bOvohCCukknnR1jG1bAO4F9mutsxvc77bbaDu+/ijwWoPbTr2IwmUL6Uk73ZOujlFKJfLdCJKtlCpXStUfAnP3bUwC9je47fSLKFzyOWSDnZ6ttZ4HvK6UsjT4wc6xFXSB2aR2u+2ONZTlp4oHGp6VVX9hgVtvo1Iq9TbH1n/sIgqHcclC4nk73ek71lEa/JKsH/mxjRhuu4227fjBudgmuOSU1Tb61U9Rb+502+l6ctmX61jJ939xuqskAKVUPDeeIoUrpYqx8yKKluSShbyFJ+x0p+9YR7M9l1+pta7fDrfdxoZTVaVUGvCx1rpYKfUeN37+6lk8cpXVdp2k5Uc+nam1vmh7nKfsdKfvWEeyzVQO2H5oLdzYD26/jbanP6lAvFKq2LZ9mxpcSLHyDl/eMhlc9Uwd239C8S07vYwmXvblKpxxdYwz2H5oN/Hdc/l4rXU72+c8YhtNcslCyk4X3solCymEt3LVwx5CeCUppBAuRAophAuRQgrhQqSQQrgQKaQQLkQKKYQL+T/OzUeCVZVzvAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 017, loss: 1.272\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 018, loss: 1.269\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 019, loss: 1.247\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOQAAADeCAYAAAAttqxGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAYH0lEQVR4nO3de1BU5/3H8feD3EFZEaRWVMRM1KooQkxaqZqAVelEjfWaaGyNJbHR2KrVqVM74i1e6sR2HDX+mrFeY6qdSbQatcSpF2KMqCA1tolcvMRLhYhiuC3s8/vDhZDEyEV2zznL9zWT0V0W9nOyfHye8+w5Z5XWGiGEOXgZHUAI8RUppBAmIoUUwkSkkEKYiBRSCBORQgphIt7ueqKwsDAdFRXlrqcTwrROnz5doLUOf9DX3FbIqKgoMjIy3PV0wkK+/PJLgoKCjI7hNkqpS9/1NZmyCkNdvXqVuLg4jh8/bnQUU5BCCsPk5uYyYMAAfvnLX5KQkGB0HFOQQgpDZGdnM2DAAObOncvs2bONjmMaUkjhdocPH+app54iLi6O8ePHGx3HVKSQwq3279/PuHHjSEpKokuXLgQEBBgdyVTctsoqxFtvvcVrr73G6NGjWbVqFeXl5fj5+Rkdy1SkkMLltNasXLmSdevW8dxzz9GmTRtatWqFv7+/0dFMRwopXKqyspLXXnuNY8eOMXToUGw2G88//7yU8TvIPqRwmaKiIoYPH05OTg5Hjx4lICCAiooKHn/8caOjmZaMkMIlPvroIyZMmMCwYcPw8/Nj9erVzJ07l/LyclnIeQgZIUWTKikpYf78+YwYMYLevXvTunVrSkpK+PLLL7HZbHTu3NnoiKYmI6RoEg6Hg7///e/MmzcPf39/Jk2aRHFxMSUlJSxfvpzbt28TGBhodEzTk0KKR1JRUcF7773HkiVLKCgoYOjQoXh7e2O321m8eDHFxcW0bt2a1q1bGx3VEqSQot601iilALhw4QI7d+7kjTfeICwsjNTUVM6cOUNlZSVz5syhtLSUtm3b0rZtW4NTW4sUUnxL7eJV/72oqIi5c+eSl5fHlStXuH79Or1792bIkCFEREQwZMgQhg8fzuXLl+nUqZPBW2BdUshmrrpw1X8WFBSwcuVKbty4gb+/P8eOHePmzZuUl5fTpk0bIiIiWL58OUeOHKG8vJxXX32VioqKmpGwV69eBm+RtUkhm6Hq8jkcDhYtWsTFixc5f/48V65cwW6307JlS1q2bMnw4cPp1q0bffr0YcmSJQQHB5Ofn8+TTz5JQkIC+fn59OjRw+jN8ShSSA/3zelnWVkZs2bNIjs7m88++4yKigq+973v0bZtWxITE1mwYAFBQUHk5+czaNAgrl27Rn5+Pl26dAEgIiICgLCwMMLCwgzbLk8lhfRw69evx8vLizZt2rBq1SrOnz9P69at6dSpEzt27OCxxx4jPz+fyMhILl26RI8ePVBK1bxf2L59e9q3b2/wVjQfUkgPpbWmoKCAHTt2kJWVRVRUFOHh4fzsZz8jJSUFh8PBgAEDAGoWYapHQWEcKaSH0VqTk5PDiy++SGZmJkOGDOHPf/4zv/jFL/j888/Jy8uTy2WYmBTSQ2itycvLY9y4cVy4cIGuXbsyZswYFi9eTMeOHQGZflqBFNIDFBYWMnLkSM6ePUv37t0ZO3Ys06dPp7y8vKaMwhqkkBbmcDj4y1/+woIFC2jXrh2jR49m1qxZlJaW0rdvX6PjiUaQQlrUhQsXmDp1KlevXmXixIlMmTKFkpISYmJijI4mHoGcfmUxDoeD1atXEx8fT3h4OEOHDqWsrIywsDCeeOIJo+OJRyQjpIXcuHGDyZMnU1xczPjx4wkMDGTGjBncu3ev5g17YW11FlIpZQPGArlAtNZ6o/P+0UARYANytdZnXBm0uTt+/Djjxo2jc+fODB06lAkTJlBaWiqXw/Aw9Zmy7tJab9RapwGDoaakg7XWaVrr3cDvXBmyuduwYQNDhgxh0KBB9OzZk4KCAsLCwmR/0QM9dIRUSvXl/igIgNZ6jPOvY2vfX/1YGSWblsPhYN68eezdu5exY8fSqlUr5s6dy507d+SEXw9V15Q1HvhCKZXE/akpzhHRBuTUetwXQDTwtUIqpVKAFEDeD2ugiooKJk2axIcffsi4ceOYPn06ZWVl8ua+h6urkDYg1DldRSn1T6VUvUdB5/7mRoD4+Hjd6JTNTGlpKWPGjEEpxYgRI6iqqiI8PLxZfYZic1VXIXOBNrVuF3F/JKxezKkW6nyseETl5eWMGDGCy5cvM3LkSGbMmEFpaamUsZmoa1EnjfsFrBbN/eL9Dah9aoBN9h8fnd1ur9lXTExMpLy8nNDQUB577DGjowk3eegIqbUuUkq949wXBHhda50LoJTa5dy3BFjhypDNgdaalJQUysrKiI6Oxtvbm0mTJslFhZuZOt+HdC7iPOj+tKaP03wtXLiQ7Oxs9u3bx+uvv47D4aBbt25GxxJuJkfqmMA777zDpk2bSE5O5o033mDRokXcvXsXX19fo6MJN5NjWQ2WlZXF9OnT2bJlC/7+/tjtdoKCgoiMjDQ6mjCAjJAGKi4uZsSIEcTExHDo0CGWL1/OvXv3aNGihdHRhEGkkAZ68cUXCQoKori4mIqKCvz8/ORzE5s5KaRBtmzZQlZWFsnJyfj7+5OamlpzuUbRfEkhDXDs2DGmTZvGCy+8wNq1a6mqqpJpqgBkUccQa9asoUuXLoSHhwNIGUUNKaSbbdq0iUOHDjF69GiWLl1qdBxhMlJIN7p27RorV65k4MCBaC3H2otvk31INzlz5gxz5syhrKyMvXv3ygKOeCAZId1EKcWpU6cYOnSo0VGEiUkh3SAjI4Pf/OY3REZGsn79ehkdxXeSQrpBZGQkZ8+eJTExUfYdxUPJPqQbvPvuu3Tv3p21a9caHUWYnIyQLnby5EkWLlxIz549jY4iLEAK6WL5+fncu3ePbt26yXRV1EmmrC504sQJlixZwsCBA5kzZ47RcYQFyAjpQpGRkVy8eFFGR1FvUkgX2r17Ny1btqRr167yVoeoFymkC2VkZNC9e3fsdruMkKJeZB/SRbTWpKWlsWfPHp588kmj4wiLkBHSRTZv3kxZWRnnzp0zOoqwECmki+Tm5tK5c2eZrooGkUK6SFZWFlOmTKn5jA4h6kP2IV1Aa82RI0cIDg4mKCiIl156yehIwiJkhHSBS5cu4e3tTUhICJWVlTJlFfUmI6QLbNu2jcDAQPr168fPf/5zo+MIC5ER0gXu3LlDREQEDodDRkfRIFJIFygoKODZZ59l1KhRsqAjGkQK6QIZGRmcPHmSffv2GR1FWIwUsolprbl16xahoaForWXKKhpEFnWa2MGDBykoKCApKYmJEycaHUdYjIyQTSw8PBylFAEBATI6igaTQjaxdu3aERISwk9/+lNZ0BENJoVsYvv378dut3PgwAGjowgLkkI2sdatWwNQVVUlU1bRYFLIJnbz5k28vLzw9fWVKatoMClkE6te1PHz85MRUjSYFLKJxcbG4uvryzPPPCMjpGgwKWQTO3nyJEVFRRw8eNDoKMKCpJBNLDIyErvdzuXLl6moqDA6jrAYKWQTGzhwIMHBwXz00UccOnTI6DjCYup96JxSajRQpLVOq30bsAG5WuszroloPaGhoRQWFtKqVSujowiLqdcIqZSyAeO+cXuw1jpNa70b+J2L8llSeHg4drudu3fvGh1FWEx9p6zxwKlat8dyf3SsoZTq21ShrExrXbMfGRYWZnQcYTF1FlIplVQ9Ta3FBuTUuv0FEN2UwaxKKUViYiKtWrUiPj7e6DjCYh5aSOfUNLexP1wplaKUylBKZdy6dauxP8Zy7t27x4kTJ+StD9FgdS3qxAMopaKBJ4A2SqlcvlrMqRbKA4qrtd4IbASIj49vFoetaK15/PHHuXPnDjabre5vEKKWh46QzkWbNOeUNRf4p9Y6F/gb0KXWQ22yynqfUornnnuOHj168J///IeqqiqjIwkLqdfbHs4FmyQgWimVq7XOVUrtUkolOR+ywmUJLapdu3Zs3LiRdu3akZycbHQcYRH1KqRz9Iv7xn3fXOgRTlprYmNj2b59O7dv38bhcODlJcdgiLrJb4kLKKWYO3cu//vf/0hLS5PFHVFvUkgXCQkJITo6mjt37hAZGWl0HGERUkgXUUoxadIktNb07NnT6DjCIqSQLhQcHMyBAwfkgsmi3qSQLqK1JiIigtDQUNLT0+XqAaJepJAuopRizJgxDBs2jJ07d/LBBx8YHUlYgBTShbTW9OvXj+vXrxMSEmJ0HGEBUkgXUkqRkpJCcnIye/fulWmrqJMU0g06d+7Mhg0b+Ne//mV0FGFyUkgX01rTo0cPSkpKyMvLMzqOMDkppIsppZgyZQqDBg1izZo1MkqKh5JCuoHWmh/96EdcvHiR9u3bGx1HmJgU0g2UUsyfP5++ffvKh/CIh5JCutEPfvADVqxYwdGjR42OIkxKCukmWmt69+5NYWEhN2/eNDqOMCkppJsopXj11VdJSEhg2bJlHD9+3OhIwoSkkG6kteaHP/wh//3vf+UgAfFAUkg3UkqxaNEiOnToQGpqKunp6UZHEiYjhXQzrTVxcXF88skndO7c2eg4wmSkkG6mlKJ///4UFRVx+PBho+MIk5FCupnWGq01MTExpKXJdcLE1yl3LS7Ex8frjIwMtzyXFWRlZTFgwAAuX74sp2Y1M0qp01rrB37OhIyQBklPTycsLIzU1FSjowgTkUIaQGuN3W6nV69e7N69G4fDYXQkYRJSSAMopZg5cyZPP/00ZWVlrFmzxuhIwiSkkAbRWlNZWUlcXBy7du3ixo0bRkcSJiCFNIhSitmzZ/Pee+/xySefMHPmTE6fPm10LGEwKaTBfHx8eOqpp8jMzCQoKMjoOMJgUkiDKaXYsWMHV65cYcWKFWRmZhodSRhICmkCoaGhxMTEkJmZSWBgoNFxhIGkkCaglGL79u18+umn/PGPf5RRshmTQppEdHQ00dHRfPrpp3Tq1MnoOMIgUkiTUErx17/+lc8++4ySkhKj4wiDSCFNJC4ujsDAQCZPnkxWVpbRcYQBpJAmorWmf//+nD59moCAAKPjCANIIU1EKcWmTZsIDg5m5syZMko2Q1JIExowYAAZGRlyoEAzJIU0GaUUW7dupUWLFsyaNYtz584ZHUm4kRTShJRSJCQk8PHHH8so2cxIIU1IKcU777yDw+Fg9uzZZGdnGx1JuIkU0qRatGhBQkICp06dklGyGZFCmtjOnTu5e/cuCxYs4N///rfRcYQbSCFNzNfXl9jYWM6dO4ePj4/RcYQb1FlIpdRo538rlFKjv3F/kvPPvq6N2Xxt2bKFvLw8Vq9eLScwNwPeD/uis2hFWus0YLdS6rZSqvpiooO11i87H7cLGOPaqM1Tp06d+P73v8/Vq1eJiooyOo5wsbpGyGhgcK3bXzjvGwsU1X6gjJKuoZTi9ddf59atW3LQeTPw0EJqrXdrrecBKKVszvvOADYgp9ZDq4sqXGDkyJHk5+czY8YMTp48aXQc4UINWdRZwddHyzoppVKUUhlKqYxbt241LJmo4eXlxaBBg8jKyiIoKIjr168bHUm4SL0K6VzMWaG1znXeVcT9UbJaKJD7ze/TWm/UWsdrrePDw8MfOWxzVX1FAaUUGzZsYPHixcjHMnim+qyyJgFntNa5SimbUioa+BvQpdbDbM6prHARX19fUlNT2bNnD1VVVXLtHQ/10A/bcS7U7OKrBZxorXVr59eSaj/WuRL7neTDdh6dw+EgISGB9u3bExERwUsvvURsbKzRsUQDPezDdh76todz1OvyHV+Tz1JzMy8vL9atW0dCQgIvvPACAQEB3Lp1C9kd8BxypI7F9OnTh1//+td8/vnn7Nmzh9TUVLlKnQeRQlrQH/7wB65du0Z6ejqVlZVy8LkHkUJakK+vL2+//TYnTpzAx8eHP/3pT3K5Dw8hhbSorl27smHDBrZu3YrdbicwMJDCwkKjY4lH9NBFHWFuo0aN4vz587z77rts376dwsJCUlJS6NWrl9HRRCPJCGlxv//974mLi2Pbtm2UlZXRqlUroyOJRyCFtDilFOvWrSMmJoYTJ06watUqzp8/b3Qs0UhSSA/g7e3N22+/TUlJCenp6fLZIBYmhfQQfn5+nD17lqKiInbt2mV0HNFIUkgPEhISwrBhw/jVr37FBx98YHQc0QhSSA9js9no06cPq1atktO0LEgK6WGWLVvG4cOHycjI4OWXX5br8FiMFNID+fv7M3jwYM6ePSvX4bEYKaQHUkqxevVqtNZcvHjR6DiiAaSQHmr//v20b9+epUuXGh1FNIAU0gNprbHb7cTExHD8+HHsdrvRkUQ9ybGsHkgpxbRp07h9+zYff/wxR48eJTEx0ehYoh5khPRg+/btA2Dbtm0GJxH1JYX0UFprqqqqiIqKIjf3WxcEFCYlU1YPpZRi8uTJ9OrVi5EjR6K1RilldCxRBxkhPVx2djbXrl3jwIEDRkcR9SCF9GBaa7y8vPDy8sJms9X9DcJwUkgPppQiODgYLy8v8vLyjI4j6kEK6cG01vj4+ODl5UXbtm2NjiPqQQrpwZRSJCcnU1VVhb+/vxwgYAFSSA9XWFiIn58fmzdv5uDBg0bHEXWQQnq4nJwc2rZtS0lJiVxQ2QKkkB4uIyODLl26EBgYSHFxsdFxRB3kwAAPd/LkSWJjY2s+ckAOEDA3KaQHs9vtvP/++2zatInExET5TEkLkCmrBzty5AihoaHs2bNHFnQsQgrpwd566y2effZZSktLqaqq4mEfzivMQQrpofLz83n//ffp3bs3AQEBALLvaAFSSA81Y8YMOnbsyI0bNwgJCaFFixYyQlqALOp4oMzMTI4fP86oUaPo0KEDv/3tb2V0tAgppIeprKxk4sSJ9OzZkx//+MdMmDDB6EiiAWTK6mEWLlxIUFAQPXr0wOFwyDTVYqSQHuLmzZts3bqVN998k65du9KnTx+mTJkiU1WLkUJ6gDNnzvDKK68wbdo0Nm/eTHh4OBUVFTI6WpDsQ1pcUVER58+f5+DBg4wfP55hw4aRnJxsdCzRSFJICyorK6O0tJRr164xZ84cjh07xp49e0hKSjI6mnhEUkgLqaqqIicnh/Xr1+Pj48Pt27f58MMPef7556WMHkIKaRGFhYUsW7YMpRQ5OTmkp6fzk5/8hEuXLskFrDxIowuplBoNFAE2IFdrfabJUoma06QcDgfz5s3Dz8+P3Nxczp07h9aatWvXMn78eFlF9TCNKqRSygYM1lq/7Ly9CxjTlMGak+ry1T5XcenSpfj5+TF8+HDOnTtHdnY23t7eTJ06taagwvM0doQcy/3RsYZSqq+Mkg1TXcCdO3eilCIvLw+Hw0GnTp34xz/+wdWrV1m0aBGDBg1i/vz5vPLKK3h7y16GJ2vsq2sDcmrd/gKIBqSQddi8eTPTp0+nRYsWNfdVVFRQVVVFZWUlgYGBxMbGkpCQQIcOHZg6dapcC6cZcek/t0qpFCAFoGPHjq58KsvIzMwkMjKSqKgogoKC8Pf35+mnn8Zms9GvXz8uX75M//79jY4pDNLYQlYv5lQLBb71EUta643ARoD4+Hg5bAR45plnCAgIICYmpuZqcEOGDMHHxweADh06GJxQGEk15vAq56LOilqLOv/UWg+u43tuAZcakTEMKGjE95mZbJM1uGqbOmmtwx/0hUYVEkAp9bV3orXWaY36QXU/T4bWOt4VP9sosk3WYMQ2NXof0lUFFKI5k7M9hDARKxRyo9EBXEC2yRrcvk2N3ocUQjQ9K4yQQjQbchyWEN9QfeJE9cKlO0+kkEK6kSedIePcFoAngFNa69217rfsNjrfYx8HvFnrtttOpDB9IT3lhfekM2SUUn35agTZrZS6rZSqfhvM6tsYD5yqddutJ1KYeh+y1gu/W2s9D/g/pZSt1i93mrOgvzM2ab088IU1KMujigZqH5lVfXKBpbdRKZX0gPfXv+tECpcwdSHxrBferS+sK9X6B7J65Mc5Ylh2G53b8a3jsd3N1FNW5+hXPUWteeGdh+3J6V/msIKv/6NpVfEASqlo7u8etVFK5VLPEymaiqkL+Q1Wf+Hd+sK6g3M/foXWuno7LLuNtaeqSqnBwD+11rlKqb9x/3evms1jV1md50t+1xWaNmqti5yP84QX3q0vrKs5ZylnnL+0Nu6/BpbfRueuTxIQrZTKdW7frlonU6x4yLc/+vOb/Ugd5/+I3G+88F/QwNO/zMBdZ8i4mvOXdhdf7cdHa61bO7/mEdtoFFMXUl540dyYupBCNDdmf9tDiGZFCimEiUghhTARKaQQJiKFFMJEpJBCmIgUUggT+X8hamif2+6xMAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 020, loss: 1.228\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 021, loss: 1.210\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 022, loss: 1.195\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 023, loss: 1.199\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 024, loss: 1.207\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOQAAADeCAYAAAAttqxGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAX9klEQVR4nO3deXDU9f3H8ecnBwkJCZsQGokBYkANR4hIKGesYjJI1YpCIjLQMpWBQYehlSJHLRWRq9SBZqhAfgVHsBUIGqQtCKQKAiNMiJBAOxFISBBoOUwC5IBNNp/fH9lgRMyBu/v9fjfvx1/sEfb1ZfPi/T13ldYaIYQ5+BgdQAjxDSmkECYihRTCRKSQQpiIFFIIE5FCCmEifp56oYiICB0TE+OplxPCtHJzc69orTvf6TGPFTImJoYjR4546uWEhdTV1VFVVUWHDh2MjuIRSqmS73tMVlmFoWpra3nxxReZPXu20VFMwWMTUojb3bhxg/Hjx1NZWcmHH35odBxTkAkpDHH16lVGjRqFr68v27dvJzg42OhIpiCFFB5XVFTEAw88wNWrV1mzZg0BAQFGRzINWWUVHnXq1CmeeOIJYmJiGDp0aJvZkdNSMiGFxxw6dIikpCR69OjBY489xi9/+UuZjreRQgqPyMrK4umnn2bt2rX07t0bu93O/fffb3Qs05FVVuFWWmuWL1/OypUrGTlyJDk5OcyePRu73U5gYKDR8UxHCincpqqqimnTpvHxxx+TlpaG3W6nsrISm81G+/btjY5nSlJI4RZHjx5l/Pjx9O/fnzFjxuDn58cbb7xBeXm5lLEJUkjhUhUVFbz55pusW7eOH//4x/To0YOpU6dy8+ZNwsLCCAsLMzqiqUkhhUvcvHmT9evXs2jRIsLDw5k0aRJXr16loqKCsLAwOfDfQlJI8YNcvHiRDRs28Kc//YmgoCCeeeYZamtruXnzJgsWLKCyslLK2ApSSNEkrTVKqW/9ubS0lB07dpCVlcWOHTuIj49n3bp17Nq1i5qaGubOnUtVVRVdunQxOL31SCEFcOfiAaxcuZKysjKioqLYtGkTJSUlXLlyhe7du5OQkMC4ceNo3749CQkJDBo0iJKSEuS617snhWyD7lS+t99+m7NnzxIUFMTu3bu5ePEi5eXlXLt2jdDQUAYOHIjD4SA+Pp4//OEPZGRkUF1dzUsvvYTdbueee+4BwGazGblolieFbEMayrdu3TqqqqoIDAxk48aNnD59mtLSUjp16sTjjz9OSEgI4eHhzJw5kx49elBcXExSUhIXLlyguLiYuLg45syZQ3FxMfHx8UYvlldRnvrk8sTERC2fGOB5jafhwoULyc/PZ//+/ZSWlpKUlITWmrCwMCZPnky7du0YMWIEhYWFlJSUMGLEiFs/K1xHKZWrtU6802MyIb1UQxFXrFjBsWPHKCgo4MSJE3Tv3p1Zs2aRkJBAcnIyxcXFnDlzhkcfffRW+Xr27EnPnj0NXoK2SQrpZRqK+Lvf/Y4DBw5w6NAhunTpwm9/+1sef/xxzp07R1JS0q3nx8TEyE4YE5FCepmZM2fyySefcPLkSXr16sWWLVsIDw9n+PDhANx3330GJxRNkUJ6ifz8fF577TX27t1Lv3792L17N76+vgwZMsToaKIVpJAWd/HiRebNm8eWLVtISUnhk08+weFwMGjQIKOjibsgFyhbVF1dHatWrSI2NpbCwkLGjh1LZGQkUVFRUkYLkwlpQQUFBbz44osopRg7dizBwcG8/PLLVFVVERUVZXQ88QNIIS1Ea83q1av5/e9/z8CBA0lKSmL06NFUV1fTp08fo+MJF5BCWkRZWRmTJk0iJyeHCRMmUF1dzYULF+jcuTMRERFGxxMuIoW0gLy8PJ577jmeeuopYmJicDgczJ49m+vXr0sZvUyzhVRK2YA0oAiI1VpnOO8fC5QDNqBIa/2FO4O2VR999BGTJ09m8ODBhIeHM3HiRKqrq+V4opdqyYTM1FqnACilMoEMZ0lTtNZTG92f6r6YbdOKFSuYP38+aWlp+Pv7U1paSkREBKGhoUZHE27SZCGVUg9TPwUB0Fo3lC6t8f0Nz5Up6Rpaa1577TU+/PBDUlNTCQ0NZc6cOZSVlUkZvVxzEzIRKFVKJVO/aorWeqvzz4WNnlcKxALfKqRSagowBaBbt24uiuzdtNZMnz6dzMxMXnjhBWbNmkV1dTWRkZFERkYaHU+4WXOFtAHhWutsAKXUHqVUi6egc3szA+ovv7rrlG2E1ppZs2Zx+PBhRo8ejVKK8PBw+djENqS5QhYBnRrdLqd+EjbszGkQ7nyu+AEWLFjAnj17GD58OMHBwUyYMEHK2MY0d+pcNvUFbBBLffG2AD0a3W+T7ccfJiMjg/fee49t27bh7++Pw+EgLi7O6FjCw5r9xADn4Y1w581S5zYkzu3KWxpWa7+PfGLA99u1axc///nPefLJJ/nRj37EvHnzuHbtGtHR0UZHE27wgz4xoKGAd7i/yQKKljl58iQTJ07knXfeYc+ePdTU1BAcHCx7U9soOVPHQJWVlTz11FP069ePgwcPsnTpUioqKvD19TU6mjCIFNJA06ZNo1+/fkRHR2O32wkICJCvaGvjpJAGWbJkCdu3b2fq1KksWbKE6upq+YQ3IRcoG2Hfvn0sXLiQrl27UldXh4+Pj3z/hQBkQnrc119/zeLFi4mPjyc5OZmFCxcaHUmYiBTSg/Lz85k3bx65ubmcO3dOthfFd8gqqwdFRkayf/9+Ro0aJWUUdySF9KA///nPDBkyhI0bNxodRZiUFNJDPv30U5YvX05CQoLRUYSJSSE9ZNOmTcTExBAWFoanvuBIWI8U0gP+9a9/8e6775KamsqcOXPkeKP4XlJID9i2bRvdu3cnJCREpqNokhTSzQ4ePMj69esZM2YMs2bNkukomiSFdLPPPvsMm81GRESETEfRLDkxwI0OHTrEqlWr+OlPf8orr7xidBxhATIh3cjHx4eysjLi4uJkOooWkQnpRlu3bmXcuHHMnDnT6CjCImRCusnnn3/O+vXrsdlszT9ZCCcppJv4+vpSWVlJeHi4rK6KFpNCuklmZiZdu3alc+fOcqhDtJgU0k3y8/O5//77qa2tlQkpWkx26rhBXV0dhw8f5sCBA/Tt29foOMJCZEK6wXvvvYfWmsOHDxsdRViMFNINLl26xL333ktNTY2sropWkUK6QUlJCaNHjyY1NVV26IhWkUK6wb59+8jLy+Pvf/+70VGExUgh3eDChQtER0fjcDhklVW0iuxldbHy8nKqqqpYsmQJ4eHhzf+AEI3IhHSxzMxMAgIC2Llzp9FRhAVJIV3Mz8+PwMBAqqqqZHVVtJoU0sX+85//EBwcTMeOHWUPq2g1KaSLBQQEEBISAiATUrSaFNLFgoOD6devH08++aRMSNFqUkgXO378OMePH+fjjz82OoqwICmkiwUFBVFbW0tdXZ2ssopWk0K6WEVFBf7+/rRr105WWUWrSSFdLCQkhJs3b+Lr6ysTUrSaFNLFGkqotZYJKVpNCulinTp1Arh16EOI1pBCutigQYPo2LEjw4YNMzqKsCAppIsVFRXx5ZdfsmvXLqOjCAtq8dUeSqmxQLnWOrvxbcAGFGmtv3BPROvQWtOtWzcqKyu5dOkSDocDX19fo2MJC2nRhFRK2YDnb7udorXO1lpvBea6KZ+lKKVITU0F6i9SlpMDRGu1dJU1EchpdDuN+ul4i1LqYVeFsrqoqCgcDgeRkZFGRxEW02whlVLJDaupjdiAwka3S4FYVwazKqUUgwcPJiYmhv79+xsdR1hMk4V0rpoWeSiL1/D39ycrK0tWWUWrNTchE4FYpVQyMBBIUUrF8s3OnAbh3KG4SqkpSqkjSqkjly9fdlVmU9Na06tXL65cuUJZWRl1dXVGRxIW0mQhnTttsp2rrEXAHq11EbAF6NHoqbY77WXVWmdorRO11omdO3d2aXCzUkoxY8YMrl69SnZ2thz+EK3SosMezh02ydRPyyKtdZFSKtM5OQGWuS2hBQUEBBAbG0tFRQX33nuv0XGEhbSokM7pN+C2+27f0SOclFI8++yzlJSUEB8fb3QcYSFypo6bBAcH889//lNWWUWrSCHdQGtNz549qamp4eTJk3IZlmgxKaQbKKVIS0tj+PDhbNiwgexsWbsXLSOFdBOtNUOGDKG4uJhu3boZHUdYhBTSTZRSzJ8/n5CQEPLy8mS1VbSIFNKNlFL079+fN954g08//dToOMICpJBupLVm6NChFBYWcuPGDaPjCAuQQrqRUorf/OY3xMTEsGLFCvbt22d0JGFyUkg3azwlY2JijI4jTE4K6WZKKdLT0ykrK+Ps2bNGxxEmJ4X0gODgYBISEnjllVdktVU0SQrpAVprhg0bxpdffimHP0STpJAeoJTizTffxGazsXz5cvbv3290JGFSUkgPapiSPj7yzy7uTH4zPEQpxZo1a/jvf//LmjVrOHDggNGRhAlJIT0oNDSUhx56iOLiYu677z6j4wgTkkJ6kFKK119/nTNnznDPPfcYHUeYkBTSw4qLi7Hb7bz11ltGRxEmJIX0IK01tbW19O3bl6ysLKPjCBOSQnqQUopp06YxZswYjh07xubNm42OJExGCulhDScGxMfHs2fPHoPTCLNRnjpzJDExUR85csQjr2UFubm5JCcn89VXX9GhQwej4wgPUkrlaq0T7/SYTEiD5OTkEBYWxuuvv250FGEiUkgDaK2pqakhPj6ezMxM+boBcYsU0gBKKaZPn05ycjJVVVWsXLnS6EjCJKSQBmk4BJKYmMiWLVu4cOGC0ZGECUghDaKU4te//jUfffQRBQUFzJgxA9npJaSQBvP392fYsGHk5eXRvn17o+MIg0khDaaU4q9//Svnzp1j2bJl5ObmGh1JGEgKaQIdO3ZkwIAB5OXlERQUZHQcYSAppAkopfjb3/7GqVOn+OMf/8gXX3znu29FGyGFNIno6Gh69epFQUGBfFxkGyaFNAmlFBs3buTkyZNcu3bN6DjCIFJIE+nduzeRkZFMnDiRY8eOGR1HGEAKaSJaa5KSkjh27Bi+vr5GxxEGkEKaiFKK1atX06VLF2bMmCFTsg2SQpqM1ppHHnmE3NxcAgMDjY4jPEwKaTJKKf7yl7/QqVMnpk+fTn5+vtGRhAdJIU2oYUrm5OTI6XRtjBTShJRSvPPOO9hsNl5++WVOnDhhdCThIVJIk1JKMXz4cHJzc+V0ujZECmliGzZswMfHh1dffVWmZBshhTQxHx8fBgwYwLFjx2SPaxshhTS5999/n/Pnz7N48WI56bwN8GvuCUqpsc4/DgRytNZbG91fDtiAIq21/La4gc1m48EHH6SoqEhOOm8DmpyQSqmHgXKt9Vat9Wzg/5RSNqWUDUjRWmc7CzrXE2HbIqUUb7/9NsXFxVy/ft3oOMLNmltljQVSGt0udd6XRv10vMVZXuEGQ4cOxcfHh8mTJ5OTk2N0HOFGTRay0WTEORVxrpragMJGT20o6rcopaYopY4opY5cvnzZdanbGK01jz32GEePHiUgIICLFy8aHUm4SWt26izj29OyWVrrDK11otY6sXPnzq1LJm5pOJ0uLi6OJUuWsGDBAtnB46VaVEjnDpxlWusi510NO3MahANF3/lB4TJKKZYuXcrOnTu5efMmISEhRkcSbtBsIZVSycAXWusi5w6dWGAL0KPR02yyl9X9hg8fzs9+9jNOnTpFenq6nHjuhZo87OHcUbMWKFdKAcRqrcOcj2U6ywr1q7PCA5YvX06PHj3o2rUr7du35+uvv6ZTp05GxxIu0mQhnVOvx/c8lu2WRKJJkZGRZGRksHDhQt5//30uX77M1KlT6du3r9HRhAvImToWNH78eB566CG2b99OTU0NwcHBRkcSLiKFtKg1a9ZQUVHBlStXWLFiBf/+97+NjiRcQAppUR07diQrK4udO3dy6dIlAgMDKS8vb/4HhalJIS2sV69ebN26lb1795Kens78+fNlUlqcFNLiRo0axdKlS3n33XeprKwkKChIPmjZwpq92kOY36RJk7h+/TorVqwgNDSUuro6pk2bRlxcnNHRRCtJIb3E9OnTcTgcLFy4kGeeeYbw8HCjI4m7IKusXuRXv/oVqampHDx4kEWLFnHq1CmjI4lWkkJ6mfT0dK5fv05+fj7R0dFGxxGtJIX0Mu3atSM7O5v8/HwKCgqMjiNaSQrphXr37s2AAQNIS0uT7wexGCmkF9JaM2TIEM6fP8/p06eNjiNaQfayeiGlFAsWLOD48ePMnTuXqKgohg4danQs0QIyIb2U1prBgwdz9uxZwsLCjI4jWkgK6aWUUrz66qs88cQTbN68Ga210ZFEC0ghvVzXrl1Zv349e/fuNTqKaAEppBfTWvPAAw9w6dIlunbtanQc0QJSSC+mlGLSpElERUXJCecWIYX0cjt27EBrzQcffGB0FNECUkgvprVGKUVERAQ3btwwOo5oATkO6cWUUjz//POcOXOGvLw8HA4Hvr6+RscSTZAJ2QYUFhaSl5fHrl27jI4imiGF9HJaa3x9fampqSEiIsLoOKIZUkgvp5SiqqqKoKAgLl26ZHQc0QwppJfTWlNVVUVYWJh8ioAFSCG9nFIKu93OyJEjefhh+QpPs5NCtgGff/45R48eZffu3UZHEc2QQnq5//3vf9y4cQN/f398fX3lJHOTk0J6uX/84x/079+foKAg7HY7zm8xEyYlJwZ4uaysLBISElBK4efnd+vsHWFOMiG92FdffcVnn33GtWvXeOSRR3j66aeljCYnhfRiq1at4tFHHyU0NBQfHx/ZfrQAKaSXunz5MmvXriUoKIihQ4fy3HPPyXS0ACmkl5o/fz4jRoy4dbqcTEdrkEJ6ocOHD7N582ZCQkIYOHAgL7zwgkxHi5BCepmrV6+SmprKvHnziIiIoK6uTqajhchhDy9y/vx5xo4dS4cOHejQoQNvvfWW0ZFEK8mE9BK5ubmMHDmSixcvkpKSgt1ul8loQTIhvUBpaSnp6elcvnyZl156ifnz58s2o0VJIS2qurqa6upqiouLGTduHHa7nYKCAvmUcouTQlqMw+Hg9OnTrFmzhsrKSg4ePIhSinHjxkkZvYAU0iK01pSWlrJ48WIcDgeHDh0iLy+P9PR0Jk+eLKuoXuKuC6mUGguUAzagSGv9hctSCaC+hFprZs+eTWBgIFOmTOHEiRMcOnSIn/zkJxw5coQ+ffoYHVO40F0VUillA1K01lOdtzOBVFcGa2sarsJofDXGokWLCAgIoKSkhHPnzrFu3Tri4uJYv349Y8aMMTixcIe7nZBp1E/HW5RSD8uUbJ3G5du0aRNQ/5GNtbW1REZG8sEHH3D27Fn8/PxITk5m9erVJCQkGBlZuNndFtIGFDa6XQrEAlLIFvjFL37Btm3b0Frj5+dHQEAA169fx263U1dXR4cOHRg2bBjPPvssMTExTJgwAR8fOWTcFrh1p45SagowBaBbt27ufClLCQkJoUuXLty4cYMHH3yQGTNmEBISwpUrVxg4cCBnz56Vbzxuo+62kA07cxqEA0W3P0lrnQFkACQmJsppI04jR44kNDSUwMBA+vTpQ0pKCv7+/rcej46ONjCdMJK6m9OrnDt1ljXaqbNHa53SzM9cBkruKiVEAFfu8mfNSpbJ/Ny1PN211p3v9MBdFRJAKZXc+LbWOvuu/qKWvdYRrXWiu/5+I8gymZ8Ry3PX25DuLKAQbZXsuhPCRKxSyAyjA7iBLJP5eXx57nobUgjhelaZkEK0CXK1hxC3abhwomHHpScvpJBCepi3XCXjXA6AgUCO1npro/stu3zOY+zPA2sb3fbYhRSWKKS3vPnecpWMUuphvpkgW5VSZUqphsNgVl++RCCn0W2PXkhh+m3IRm/+Vq31bOD/lFK2Rr/c2c6CzjU2aYvc8c01KMsPEQs0PjOr4eICSy+fUir5DsfXv+9CCrcwfSHxrjffo2+uuzT6z7Fh6uOcGJZdPudyfOd8bE8z/Sqrc/o1rKLeevOdp+7JJWDGW8a3/8O0qkQApVQs9ZtGnZRSRbTwQgpXMX0hb2P1N9+jb667Obfhl2mtG5bBssvXeFVVKZUC7NFaFymltlD/e9fA5tV7WZ3XTNq+5+EMrXW583ne8OZ79M11J+cayhfOX1ob9f/+ll8+52ZPMhCrlCpyLl9mo4spljXx4z/89a1wpo7zH6Potje/lFZeAmYGnrxKxl2cv7SZfLMNH6u1DnM+ZvnlM5LpCylvvmhLTF9IIdoSKxz2EKLNkEIKYSJSSCFMRAophIlIIYUwESmkECYihRTCRP4fzSFykIHu/9YAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 025, loss: 1.203\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 026, loss: 1.194\n" + ] + }, + { + "data": { + "image/png": "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krhDUkgP5ufnxz/+8Q+UUhQUFLBw4UIOHjxoOpa4A3LFAA8XFhbGp59+SteuXbHb7QQFBXHp0iVCQ0NNRxPNIBPSC8TExJCXl8fx48cZP348s2bN4rvvvjMdSzSDTEgvERcXx7///W969uzJ1atXadOmjelIohlkQnqR2NhYvvzyS77++mueeeYZjhw5YjqSaCIppJdJTEzkgQceYN26dTIlPZAU0gutWbOGlJQUZs+ebTqKaCIppBdq0aIFPXr04O233+bDDz80HUc0gRTSC2mtsdls3Hvvvbzxxhum44gmkEJ6IaUUM2fOJDMzky+++IL33nvPdCTRSFJIL6W1xs/Pjx49esg3MnsQOf3Ky+3YsYMHH3yQU6dOERAQYDqOQE6/8mmHDx+mtraWpUuXmo4iGkEK6cW01mitiYuLky9/9RBy6JwXU0oxevRoAgICWLJkCVprHJdiERYlE9IHnD17ln379vH555+bjiJuQwrp5bTWREVFUV5eTvv27U3HEbchhfRySikefvhhwsLCaN26tek44jakkD5g/fr1VFdX89lnn5mOIm5DCunltNYEBATQokULfvjhB2pqakxHErcghfRySimGDx+O3W5n7969bNiwwXQkcQtSSB9QU1NDeXk5UVFRco6kxcl+SB9QXFxMhw4dyMzMpGfPnqbjiFuQCekD9uzZw913383rr78uG3YsTgrpA77++mtiYmJo2bIlISEhuOuEAtF0UkgfsGrVKgAGDx5MamqqHD5nYVJIL3f48GEqKysJDQ2lpqZGpqPFSSG93JtvvsnAgQMJDg7Gz89PpqPFSSG92OXLl3njjTf4zW9+Q3h4OH5+fjIhLU52e3ix3//+90RERFBdXc1LL71kOo5oBJmQXurs2bOsWrWKfv36Achk9BAyIb3UE088QWxsLGlpaWRmZpqOIxpJJqQXevfddzl06BB9+vTBbrfLdPQgUkgvs2XLFiZMmEDv3r1JTk7mySeflC2rHkQK6UU++eQThg8fTlpaGvHx8VRXV8t09DDyGdILnD9/noKCAiZNmkRycjK9e/dm6tSpMhk9kBTSg1VUVLBnzx4WL17MunXryMnJYeLEiaZjiTsghfQwtbW1VFdXc+bMGV599VX279/Pjh07yMjIkDJ6ASmkBykpKSEnJ4eAgAAeeugh1q5dS2VlJXl5eXTp0sV0POEEzS6kUupRoAyIAAq11t84LZUAuHZh49raWqZPn47NZuP06dMcPHiQN998k2nTppGVlUV4eLjpqMJJmlVIpVQEkKa1Hue4/T4wwpnBfFF9Aet/XbBgATabjccff5wjR47w7bffUlJSwogRI1i/fj3R0dGmIwsna+6EHEnddLxGKdVLpmTTNby8/3vvvYfdbqegoICKigq2bdt2bTW1c+fOPProo0ydOlUmohdrbiEjgKMNbpcCCYAUshF2797NL37xC/z8/KisrMTf35+goCAuXLhARUUFAQEBhIaGMmTIEIYOHcpTTz1Fhw4dTMcWbuDSjTpKqSwgCyA2NtaVL+VRVqxYQVpaGpWVlXz77bfExcUxadIkwsPDuXjxIklJSRQXF187MFz4juYWsn5jTr02QOGNT9JaLwWWQt0XtjbztbzO/fffz9WrV6mtreXw4cPcc889pKenX/eFqvI9HL6pWd+g7Niok9tgo87nWuu02/yZEuBOvqQwEvjhDv68FXnbMnnb8oBrlilOax11swea/ZXmSqnUhre11hub9Rc1/vV2/dTXQHsqb1smb1secP8yNfszpKsLKIQvkrM9hLAQTyrkUtMBXMDblsnblgfcvEzN/gwphHA+T5qQQng9OdtDiBvUnzhRv+HSnSdSSCEN8IYzZRzLANAb+I/WenWD+z122Rz72B8DXm9w220nUnhEIb3pzfeGM2WUUr343wRZrZQ6r5Sq3w3m0csGJAP/aXDbrSdSWP4zZIM3f7XWehrwhlIqosEP9kZHQWeYTdpoN32DDWVprgSg4ZFZ9ScXePSyKaVSb7J//adOpHAJyxcS73vz3foGu0KDfxzrJz6OieGxy+ZYjh8dj+1ull9ldUy/+lXUa2++49A9OQXMvFyu/wfTUyUDKKUSqPto1FYpVUgjT6RwFssX8gbe8Oa79Q12Jcdn+FytdX1+j122hquqSqk04HOtdaFSahV1P3f1Irx6K6vjnMmIn3h4qda6zPE8b3nz3foGu4pjDeUbxw9tBHX//z1+2Rwfe1KBBKVUoWP53m9wMkXuLf74nb++Jxyp4/ifUXjDm19KE08Bswp3nynjbI4f2vf532f4BK11a8djHr1splm+kPLmC19i+UIK4Us8YbeHED5DCimEhUghhbAQKaQQFiKFFMJCpJBCWIgUUggL+X/fL0lAXlTw7QAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 027, loss: 1.187\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 028, loss: 1.180\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 029, loss: 1.166\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 030, loss: 1.152\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOQAAADeCAYAAAAttqxGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAX+UlEQVR4nO3de1CU1/3H8fcB5GYQFvEeERGNkeooEgU1Nq0YtU29xLvOtDadauOlyVhj1MRoMupPQzTRajqQS1sbx0k0xly0IZLaFKNBCbZjrXdEEGorEVQEl9v5/eFi0ahcwu55dvf7mnF0L8jnkf14znP2eZ5VWmuEENbgYzqAEOJ/pJBCWIgUUggLkUIKYSFSSCEsRAophIX4ueobRURE6KioKFd9OyEs6+uvvy7SWre502MuK2RUVBRZWVmu+nbCjRQXF2Oz2UzHcBml1Lm7PSZTVmHU/v376dWrF/n5+aajWIIUUhiTnp7OmDFj+P3vf0/nzp1Nx7EEKaQwYvv27UybNo3333+fkSNHmo5jGVJI4XK//e1vmTFjBj/+8Y/p27ev6TiW4rJFHSG01qxcuZI333yT8ePHEx4eTmBgoOlYliKFFC5RXV3N7Nmz+eCDD5gyZQovvPACdrsdf39/09EsRQopnK68vJzp06dTXFzM+PHj8fPzIyQkhIiICNPRLEcKKZzqwoUL/OQnP6G0tJTRo0czf/58KioqCAgIMB3NkmRRRzhNdnY2CQkJtGjRgvvuu4/Lly/TqlUreYvjHmSEFM2uurqatWvX8sorr7Bx40b2799/cx8yKCjIdDxLk0KKZnXo0CHmzZuHv78/48aN48iRIzzzzDPY7Xaio6NNx7M8mbKKZnHixAlmzJjBmDFjaNOmDUlJSWitKS0tJSwsTMrYQFJI0WRaa/bu3cvkyZOJi4ujsLCQL774gu7du1NUVMTy5cuZM2cOLVu2NB3VbciUVdyV1hql1C1/rqmp4eDBg+zatYutW7dy7do1EhISmDx5MsHBwYSGhvLiiy+Sl5dHx44dDW+B+5FCCuB/hatbwg0bNlBcXExUVBTbt2/n3LlzFBYWEhAQQO/evdm4cSNpaWnY7XbmzZuH3W6nbdu2AMTGxprcHLclhfRCt5evoqKClStXkp+fz6lTp/jvf//LpUuXuHz5MiEhIfTr148rV67QoUMHUlNT2bZtG2VlZcTGxhIfH09ubi4PPvig6c3yCFJIL1F35EtJSaGgoICvv/6as2fPkp+fT3BwMDabjbCwMGJiYpg/fz4xMTHk5uby/e9/n8LCQs6ePUtiYiLR0dHk5ubefD9RjrhpPlJID1dbxE2bNpGTk0NRURHvv/8+/v7+dOrUiaioKP70pz9hs9nIzc0lMjKSc+fO8cMf/hClFF26dAGgY8eON/cJ27VrR7t27UxulseSQnqo2iIuW7aMgwcPkpGRQcuWLXniiSdIS0ujpqaGyMhIcnNz6d+/P0opunXrBkD37t0Np/deUkgPU/tZLU8++SQZGRmcPXuW7t2789Zbb3H//fczZMiQW54vFx6zFimkB6mpqeHnP/856enpXL9+nT59+pCSkoKPjw+DBg0yHU80gBTSA2itSUtL49lnn+U///kP/fr1Y9WqVdjtdhISEkzHE40ghXRzx44d46mnnuLw4cOMHj2ap59+mvLycvr162c6mmgCOXTOTZWXl7NkyRLi4+MJCgpi7NixBAQEEBERwYABA0zHE00kI6QbOnDgADNmzKBv375Mnz4df39/5s6dS2lpKR06dDAdT3wHUkg3UlVVxUsvvURqaipDhw6lb9++PP7445SVldGzZ0/T8UQzkEK6iYKCAhITE/H39yc9PZ23336bwsJCIiIiaN26tel4oplIId3A/v37mThxIlFRUcTFxXH//fezbNky8vLypIweRgppce+88w6zZs1izJgxrFixgvLycsLCwgDo3bu34XSiuUkhLUprzerVq0lJSeHxxx8nPDyciIgIWrVqZTqacKJ6C6mUCgMmATlAtNY61XH/BKAECANytNbZzgzqTbTWLFiwgD179jBq1ChCQ0MZO3aslNELNOR9yG1a61StdTowHG6WdLjWOl1rvR1Y7MyQ3kRrzbx588jIyCA9PZ3AwEDsdrtMT73EPUdIpVQcN0ZBALTWEx1/nFT3/trnyij53dSOjJmZmSQkJLB+/XoWLFhAeXm5XJfGS9Q3QsYDl5RSSUqpCY5pKtyYpp6p87xLwLcuK6aUmqmUylJKZV28eLF5EnuwFStWkJ6ezkcffYSvry9lZWWEh4cTExNjOppwkfr2IcOAcMd0FaXUHqVUg0dBx/5mKkB8fLxuckov8Mc//pG33nqLUaNGsWHDBp577jmuXbsm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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 031, loss: 1.144\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 032, loss: 1.135\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 033, loss: 1.129\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 034, loss: 1.129\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 035, loss: 1.124\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 036, loss: 1.119\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 037, loss: 1.118\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 038, loss: 1.117\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 039, loss: 1.115\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 040, loss: 1.112\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 041, loss: 1.111\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 042, loss: 1.110\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 043, loss: 1.107\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOQAAADeCAYAAAAttqxGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAX+klEQVR4nO3de3BU9f3/8ecHcg+BDRC5RCCEkhERwiUiF0sCAuFSyIiKWKC2g0aIFSpMhIQqIIiEQout0vny7Uztheov4eLEitBAsATGJtxUrgJdw02B0BhTIJdN8vn9wSZGvkBCzO7n7O77MePobjbmdci+eJ/97DlnldYaIYQ1tDAdQAjxLSmkEBYihRTCQqSQQliIFFIIC5FCCmEhfu76Qe3bt9dRUVHu+nFCWNaBAweuaK0jbvU1txUyKiqK/fv3u+vHCQ9w6dIlIiIiaNHCt3bUlFJnbvc13/qTEJZht9t56KGH2LVrl+koliKFFG53+vRpEhISWLBgAY888ojpOJYihRRudfjwYeLj43n55ZeZPXu26TiWI4UUbvPPf/6TIUOGMGDAAJ566inTcSxJCincYs+ePUyZMoX4+HhiYmIIDAw0HcmS3LbKKnzX5s2bmT59OhMnTmTdunU4HA78/f1Nx7IkKaRwqXfffZe5c+cyfvx47r33XsLCwggICDAdy7KkkMIltNasWbOG3/zmN4wdO5ZOnToxY8YMKWMDpJCi2VVWVjJnzhw2bdrElClTqK6uprKykh49epiOZnlSSNGsTp06xY9//GM6dOjA448/TkBAAEuWLKGkpISgoCDT8SxPCimahcPh4Le//S0rV66kb9++9OvXj9mzZ1NZWUmbNm1o06aN6YgeQQopvhetNdnZ2aSnp1NeXs60adO4fv06165dw2azERoaajqiR5FCiiYpKyvjvffeIyMjg0uXLpGYmEhAQAA1NTUsWbKE69evSxmbQAopGqS1RilFVVUVe/fuZcuWLfzhD38gMjKSRYsWcejQIRwOBy+++CLl5eV07tzZdGSPJYUUdWqLB1BTU8Ply5c5ceIEa9eu5ezZsxQWFhISEkJsbCyTJk3CZrMxevRoJk6cyJkzZ2QVtRlIIX1Ubfm01mitOX78OGvWrOHs2bOUlJRw9OhR/Pz86NWrF1VVVYSHh/PWW2+RlZXF9evXmT17Ng6Hg06dOgEQHh5ueIu8gxTSh9SfgBkZGRw/fpxDhw5ht9uJiIggJCSENm3a8MILL5Cfn09VVRWpqamEhoZSWFjIkCFDiI6OprCwkNjYWMNb452kkD6gtogrVqzgk08+4YsvvuDIkSNERkYSGRlJUlISixcvpmXLlhQWFjJy5EhGjhzJF198Qc+ePQHqXhd26NCBDh06mNwcryaF9GJaa2pqakhOTqagoICTJ08SFRVFeno6w4cP58KFC3Tp0oXCwkJiYmIA6l4HdunShS5dupiM75OkkF6mdhpevXqVadOmsWfPHvz8/Lj//vt588038ff3Z+jQoQB0794dgG7dupmMLOqRQnoRrTXLli0jPz+f/Px82rZtW3d2fkVFBYMHDzYdUTRACuklHA4Hjz32GNu2baNLly5s3ryZ++67j8LCQvr37286nmgkKaQX2LFjBz//+c8pKytj/PjxzJ49m+HDhwNwzz33GE4n7oYU0oNduXKFuXPnsnXrVpKSkliwYAFlZWUMGDDAdDTRRHJNHQ81depUoqOjCQsLY/r06YSFhdG+fXspo4eTCelhysvLmTdvHtu2bWPMmDGsWLECpRRnz54lIuKWV6cXHkQK6UHsdjuTJ0+msrKSmTNnkpSURNu2bQE5dM1byC6rh8jNzWXo0KE888wzJCYm4nA45PA1LyQT0gP88Y9/JC0tjfj4eIqKipgzZw5lZWVyFr4XkkJamNaa5cuXs2bNGp566im01nzzzTe0b9+esLAw0/GEC0ghLUprTVpaGh988AFTpkwhKCiI9PR0iouLpYxeTAppQVpr5s+fz1//+lemTZtGamoqZWVlREREyEqql5NCWtDy5cvJyclh8uTJwI0VVLkshm9osJBKKRswBbAD0Vrr9c77HwdKABtg11ofdGVQX/HGG2/w61//mhkzZrBo0SLKysoIDg42HUu4SWMmZJbWejSAUioLWO8s6Wit9XP17n/CdTF9w/bt23n99df50Y9+hJ+fHzabTU4G9jF3fB9SKTWAG1MQAK11bemm1L+/3mNFE33++edMnz6dhIQEOnbsyHPPPScf2eaDGjowIA4oVkqNUko97txNhRu7qf+u97hiIPrmb1ZKJSul9iul9hcVFTVPYi907do1Jk+eTHp6Oh07dqSmpkau4OajGtpltQFttdY7AJRSOUqpRr9WdL7e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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 044, loss: 1.106\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 045, loss: 1.103\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 046, loss: 1.103\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 047, loss: 1.101\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 048, loss: 1.101\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 049, loss: 1.100\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 050, loss: 1.099\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 051, loss: 1.096\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 052, loss: 1.094\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 053, loss: 1.093\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 054, loss: 1.092\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 055, loss: 1.089\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 056, loss: 1.088\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 057, loss: 1.088\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOQAAADeCAYAAAAttqxGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAYIklEQVR4nO3deVTVdf7H8eeHi7IrawkoIFgiqahhHhdOHdfGcT2pjR2dzEabToIeRzQzsZxxCrc5Tp5p8jflbGaGSuNoqTGK4oyGqInmabIuYI5ykNwR2e7n94cXw0JQ4N7vXd6Pv7wL8PrK98Xn812v0lojhHAMHkYHEEJ8TwophAORQgrhQKSQQjgQKaQQDkQKKYQD8bTXDwoNDdUxMTH2+nFCOKwjR46Uaa3DGnrNboWMiYkhPz/fXj9OODCtNWfPnqVTp05GRzGEUqr4bq/JlFXY3eLFi5k6dSpyUsqP2W2EFAJg2bJlZGVlkZOTg1LK6DgORwop7KKmpoY333yTv/71r+zbt4+wsAY3odyeFFLYXGlpKRMnTuTEiRPk5eURHh5udCSHJduQwub+9Kc/cfz4cSZMmIDsaW+cjJDCphYvXszatWuZPHkyCxYswNNTVrnGyAgpbEJrTXp6OpmZmTz11FP4+voSGRlpdCyHJ3+uRKuzWCykpqayadMmnnnmGdLT06murqZNmzZGR3N4UkjRqqqqqnjuuecoLi5m/PjxmEwmAgICaNu2rdHRnIJMWUWrKSoqIjk5mfLych599FGCgoKYPn26lPE+SCFFi2mtef/99+nXrx8+Pj4kJCRw8+ZNqqur6dKli9HxnIpMWUWL/Pe//yU1NZWSkhK2bdvGxo0bqaioICMjgytXruDt7W10RKcihRTNYjab+fWvf8327dt5+eWXKS0tZffu3cybN4+qqioCAwMJDAw0OqbTkSmruCdaa2pqati5cydjxozhscceo7CwkFmzZjFlyhSqq6spKysjICCA2NhYo+M6LRkhxY9orVFKobXmwoULHDhwgIyMDE6dOkVcXBxxcXGkpaVhNpspKyvDZDKxdOlSzpw5Q/v27Y2O79SkkG6srnh1/75y5QqHDh3i7bff5ty5cxQWFnLjxg0GDBiAt7c3Y8aMYfny5axatYri4mLmzp1LZWUloaGhACQkJBi5OC5BCumG6or41ltvUVhYSEVFBTt27KCsrIxHH32UmzdvEhAQQHJyMmFhYbz66qt4e3tTVFREZGQkixYtori4mK5duxq9KC5HCukm6kp48+ZNXnrpJY4fP86JEycIDg7mmWeeITk5GV9fX+bNm4e/vz+FhYU89NBDFBYWEhUVBcADDzwAQEhICCEhIUYujsuSQrq4uiLOnz+fQ4cO8cUXXxAQEEBMTAxZWVm3R8KioiKKioro2rUrSik6duwIQIcOHQxeAvcihXRRWmu01kyfPp0DBw5QUlJCt27d+Pjjj4mKiqKoqIgBAwbcfn9MTIxcGuUApJAuRmuNxWJhypQp7N27F4vFQmJiIhs3bsRisdCvXz8AIiIiDE4qGiKFdCFaa5599lk+/fRTtNb07duX3/zmN1RVVdG3b1+j44l7IIV0EV999RWzZ88mLy+Pfv36sXLlSioqKkhMTDQ6mrgPUkgnV11dzRtvvEFGRgZPPPEEOTk51NTUyDFBJyWFdGIFBQWMGDGCdu3aMX78eIKCgggPD799oF44HymkE9Ja8/bbb7NkyRJ69+5N165dmTt3LlevXpUyOjkppJO5fv0606dPZ//+/UyePJnZs2dTUVFB586djY4mWoEU0ol8/fXX9O/fn8jISEaNGoVSitDQUDmh24VIIZ1EXl4e48aNo3v37vTs2ZOFCxdy6dIlKaOLkUI6ge3btzNp0iRGjRrFqlWrqKiooEOHDnJamwuSQjq4jz76iJkzZzJ69GgiIiIICQnB19fX6FjCRqSQDuzDDz/kueee4+mnn2bZsmXcuHFDyujipJAOKjs7m1mzZjF69Gjat29/+xijcG1SSAd09OhRfvaznzF06FCioqKYMmWK3L3NTTRZSKVUIDAJMAOxWut11ucnAJeBQMCstT5qy6Du4uzZs4wdO5a33nqLzz77jJqaGrky343cywiZqbUeBqCUygTWWUs6TGv9Qr3nJ9oupnu4efMmo0ePJiYmhoKCAtLT0ykvL8fLy8voaMJOGi2kUqoPt0ZBALTWdaWbVP/5uvfKKNkyKSkpxMXF8cADD1BVVUVAQADBwcFGxxJ21NR9WZOAi0qpoUqpCdZpKtyapn5T730XAbkZZwts2LCBvXv3Eh4ejr+/Py+99JJ8WpQbaqqQgUCw1jpba70ZeEEpdc/FU0rNVErlK6XyL1y40KKgrqy4uJg5c+bwzjvvYDKZsFgsREdHGx1LGKCpbUgzUP/2Ype5NRLW7cypE2x97x2sO4DWASQlJekWJXVRWmsmT55M165d2bNnDytWrODatWuYTCajowkDNDVCZnPnVDSWW8X7EIir93ygbD82z/r166moqCA+Pp6qqio8PT1lu9GNKa0bH7is2411a8hF69QVpdTQ+u/TWmc39n2SkpJ0fn5+C6K6nrKyMrp27crw4cOJj4/n5Zdflj2qbkApdURrndTQa00e9qgrYAPPN1pA0bS0tDRGjRpFSEgIlZWVUkYhZ+oYZcuWLWzatIn58+fz2muvGR1HOAj5ODqD/PGPfyQxMRGTyURTmw3CfUghDbBhwwYOHjzI+PHjWbx48e1PoBJCCmmAv/zlL/Ts2fP2ZzAKUUcKaWebN28mNzeXSZMmkZaWJqOjuIMU0s62bt1KfHw8Hh4eMjqKH5FC2tGePXvIyspi4sSJpKamyugofkQKaUe5ubmEhoYSFBQko6NokByHtJP9+/fz3nvv8eSTT/Liiy8aHUc4KBkh7SQoKIiSkhJ69Ogho6O4Kxkh7UBrzSeffMLgwYNJTU01Oo5wYDJC2sG+fftYt26d3NhYNEkKaQedOnXi7NmzdO7cWaarolFSSDvIycnBy8uLmJgYOdQhGiWFtIOzZ88SFRWFxWKREVI0Snbq2JjWmmPHjvH8888zbdo0o+MIBycjpI3l5OSQm5vLlStXjI4inIAU0sYiIyO5cuUKERERMl0VTZJC2pjWmvDwcCZMmCA7dESTpJA2tnXrVrTW7Nixw+gowglIIW2strYWHx8frl27JlNW0SQppI2dPn0af39/2rdvL1NW0SQppI3V1NTcvtxKRkjRFCmkjZlMJh5//HFGjx4tI6RokhTSxr755htyc3P55JNPjI4inIAU0sa8vLzw9/eXe+iIeyKFtDE/Pz+Sk5MZOXKkTFlFk6SQNlZWVsbOnTvZuXOn0VGEE5BC2lhQUBA3btygtrZWpqyiSVJIG6srYdu2bWXKKpokhbSx8PBw4NbOHRkhRVPkekgb69GjB1evXmXw4MEyQoomyQhpY6WlpRw+fJjdu3cbHUU4ASmkjUVHR3PlyhV8fHyMjiKcgBTSxgIDA7l+/Trl5eVGRxFOQAppQ1prgoOD8fPz44svvsBisRgdSTg4KaQNKaUYPnw43bp1Izs7W04OEE2SQtqY1pqHH36Yq1evEhERYXQc4eCkkDamlGLGjBlYLBa5L6tokhTSDvr27cupU6dYs2YNu3btMjqOcGD3fGKAUmoCcFlrnV3/MRAImLXWR20T0fl5eXnx0EMPUVxcTMeOHY2OIxzYPY2QSqlA4OkfPB6mtc7WWm8GFtoon0tQStGnTx/Onz/PuXPnjI4jHNi9TlmTgMP1Hk/i1uh4m1KqT2uFcjVaa5KSkvj222+JjIw0Oo5wYE0WUik1tG6aWk8g8E29xxeB2NYM5kqUUqSkpJCQkMCBAwdkx464q0YLaZ2ampv7zZVSM5VS+Uqp/AsXLjT327iMbt26sXLlSvbs2WN0FOGgmhohk4BYpdRQoC8wTCkVy/c7c+oE00BxtdbrtNZJWuuksLCw1srslLTWDBgwgDNnznD58mUZJUWDGi2kdadNtnXKagY+1VqbgQ+BuHpvDZS9rI1TSvHiiy/Sq1cvVq1axb59+4yOJBzQve5l7QMMBV5QSsVqrS8DmUqpodbRM8OWIV2F1pohQ4bIea3irpS9pk5JSUk6Pz/fLj/LkWmt6dKlC7GxsSxZsoRBgwYZHUnYmVLqiNY6qaHX5EwdAwwbNoyCggJiYmKMjiIcjBTSzpRS/OEPfyAkJITs7B8eTRLuTgppAA8PDwYMGMD8+fM5dOiQ0XGEA5FCGkBrTUJCArW1tRw+fLjpLxBuQwppAKUUc+fOZezYsSxduhTZ2SXqSCENorUmPj4egIMHDxqcRjgKKaRBlFLMnz+fsWPH8tprr8nUVQBSSENprYmLi8PLy4ucnBzkfF8hdy43kFKKhQsX0r9/f5566inMZjO//OUvSUxMNDqaMIiMkA7g8ccfJzg4mJMnTxIQEGB0HGEgKaQDUEqxadMmjh8/zvLlyzlx4oTRkYRBpJAOonfv3kRHR3PkyBH8/PyMjiMMIoV0EEopPvroI06dOsVvf/tbCgoKjI4kDCCFdCBxcXH06NGDQ4cO4e/vb3QcYQAppIPZvn07RUVFpKenyyjphqSQDiYkJIT+/ftz6NAhoqOjjY4j7EwK6WCUUvzzn/+ktraWf/3rX5SVlRkdSdiRFNIBeXt78+abb5KSksKSJUtk6upGpJAOauLEiZhMJk6ePCk7eNyIFNJBeXh4sGXLFo4dO0ZGRoacLOAmpJAOrG/fvsTFxfHZZ5/JyQJuQgrp4D7++GNOnz5Neno6J0+eNDqOsDEppIMLDw9nwIAB7N+/Hx8fH6PjCBuTQjqBHTt2UFFRwezZs2Vb0sVJIZ1A27ZtefLJJ8nNzQWQC5ldmNy53IlMnDiRS5cuER8fz4wZM+RCZicldy53EatXr+bgwYOUl5fLaXUuSgrpRDp16sTSpUspLCyksrLS6DjCBqSQTiY1NZWvvvqKn//853z++edGxxGtTArpZDw9PRk9ejQHDhygurra6DiilUkhnYxSinfeeYfExESmTZvG0aPyObmuRArphLTWDBs2jOLiYkpKSoyOI1qR3JfVCSmleP3114mKimLOnDkMGTIELy8vo2OJViAjpBO7ePEiNTU1pKSkGB1FtBIppJPSWlNVVcXAgQPZvHmzXMTsIqSQTkopxaJFi+jevTu9evVi8uTJ1NTUGB1LtJAU0onVjZKJiYm0a9eOZcuWGR1JtJAU0okppVi8eDG/+93vGDhwIG+88Qb/+c9/jI4lWkAK6SL8/PyIioriH//4h9FRRAtIIV3E66+/zvDhw1m7di15eXlGxxHNJIV0Ie3btyciIoK//e1vRkcRzdTkiQFKqQnWf/YFDmutN9d7/jIQCJi11nIOl8GWLVuGh4cHK1as4Cc/+QkjR440OpK4T42OkEqpPsBlrfVmrfUC4P+UUoFKqUBgmNY621rQhfYIKxqntaZdu3b06tWLNWvWcOnSJaMjifvU1JQ1FhhW7/FF63OTuDU63mYtrzCQUoq0tDRycnI4cuQIU6dOlTvVOZlGC1lvZMQ6KmKdmgYC39R7a11R76CUmqmUyldK5ct9YOzH29ubn/70p+zdu1dOFnAy97NTJ4M7R8smaa3Xaa2TtNZJYWFh95dMtMif//xn+vTpw9ixY/nyyy+NjiPu0T0V0roDJ0NrbbY+Vbczp04wYP7RFwrDKKV47LHHsFgsrF27Vm754SSaLKRSaihwVGtttu7QiQU+BOLqvS1Q9rI6nuXLl5OXl8eGDRsYN24cX375pdxlwME1etjDuqPmHeCyUgogVmsdZH0t01pWuDWdFQ7GZDLRoUMHxo4dS2ZmJosWLSImJoa0tDQ6dOhgdDzRgEYLaR314u7yWrZNEolWpZRi7dq1PP/884wYMYKRI0fi6+tLTU0Nnp5yfbqjkTN13IC/vz/Jycl88MEH7Nu3j1/84hcsWLCA//3vf1gsFqPjiXqkkG5kzJgxbN26lR07dnDs2DF+//vfk5aWxuXLl5v+YmEXUkg3k5yczK5duygsLCQnJ4eamhp8fHyw10dKiMZJId3QoEGDyMvLw2KxUFhYyKuvvkpaWhrl5eVGR3N7Ukg3FRYWRm5uLr6+vvz973+nvLwck8kk25QGk0K6MW9vbzZu3MiIESP4/PPPb4+UclK6caSQbk4pxXvvvUeXLl3Iysri2rVrtGnTxuhYbksKKfDw8ODdd9+lffv2fP311yxevBizWc6ENIIcGRbArU9pzsrKIiEhgQ4dOhAZGWl0JLckI6S4LTo6mtWrV3P69Gk5NmkQKaS4w4wZMygpKWHKlCkcP37c6DhuRwop7qCUYsiQIRw5ckROFjCAFFLcQSnF+vXr8fX15ZVXXpEbL9uZFFI0aNCgQZjNZjp37mx0FLcihRQ/opRizZo1nD9/npKSEpm62pEUUjTowQcf5MEHH+SVV14hJyfH6DhuQwopGqS1JjY2luvXrxMTE2N0HLchhRQNUkrx9NNP06ZNG6Kjo42O4zakkOKuSktLKSgoYNeuXUZHcRtSSNEgrTWhoaFUVlYSERFhdBy3IYUUDVJKMWbMGGpra0lISDA6jtuQQoq72rVrF7W1tTJltSMppGiQ1hoPDw88PDzw8/MzOo7bkEKKBimlKC0txdfXl6tXrxodx21IIcVdXb9+nZCQELkrnR1JIcVd3bx5k0GDBjFw4ECsHyUhbEwKKe4qKyuL8+fPs3PnTqOjuA0ppGjQ1atXKSwsJCgoiMrKSpmy2okUUjQoMzOT3r174+fnh8lkkimrnUghRYPeffddBg8ejJeXF0opGSHtRAopfuTAgQOYzWbOnTtH//79mTRpkoyQdiKFFHfQWrNo0SLmzJlDUFAQFotFRkc7kvuyijts2bKFCxcuMG7cOEJDQwkNDTU6kluREVLcduHCBVJSUkhJSWH16tVs27bN6EhuRwopAKipqeHZZ59l6tSp9OnTB5PJRHV1tUxX7UwKKQD41a9+RXl5OYMGDWL9+vX06NGDF154QXbm2JkU0s199913zJs3j+3bt9OlSxeOHTuGn5+fjI4GkZ06bqq8vJz8/Hxmz55NaWkpe/bsYd26dfj4+JCeni4jo0GkkG6kurqayspKSkpKWLFiBbt376a6upqpU6cSHx/P6tWrjY7o9qSQbqKuhJ6ennTv3p3333+fhIQE/v3vf+PpKauBo2j2b0IpNQG4DAQCZq310VZLJVqV1prAwEDOnz/PwYMH2b59O9u2bSM5OVnK6GCa9dtQSgUCw7TWL1gfZwITWzOYaB6t9R3bf5cuXWLatGkUFBRQVVXFrFmzmDdvnnxsuYNq7p/HSdwaHW9TSvWRUdK+6spXv4QrV67ku+++4/Dhw5SVlVFcXIy/vz+PPPIImZmZtGvXzuDUojHNLWQg8E29xxeBWEAKaWNbtmxh7ty5t6/CsFgs1NTUoLWmoqKCsrIy2rVrR1hYGB07duSDDz4gNjaW8+fPSxmdgE03IJRSM4GZAFFRUbb8UW5j//79eHp6Eh4ejo+PD15eXlRWVuLj40Nqairx8fF8++23dOvWjTNnztCtWzcA+XwOJ9HcQtbtzKkTDJh/+Cat9TpgHUBSUpIcZW4FI0aMwM/Pj549exIeHs61a9d4+OGHOXv2LE888QRKKcLDwwF45JFHDE4r7pdqztkY1p06GfV26nyqtR7WxNdcAIqblbL1hAJlBmdoDa6yHOA6y3I/yxGttQ5r6IVmFRJAKTW0/mOtdXazvpEdKaXytdZJRudoKVdZDnCdZWmt5Wj2NqQzFFAIZyMnlwvhQNytkOuMDtBKXGU5wHWWpVWWo9nbkEKI1uduI6QQDk3OLBaiBeousqjbydnSiy6kkE7E2a+wseYH6Asc1lpvrve80y2X9Xj808A79R636KILtymks68Mzn6FjVKqD9+PJJuVUpeUUnWHzpx1uZKAw/Uet/iiC7fYhqy3MmzWWi8A/k8pFVhvJc+2FnShsUkb1eAv26AszREL1D+bq+6CBKdcLqXU0AaOxd/toot75haFxDVWhhb/so1U749h3WiPdeRwuuWy5v/RudutwS2mrNbRr26KentlsJ7+J5eR2V8Gd/6BdDZJAEqpWG5tAoUopczc40UXjXGLQv6As64MLf5lOwLrNnuG1rouu9MtV/2pqlJqGPCp1tqslPqQW+tXnUC33Mtqve4y8C4vr9NaX7a+z5lXhhb/so1mnZEcta68gdz6/3ba5bJu3gwFYpVSZutyZda78CKjkS9v+Hu6y5k61v8k8w9Whovc52VkRnLGK2zqWFfeTL7fZo/VWgdZX3Pa5WptblFIWRmEs3CLQgrhLNzlsIcQTkEKKYQDkUIK4UCkkEI4ECmkEA5ECimEA5FCCuFA/h+hyIHFt81TrwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 058, loss: 1.087\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 059, loss: 1.087\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 060, loss: 1.087\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 061, loss: 1.087\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 062, loss: 1.085\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 063, loss: 1.085\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 064, loss: 1.084\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 065, loss: 1.084\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 066, loss: 1.085\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 067, loss: 1.085\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 068, loss: 1.084\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 069, loss: 1.082\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 070, loss: 1.082\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 071, loss: 1.081\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 072, loss: 1.072\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 073, loss: 1.072\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 074, loss: 1.070\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 075, loss: 1.071\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 076, loss: 1.071\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 077, loss: 1.071\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 078, loss: 1.065\n" + ] + }, + { + "data": { + "image/png": "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/v378fX1pbS01HQk0YSkkC5g9+7daK2ZO3cu8+fPJzc313Qk0USkkC7A19eXlStXkpqaSllZGYGBgaYjiSYihXQRw4cPJyEhgby8PBYvXsy///1v05FEE5ADA1zIihUrePjhhwkLC5N9k25KRkgXEh4ezqJFi8jMzGTx4sWcOnXKdCTRyKSQLmbatGmUl5eTm5tLRESE6TiikUkhXUyzZs348MMPOXLkCGfPnuWLL74wHUk0IimkC+rVqxcTJkzg6aefZsGCBfLRdm5ECumiXn/9dc6cOUNeXh5+fn6m44hGIoV0Uf7+/mzZsoV//vOfvPnmmxw9etR0JNEIpJAuLDExkdjYWP71r3/RoUMH03FEI5BCujClFHv27OGzzz5jz549puOIRiCFdHF2u51hw4YxadIk/vGPf5iOIxpICunitNbExsYSFhbG6tWrTccRDSSFdHFKKebNm8e4cePYsWMH69evNx1JNIAU0g1orfH29iYxMZE33niD06dPm44kHpBy1qf39unTR2dlZTnle3myXr163boKes+ePU3HEXeglDqste5zp8dkhHQjWmsSEhI4efKknDPpoqSQbkQpxS9/+UtGjRrFqlWrTMcRD0AK6YY6dOjA6tWr2bVrl+ko4j7VW0ilVLLjvxSlVPJt9w91/L9X08YU90prjb+/P127dmXlypWm44j7VGchHUUr0Vq/r7V+BVivlLIrpexAktY6XWv9PjDHGWFF/Wp2g0ycOJF9+/axfPly05HEfahvhIwBkmrdLnbcNwYoqf1EGSWtQ2uNl5cXAwcOZMmSJXLpSBdSZyFrjYw4RkW01tmAHciv9dSaogoLUEoxdepUEhISCAwMZOzYsThr95ZomPtZ1Enhq6NlvZRSk5VSWUqprKKiovtLJhpEa83169dJTEwkNzeXt956y3QkcQ/u6apzjsWcFK11geOuEm6OkjWCgILbv05rvQ5YBzcPDGhYVHE/lFLMnTsXgB/96EfMmjWL5s2bM378eHx9fQ2nE3dzL6usQ4FsrXWBY0EnBngPiK31NLtjKissKCAggKSkJGbMmMFLL71EYWGh6UjiLuo8dM6xULOFLxdwYrTWrR2PDa39XK11el3fSA6dM0trTVJSEllZWezfv58uXbpgs9lMx/JIdR06V+eU1THqxd7lsToLKKxFKcXOnTtZunQpgwcPJjk5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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 079, loss: 1.064\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 080, loss: 1.063\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 081, loss: 1.064\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 082, loss: 1.063\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 083, loss: 1.063\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 084, loss: 1.062\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 085, loss: 1.060\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 086, loss: 1.060\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 087, loss: 1.060\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 088, loss: 1.060\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 089, loss: 1.060\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 090, loss: 1.060\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 091, loss: 1.060\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 092, loss: 1.060\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 093, loss: 1.060\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 094, loss: 1.059\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 095, loss: 1.059\n" + ] + }, + { + "data": { + "image/png": "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EvVACuki/v73vzNs2DB27dpFUVERAQEBRkcS9UAK6UL+8pe/8N1331FeXk5GRganTp0yOpKoY1JIFxIUFMTbb7/Npk2b0FoTERFhdCRRx6SQLmb06NF06NCBwMBAysrKjI4j6picoOxiKn43SIcOHTh79ixTp04lLi7O6FiijsgI6YJiYmLo0qULO3bswMfHhx9//NHoSKKOSCFd1KeffkpISAhpaWnMnDmTr7/+2uhIog5IIV1UgwYNWL58Odu2baOoqIiWLVsaHUnUASmkC+vYsSNpaWnYbDaKioqMjiPqgBTSxU2fPp0vv/ySESNGcOzYMaPjiEckhXRxPj4+DBo0iD179nD9+nWj44hHJIV0cRW7QXr06MGIESM4evSo0ZHEI5BCugGtNT169KCwsJB//etfRscRj0AODHADSilmzpzJtWvXmDNnDp06dWLAgAFGxxK1ICOkm9BaExgYSOfOncnIyJDfD+KipJBuQinFjBkz2LlzJzabjREjRvDFF18YHUs8JCmkm/H29qZ///4cPHiQ8PBwo+OIhySFdDNKKTIzM4mPj2flypVGxxEPSQrppjp27Eh6ejp79uwxOop4CNVuZVVKJTv++TRwSGu9odL9BYAVyNVaH6m3lOKhaK1p3rw5ERERvPfee/To0cPoSKKGqiykUuopoEBrnQVsUEr9qJTKcjzcV2s9wfG89cCw+o0qakopxfTp02nQoAGzZs2id+/e/Pa3vzU6lqiB6qas0UDfSrfzHfelcHt0vMNRXmESWmssFgvdunVj7ty5FBcXGx1J1ECVhdRab9Bavw6glLI67jvC7WnqmUpPrSiqMAmlFK+88grPP/88WmvGjBljdCRRAw+zUWced4+W1VJKjVdK5SilcmRHtfNprSktLaVfv37s37+f999/3+hIoho1OnTOsQFnntY613FXxcacCoFA7r2v01ovA5YBJCQk6EeLKh5WxbokwMSJE5k0aRIAI0aMwGKxGBlNPEC1I6RSKgk4orXOVUpZlVLRwDogptLTrLKV1dwCAgLo06cPqampvPzyy5w7d87oSOI+lNYPHrgcG2rW878NONFa62aOx5IqP9exJfaBEhISdE5OzqOlFY9Ea03fvn05dOgQu3btol27dvj4+Bgdy+MopQ5rrRPu91iVU1bHqBfzgMeqLKAwH6UUmzZtYvHixfTq1Yuh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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 096, loss: 1.059\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 097, loss: 1.058\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 098, loss: 1.058\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 099, loss: 1.058\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "it: 100, loss: 1.057\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOQAAADeCAYAAAAttqxGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAYUklEQVR4nO3de1DVZR7H8ffDJRBE7ip4BVIxDVc5aqXIOgttWbrmBbMd1t3SMl0tFzVR85bWSDm2jeu2ZG5WY3lZTZodQ/HCet0RnKbdcHMVvKyaUogoFz3As394MDIERDi/3znn+5pp8hwO8vnJ+fA8v+d3QWmtEUKYg5vRAYQQP5BCCmEiUkghTEQKKYSJSCGFMBEppBAm4mGvLxQSEqK7du1qry8nhGnl5uZ+p7UOretjditk165dycnJsdeXEyZ26tQpXPmHs1Lq9J0+JlNWYVdvvvkmo0ePprq62ugopmS3EVKI9PR0Vq9ezf79+3Fzk7GgLlJIYRcffPABixcvJjs7mw4dOhgdx7Tkx5Roce+99x5Tp05l2LBhdOrUyeg4piaFFC1qy5YtzJs3j5EjR+Lv74+np6fRkUxNpqyixXz00Ue88MILJCUl8ac//Qmr1Sr7jg2QQooW8dlnn/GHP/yBESNGEBwcjLe3N76+vkbHMj0ppGh2H3zwAVOnTmXMmDG88847WK1W3N3djY7lEKSQolmtWbOGBQsWMHz4cEJCQvDx8ZH9xrsghRTNwmq1MmvWLLZt28bjjz9OSEgIEydOlDLeJSmkuGcnTpwgOTmZS5cuMXLkSMrLy6msrKRLly5GR3M4UkjRZDdu3ODtt98mLS2N1NRUzpw5g1KKt956iytXrnDfffcZHdHhSCHFXauqquKTTz5h4cKF9OjRgzFjxlBaWsqsWbOorKykdevWtG7d2uiYDkkKKRpFa01JSQlr165l9erVhISEEBcXxwMPPMCJEyf4/vvv8fPzw9/f3+ioDk2O0oofqX1bUK0133//PZ9++il9+vShffv2rFmzhscff5ytW7cSFBTE2bNnmTt3Li+++KKUsRnICCnQWqOUoqqqisWLF3P27FkAMjMzuXz5MoMHDyYsLIzY2Fg8PT2prKwEYMGCBZw5c8alr21sblJIF1NTvpo/nz59mnnz5nHs2DEKCgoACAkJISkpiaFDh+Lr68u8efNo1aoVp06dIioqitOnT9O+fXsAAgICDNsWZySFdBE1RVy1ahVXrlyhtLSUDz/8kKtXrxIeHk54eDgZGRlERESQn5/PkCFDuHDhAqdOnbp1+KJt27YABAcHG7kpTk0K6eRqipiWlkZeXh47duyguLiYpKQk4uLi8PPz4ze/+Q1VVVXExcUB0LFjRwDCwsIICwszMr7LkUI6ucWLF3P48GGys7MJDQ0lJSWFgQMHEhcXx7lz5ygoKGDw4MFGxxQ2UkgndfHiRZYvX87q1auJiopiw4YNtG/fngEDBtx6TYcOHeTqfZORQjqZq1evkpaWxooVK4iNjSUzMxNfX18sFovR0UQjSCGdhNaa9evXM2XKFKKionjqqacICAggOjqadu3aGR1PNJIU0gkUFBSQkJBAeXk5Q4cOpVOnTkybNo3S0lIpo4ORQjowrTVr1qwhNTWVnj17EhMTw8yZMykpKaF79+5GxxNNIIV0UJcvX+Z3v/sdhw8f5umnn2bGjBmUl5cTERFhdDRxD+RcVgeUk5NDREQE58+fZ/jw4bi7uxMSEkLv3r2NjibukYyQDmbjxo1MnTqVhx9+mOjoaObMmUNRUZGc2O0kpJAOQmvN0qVLSUtLIykpiSVLllBeXk67du1k4caJSCEdgNaalJQUdu7cybhx4/Dz8yMoKIhWrVoZHU00MymkyVVXV/Pcc8+RmZnJuHHjmDNnDmVlZVJGJyWFNDGtNVOmTOH48eOMHDkSpRQBAQEyRXViUkgTmz59OhkZGTz99NPMnTuXsrIyvLy8jI4lWpAU0qTefvttdu3axRNPPAFAmzZtCAkJMTiVaGlyHNKEMjIyePPNNxk8eDCBgYFMmjRJbqnoIqSQJnPs2DEmTpzI+vXr8fHxoaqqivvvv9/oWMJOGpyyKqUCgCQgH4jUWqfbnh8DFAMBQL7W+mhLBnUF165dY8SIEfTt25ft27ezePFiSktL5Xb8LqQx+5CbtNaJAEqpTUC6raSJWusXaj0/tuViuoZp06bx0EMP4efnh9VqxdfXV87AcTH1TlmVUv24OQoCoLWuKV1S7edrvVY00aZNm8jOzsbf3x8/Pz9eeuklPDxkzc3VNLQPaQGKlFIJSqkxtmkq3Jymnqz1uiIg8vZPVko9r5TKUUrlFBYWNk9iJ1RYWMjvf/97Vq1ahYeHB1VVVbduNCVcS0M/ggOAIK11FoBSaqdSqtH7irb9zXQAi8WiG3i5y5o4cSIdO3bk4MGDvPXWW1y7dk1+9beLaui7nm/7r0YxN0fCmsWcGkG3vU40UnZ2Nrm5ucTExHD9+nXc3d3l5sMurKFCZvHjqWgkN4u3EYiq9XyArLLevaqqKiZNmkRMTAyRkZEsW7bs1l3FhWuqd8qqtS5WSm1QSj1ve+oNrXU+3FxZVUol2J5f3pIhndXq1avx9/enR48eVFRUyMF/0fBhD6315js8n9X8cVzHkSNHmDt3LsnJyaxcudLoOMIkZOXAIH//+98JCgoiPDz8R78CTrg2KaQBDh06xMqVK3nqqaeYP3++7DeKW6SQBti/fz8+Pj507NhRRkfxI3IqiJ0dPHiQlStX8uSTTzJz5kyj4wiTkRHSziorKykpKaFXr14yOoqfkBHSzj755BMmTJjAyy+/bHQUYUIyQtpRdnY2H3/88a3fRCzE7aSQdlRSUoK7uzt+fn4yXRV1kkLa0YYNG+jatSvBwcFyqEPUSQppJ1prDh06RGRkJFprGSFFnaSQdrJlyxbOnj3LyJEj+e1vfysjpKiTFNJOzp8/T6dOnVBKyego7kgOe9iB1pqcnBx+/etfk5ycbHQcYWIyQtrB7t27yczMxGq1Gh1FmJwU0g46d+5MUVERoaGhMl0V9ZJC2kFubi4eHh60a9dOFnNEvaSQdnDjxg2Cg4PlcIdokBTSDqxWK7GxsTz55JMyQop6SSHt4B//+AenT59m+/btRkcRJieFtIPKykqCgoJkyioaJIW0A601CQkJMmUVDZJC2sGJEyfYu3evTFlFg6SQduDu7k6bNm3ktDnRICmkHXh5eZGQkMCwYcNkyirqJYW0g6KiIjIyMsjMzDQ6ijA5KaQd+Pn5UVZWhtVqlSmrqJcU0g6qq6txd3fHy8tLpqyiXlJIO2jbti1ubm54eXnJCCnqJddD2kH37t0pLS3lF7/4hYyQol4yQtrB5cuXyc7OlkUd0SAppB106dKF4uJivLy8jI4iTE4KaQdt2rShtLRU7hggGiSFbGFaa7p168a1a9c4d+4c1dXVRkcSJiaFbGFKKYYNG0ZYWBiZmZmyHynqJYW0A601Xbt25cKFC7Rv397oOMLEpJB2oJSie/fuFBUVcenSJaPjCBOTQtqB1pro6GgKCwvp3Lmz0XGEiUkh7UApRUpKCh4eHhQUFMjZOuKOGn2mjlJqDFCstc6q/RgIAPK11kdbJqJzcHNzo0ePHrz++ut4enqSmJhodCRhQo0aIZVSAcC42x4naq2ztNabgdQWyuc0tNb069ePs2fPcv36dRklRZ0aO2W1AEdqPU7i5uh4i1KqX3OFckZKKZYtW0ZhYSEbNmxg9+7dRkcSJtRgIZVSCTXT1FoCgJO1HhcBkc0ZzBn5+vrSu3dvLl68SJcuXYyOI0yo3kLapqb5dsri9JRSLFq0iKKiIrlYWdSpoRHSAkQqpRKA/kCiUiqSHxZzagRRR3GVUs8rpXKUUjmFhYXNldmhPfroo5w8eZJXX32VvXv3Gh1HmEy9hbQt2mTZpqz5wE6tdT6wEYiq9dKAulZZtdbpWmuL1toSGhrarMEdlbu7O0OHDuXYsWNGRxEm1KjDHrYFmwRujpb5Wut8pdQm28gJsLzFEjoZpRTvvvsuERERrF27Fjc3N+Lj442OJUyiUYW0jX6xtz13+0KPaKTQ0FAsFgtff/01Hh5y0wbxAzlTxwBKKT788EOOHz9Oeno6Bw4cMDqSMAkppEE6d+7Mz372M/Ly8oiIiDA6jjAJKaRBlFJ8+umnnDhxgnPnzhkdR5iEFNJAHTt2JDY2lgkTJvDPf/7T6DjCBKSQBtJaM3ToUAoKCrh48aLRcYQJSCENpJRi3rx5JCQkMGPGDHJycoyOJAwmhTSY1pqHH36Yixcvcvz4caPjCINJIQ2mlGLu3LkMHz6clJQUcnNzjY4kDCSFNAGtNTExMVRWVnLw4EHkvF/XJaeJmIBSitTUVCwWC+PHjycvL4/JkyfTp08fo6MJO5MR0kQSEhIICgriyy+/xM/Pz+g4wgBSSBNRSrFt2za++uorXn/9df71r38ZHUnYmRTSZHr27EmvXr04fPgwrVu3NjqOsDMppAlt376dU6dOMXfuXP79738bHUfYkRTShIKDgxkyZAgHDhygU6dORscRdiSFNKmMjAx8fX357LPPjI4i7EgKaVIeHh488sgjTJs2jSNHjjT8CcIpSCFNLDw8nLCwMNatW0dxcXHDnyAcnhTSxF577TV2797NX//6V6ZPn05eXp7RkUQLk0KaXIcOHXjooYfYs2cP/v7+RscRLUwK6QC++OILrl+/zqRJkzh8+DDXrl0zOpJoIVJIB+Dp6UlCQgL79u1j48aNzJ8/Xy7VclJSSAexfv16kpKSyM7OpqKigoCAgIY/STgcKaQDSUtL49y5c1RWVrJs2TIZJZ2QFNKBBAcHk5aWxueffw7cvEmWcC5SSAeTnJxMTEwMgYGBVFZWGh1HNDO5QNnB1PxukJiYGAoKCkhNTSU6OtroWKKZyAjpgKKiohg4cCB79uzB09NTzuJxIlJIB7Vjxw7atWtHSkoKCxYs4OuvvzY6kmgGUkgH5eHhwdq1a9m5cyfl5eV07tzZ6EiiGUghHdiDDz7I7NmzKSgooKKiwug4ohlIIR1camoqeXl5jB8/nq+++sroOOIeSSEdnKenJyNGjODAgQOUlJQYHUfcIymkg6s5DBIXF8czzzzDl19+aXQkcQ+kkE5Aa82gQYMoLy8nIyPD6DjiHsiJAU5AKcXChQspKSnhjTfeIDY2lieeeMLoWKIJZIR0ElprAgMD6d+/P6+99hqXLl0yOpJoAimkk1BKMX/+fPbs2cP58+dl1dVBSSGdjJubG4899hhHjhyhffv2RscRd0kK6WSUUqSnpzNgwADWrl1rdBxxl6SQTqp3794sWbKEffv2GR1F3IUGV1mVUmNsf+wPHNFab671fDEQAORrrY+2WEpxV7TWhISE0LVr11vHKIVjqHeEVEr1A4q11pu11q8A7ymlApRSAUCi1jrLVtBUe4QVjVOzwDNhwgS2bt3K+++/b3Qk0UgNTVkjgcRaj4tszyVxc3S8xVZeYRJaa7y9vRk0aBBLly6lvLzc6EiiEeotZK2REduoiG1qGgCcrPXSmqIKk1BK8dJLL/Hoo4/i6elJcnKy0ZFEI9zNos5yfjxaNkgp9bxSKkcplVNYWHh3ycQ901pz48YNEhMTOXr0KH/5y1+MjiQa0KhT52wLOMu11vm2p2oWc2oEAfm3f57WOh1IB7BYLPreooq7pZRi3rx5AEyZMoUZM2bg5uZGcnIy3t7eBqcTdWlwhFRKJQBHtdb5tgWdSGAjEFXrZQGyympubdq0ITExkZdffpnJkydz+vRpoyOJOiit7zxw2RZqNvHDAk6k1jrQ9rGE2q/VWmfV94UsFovOycm5t7Tinmiteeyxxzh06BDZ2dn07t0bT09Po2O5HKVUrtbaUtfH6p2y2ka9qDt8rN4CCvNRSrF161bS09MZOnQoo0ePZtmyZXKKnYnImTouxsfHh2nTpmGxWNiwYQP5+flUV1cbHUvYSCFdkLu7Oxs3bmT16tUkJiYyatQovvvuO+rbfRH2IYV0UUFBQYwfP54RI0aQlZXFyJEjmTlzpty9zmD1Luo0J1nUMacLFy5QVlZGfHw8Hh4ejBs3jurqatLS0lBKGR3PKdW3qCMjpIsLCwsjKiqKXbt2MWTIEN5//32uXLmC1lqmsAaQQgoAevTowbp160hOTmbPnj2kpKQwe/ZsrFar0dFcihRS3KKUYuXKlYwdO5aPP/6YkpISGSXtTAopfmLZsmUMGjSIffv28corr/Dtt98aHcllSCHFTyil+OijjygsLOTo0aN4eXkZHcllSCFFnfz8/Ni8eTO5ubnMmTOHb775xuhILkEKKe4oPj6e6OhoDh48SKdOnYyO4xKkkKJeO3fu5H//+x/Hjh0zOopLkEKKegUGBtKnTx+effZZcnNzjY7j9KSQol5aawYOHMjx48eprKw0Oo7Tk0KKeimlWL58OeHh4SxatIj9+/cbHcmpSSFFg7TW9OnThwsXLhAREWF0HKcmhRQNUkoxc+ZMlFJcunRJzt5pQVJI0Sh9+/YlLy+Pd955hx07dhgdx2lJIUWjeHt7ExgYiJubG507dzY6jtOSQopGUUoRGRnJgAED6Natm9FxnJYUUjRaVVUVmzdv5osvvjA6itOSQopG0VqjlMLX15fQ0FCj4zgtKaRoFKUU/v7+xMfHExMTY3QcpyWFFI124sQJsrOzZZW1BUkhRaNorbl48SIdO3bE29tbjkW2kEb9sh0hzp8/T6tWrXj22Wfp1q2b3JGuhcgIKRpl7969dO/enT//+c9kZmYaHcdpSSFFo+zatYuePXvi7e2Nm5ubTFlbiBRSNKiiooLNmzdTWlrKI488wqhRo2TK2kKkkKJB27Zt4/777ycoKEhuoNzCpJCiXlprFi5cSFBQEP379+eZZ56R0bEFSSFFvT7//HOUUsTExFBdXS2jYwuTwx7ijioqKpg9ezazZs1i+PDhtG3b1uhITk9GSHFHixYtIjw8nCNHjrBlyxaj47gEKaSoU1ZWFuvWrePVV18F4MaNGzJdtQMppPiJb775hvHjx5OSksKmTZuIjo5m+vTpsphjB1JI8SNHjx4lPj6eBx98kKtXr+Lt7Y3VapXR0U5kUUcAUFZWxt/+9jdefPFF4uLi6NmzJ56enqxYsUJGRjuSQgpOnjzJtGnT2Lt3L/Hx8cTGxrJ06VKjY7kkKaQLs1qtnDt3jiVLlnDw4EHGjBnDunXrZEQ0UJP3IZVSY5RSCbb/92vOUKJlaa3573//yy9/+Ut69eqFn58fp06dYs2aNVJGgzWpkEqpACBRa52ltd4MpDZvLNEc6lqI+c9//kNcXBx9+/YlPz+f0aNH88c//pGAgADuu+8+A1KK2po6ZU0Cims/oZTqp7U+eu+RRFPU3ISq9p9XrFhBZWUlkZGRrFq1ioKCAsrKyggPD2fUqFG8++67VFRU4O7ubnB6UaOphQwATtZ6XAREAlJIO5s8eTI7duzAarXi6+tLYGAghYWFVFRUUFhYSHV1NRaLBavVSr9+/VizZg1t2rTh22+/xcfHBx8fH6M3QdTSoos6SqnngecBudt1C7lx4wYA1dXVhIaGMmHCBLKysrBarTz33HOEhIQwYMAArl27xpkzZ27dwrFLly5GxhZ30NRCFnNzlKwRBOTf/iKtdTqQDmCxWOTIcgsYO3YsYWFh+Pj40LNnT371q1+RkJBAQUEBP//5z29NY1u3bs0DDzxgcFrRENWUMzBsizrLtdYv2B7v1FonNvA5hcDpJqVsOSHAd0aHaAayHebS0HZ00VrXebfpJhUSQCmVUPux1jqrSX+RgZRSOVpri9E57pVsh7ncy3Y0eR/SEQsohNnJyeVCmIirFzLd6ADNRLbDXJq8HU3ehxRCND9XHyGFMBW52kOIZqCUGgMU1yx21jzm5vH6/MaeViqFdGBN/aabgS07QH/giO0iBYfcJttx+XHAX2o9Tqx1nH4TMLYxf5fLFtLR3xD38k03mu1yvZrRZLNS6rJSquYwmiNukwU4Uutxky++cMl9yFpviM1a61eA95RSAQ52WVmd33SDstytSKD2mV01Fyc43DYppRLqOCZ/p4svGuSShcQ53hBN/qYbrdYPwpqRHtvo4VDbZMv+k3O474VLTllto1/NFPXWG8J2OqBcVmZfy/nxD0dHYgFQSkVyc9cnWCmVTyMvvqiLSxbyNo76hmjyN90sbPvry7XWNbkdaptqT1WVUonATq11vlJqIzffVzUCXHqV1XYdZsAdPpyutS62vc6R3xBN/qabgW02ctT2Bg7g5r+1Q26TbbcmAYhUSuXbtmlTrQswltfz6T/+u1z1TB3bP1b+bW+IIu7ysjIjOeoVN7Y38CZ+2F+P1FoH2j7mkNvUXFyykPKGEGblkoUUwqxc9bCHEKYkhRTCRKSQQpiIFFIIE5FCCmEiUkghTEQKKYSJ/B/Cr0KGqpzodQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "params = [P_sqrt, q]\n", + "opt = torch.optim.SGD(params, lr=.1)\n", + "losses = []\n", + "for k in range(100):\n", + " with torch.no_grad():\n", + " test_loss, X, U = loss(100, 4, P_sqrt.detach(), q.detach(), seed=0)\n", + " losses.append(test_loss)\n", + " print(\"it: %03d, loss: %3.3f\" % (k+1, test_loss.item()))\n", + " opt.zero_grad()\n", + " l, _, _ = loss(100, 1, P_sqrt, q, seed=k+1)\n", + " plt.show()\n", + " l.backward()\n", + " torch.nn.utils.clip_grad_norm_(params, 10)\n", + " opt.step()\n", + " latexify(fig_width=3.5, fig_height=3.5)\n", + " plot_path(X[:,0,:])\n", + " plt.savefig(\"figs/vehicle_%03d.pdf\" % (k+1))\n", + " plt.show()\n", + " plt.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [], + "source": [ + "losses_monte_carlo_trained = [loss(100, 1, P_sqrt.detach(), q.detach(), seed=1000+k)[0] for k in range(100)]" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib\n", + "latexify(fig_width=4)\n", + "plt.hist(losses_monte_carlo_untrained, bins=30, alpha=.5, label='untrained', color='tab:blue')\n", + "plt.hist(losses_monte_carlo_trained, bins=30, alpha=.5, label='trained', color='tab:orange')\n", + "plt.axvline(np.mean(losses_monte_carlo_untrained), color='tab:blue')\n", + "plt.axvline(np.mean(losses_monte_carlo_trained), color='tab:orange')\n", + "plt.xscale('log')\n", + "plt.legend()\n", + "plt.xlabel('cost')\n", + "plt.ylabel('count')\n", + "plt.xlim(.3, 20)\n", + "plt.subplots_adjust(bottom=.2)\n", + "plt.savefig('vehicle_hist.pdf')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.055302906518939" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.mean(losses_monte_carlo_untrained)" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.9117198912530743" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.mean(losses_monte_carlo_trained)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[ 1.0007, -0.0456, -0.0100, -0.0290],\n", + " [-0.0456, 1.0407, 0.1651, -0.0178],\n", + " [-0.0100, 0.1651, 1.0839, 0.0905],\n", + " [-0.0290, -0.0178, 0.0905, 0.9606]], grad_fn=)" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "P_sqrt.t() @ P_sqrt" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([ 5.7754e-08, -2.1659e-02, -2.1434e-03, -1.3255e-02],\n", + " requires_grad=True)" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "q" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for i in range(3):\n", + " plt.title(([\"e\", \"dpsi\", \"v\"])[i])\n", + " plt.plot(np.array(X)[:, 0, i])\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for i in range(2):\n", + " plt.title(([\"a\", \"z\"])[i])\n", + " plt.plot(np.array(U)[:, 0, i])\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "@webio": { + "lastCommId": null, + "lastKernelId": null + }, + "kernelspec": { + "display_name": "Python 3", + "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.7.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}