From 4913bbbdd8e3971940c542fd39d980e314a52afd Mon Sep 17 00:00:00 2001 From: Francois Fleuret Date: Tue, 19 Jul 2022 07:15:49 +0200 Subject: [PATCH 1/1] Initial commit --- understanding.ipynb | 403 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 403 insertions(+) create mode 100644 understanding.ipynb diff --git a/understanding.ipynb b/understanding.ipynb new file mode 100644 index 0000000..98cc1a5 --- /dev/null +++ b/understanding.ipynb @@ -0,0 +1,403 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a4e1cad9", + "metadata": { + "scrolled": true + }, + "source": [ + "Any copyright is dedicated to the Public Domain.\n", + "https://creativecommons.org/publicdomain/zero/1.0/\n", + "\n", + "Written by Francois Fleuret\n", + "https://fleuret.org/francois" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "b0f4c709", + "metadata": {}, + "outputs": [], + "source": [ + "import math\n", + "\n", + "import torch\n", + "import torch.nn.functional as F\n", + "from torch import nn\n", + "\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "2045fb7d", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "mappings = [\n", + " lambda x: x,\n", + " lambda x: torch.sin(x * math.pi),\n", + " lambda x: torch.cos(x * math.pi),\n", + " lambda x: torch.sigmoid(5 * x) * 2 - 1,\n", + " lambda x: 0.25 * x + 0.75 * torch.sign(x),\n", + " lambda x: torch.ceil(x * 2) / 2,\n", + "]\n", + "\n", + "mapping_names = [ 'id', 'sin', 'cos', 'sigmoid', 'gap', 'stairs', ]\n", + "\n", + "x = torch.linspace(-1, 1, 250)\n", + "\n", + "for f, l in zip(mappings, mapping_names):\n", + " plt.plot(x, f(x), label = l)\n", + "\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "601b926f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tensor([[1., 1., 1., 1., 1., 1.],\n", + " [1., 1., 1., 1., 1., 1.],\n", + " [1., 1., 1., 1., 1., 1.],\n", + " [1., 1., 1., 1., 1., 1.],\n", + " [1., 1., 1., 1., 1., 1.],\n", + " [1., 1., 1., 1., 1., 1.]])\n", + "tensor([[1., 0., 0., 0., 1., 1.],\n", + " [1., 1., 0., 0., 0., 1.],\n", + " [1., 1., 1., 0., 0., 0.],\n", + " [0., 1., 1., 1., 0., 0.],\n", + " [0., 0., 1., 1., 1., 0.],\n", + " [0., 0., 0., 1., 1., 1.]])\n", + "tensor([[1., 1., 1., 0., 0., 0.],\n", + " [1., 1., 1., 0., 0., 0.],\n", + " [1., 1., 1., 0., 0., 0.],\n", + " [0., 0., 0., 1., 1., 1.],\n", + " [0., 0., 0., 1., 1., 1.],\n", + " [0., 0., 0., 1., 1., 1.]])\n", + "tensor([[1., 0., 1., 0., 1., 0.],\n", + " [0., 1., 0., 1., 0., 1.],\n", + " [1., 0., 1., 0., 1., 0.],\n", + " [0., 1., 0., 1., 0., 1.],\n", + " [1., 0., 1., 0., 1., 0.],\n", + " [0., 1., 0., 1., 0., 1.]])\n" + ] + } + ], + "source": [ + "def comp(n1, n2, x):\n", + " return mappings[n2](mappings[n1](x))\n", + "\n", + "def create_set(nb, probas):\n", + " probas = probas.view(-1) / probas.sum()\n", + " x = torch.rand(nb) * 2 - 1\n", + " y = x.new(x.size(0), len(mappings)**2)\n", + " for k in range(len(mappings)**2):\n", + " n1 = k // len(mappings)\n", + " n2 = k % len(mappings)\n", + " y[:, k] = comp(n1, n2, x)\n", + " a = torch.distributions.categorical.Categorical(probas).sample((nb,))\n", + " # y[n][m] = y[n, a[n][m]]\n", + " y = y.gather(dim = 1, index = a[:, None])\n", + " a1 = F.one_hot(a.div(len(mappings), rounding_mode = 'floor'), num_classes = len(mappings))\n", + " a2 = F.one_hot(a%len(mappings), num_classes = len(mappings))\n", + " x = torch.cat((x[:, None], a1 * 2 - 1, a2 * 2 - 1), 1)\n", + " \n", + " return x, y\n", + "\n", + "probas_uniform = torch.full((len(mappings), len(mappings)), 1.0)\n", + "\n", + "a = torch.arange(len(mappings))\n", + "\n", + "probas_band = ((a[:, None] - a[None, :])%len(mappings) < len(mappings)/2).float()\n", + "\n", + "probas_blocks = (\n", + " a[:, None].div(len(mappings)//2, rounding_mode = 'floor') -\n", + " a[None, :].div(len(mappings)//2, rounding_mode = 'floor') == 0\n", + ").float()\n", + "\n", + "probas_checkboard = ((a[:, None] + a[None, :])%2 == 0).float()\n", + "\n", + "print(probas_uniform)\n", + "print(probas_band)\n", + "print(probas_blocks)\n", + "print(probas_checkboard)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "16ec81ec", + "metadata": {}, + "outputs": [], + "source": [ + "def train_model(probas_train, probas_test, nb_samples = 100000, nb_epochs = 25):\n", + "\n", + " dim_hidden = 64\n", + "\n", + " model = nn.Sequential(\n", + " nn.Linear(1 + len(mappings) * 2, dim_hidden),\n", + " nn.ReLU(),\n", + " nn.Linear(dim_hidden, dim_hidden),\n", + " nn.ReLU(),\n", + " nn.Linear(dim_hidden, 1),\n", + " )\n", + "\n", + " batch_size = 100\n", + "\n", + " train_input, train_targets = create_set(nb_samples, probas_train)\n", + " test_input, test_targets = create_set(nb_samples, probas_test)\n", + " train_mu, train_std = train_input.mean(), train_input.std()\n", + " train_input = (train_input - train_mu) / train_std\n", + " test_input = (test_input - train_mu) / train_std\n", + "\n", + " for k in range(nb_epochs):\n", + " optimizer = torch.optim.Adam(model.parameters(), lr = 1e-2 /(k + 1))\n", + "\n", + " acc_train_loss = 0.0\n", + "\n", + " for input, targets in zip(train_input.split(batch_size),\n", + " train_targets.split(batch_size)):\n", + " output = model(input)\n", + " loss = F.mse_loss(output, targets)\n", + " acc_train_loss += loss.item() * input.size(0)\n", + "\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " \n", + " acc_test_loss = 0.0\n", + "\n", + " for input, targets in zip(test_input.split(batch_size),\n", + " test_targets.split(batch_size)):\n", + " output = model(input)\n", + " loss = F.mse_loss(output, targets)\n", + " acc_test_loss += loss.item() * input.size(0)\n", + "\n", + " #print(f'loss {k} {acc_train_loss/train_input.size(0):f} {acc_test_loss/test_input.size(0):f}')\n", + "\n", + " return train_mu, train_std, model\n", + "\n", + "def prediction(model, mu, std, n1, n2, x):\n", + " h1 = F.one_hot(torch.full((x.size(0),), n1), num_classes = len(mappings)) * 2 - 1\n", + " h2 = F.one_hot(torch.full((x.size(0),), n2), num_classes = len(mappings)) * 2 - 1\n", + " input = torch.cat((x[:, None], h1, h2), dim = 1)\n", + " input = (input - mu) / std\n", + " return model(input).view(-1).detach()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "2aad3e36", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAECCAYAAADXWsr9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAKD0lEQVR4nO3d32tehR3H8c/HtEOpDi+SSTG13cUQRJiOZ2UQGKw46VTcLhX0SsjNBpUNZF76D4g3uwkq29ApggrDOWdBi3RoNa3VWeOGiG6lQhJEtDcbbT+7yBMoNV1OzDk5p/u+XxCatOHJh7bvnOdHnuc4iQD8f7us7wEAukfoQAGEDhRA6EABhA4UQOhAAYMN3fZ+23+3/aHtXw9gz+O2F22/1/eWVbZ32X7V9oLtE7YPDGDT5bbftP3OeNNDfW9aZXvC9tu2X+h7yyrbH9v+m+3jtuc7+zpDfBzd9oSkf0j6saSTkt6SdHeS93vc9ENJpyX9PsmNfe04n+2dknYmOWb7KklHJf2s578nS9qR5LTt7ZIOSzqQ5I2+Nq2y/UtJI0nfTHJH33ukldAljZIsd/l1hnpE3yvpwyQfJfmPpKcl/bTPQUlek/RZnxsulOTTJMfG738paUHStT1vSpLT4w+3j996P5rYnpZ0u6RH+97Sh6GGfq2kf5338Un1/B946GzvkXSzpCM9T1m9inxc0qKkg0l63yTpEUkPSDrX844LRdLLto/anu3qiww1dK/xe70fFYbK9pWSnpV0f5Iv+t6T5GySmyRNS9pru9ebOrbvkLSY5GifOy5iJsn3JP1E0s/HNxFbN9TQT0radd7H05JO9bRl0Ma3g5+V9GSS5/rec74kn0s6JGl/v0s0I+nO8e3hpyXts/1Ev5NWJDk1/nVR0vNaudnauqGG/pak79j+tu1vSLpL0h973jQ44zu+HpO0kOThvvdIku0p21eP379C0i2SPuhzU5IHk0wn2aOV/0uvJLmnz02SZHvH+E5U2d4h6VZJnTyqM8jQk5yR9AtJf9HKHUzPJDnR5ybbT0l6XdL1tk/avq/PPWMzku7VyhHq+Pjttp437ZT0qu13tfIN+2CSwTycNTDXSDps+x1Jb0r6U5KXuvhCg3x4DUC7BnlEB9AuQgcKIHSgAEIHCiB0oIBBh97ljwR+XUPcJA1zF5ua2YpNgw5d0uD+UTTMTdIwd7GpmfKhA2hBJz8wMzk5md2792z6cpaWlzQ1ObX5QS0a4iZpmLsqbGqjnuXlJU22tOmfn3ys5eXlrzwpbFsrl36B3bv36K9HOnuxDGAwhvaTpTM/+P6av89Vd6AAQgcKIHSgAEIHCiB0oABCBwogdKAAQgcKIHSgAEIHCiB0oABCBwogdKCARqEP7VzlADZm3dDH5yr/jVZOAneDpLtt39D1MADtaXJEH9y5ygFsTJPQOVc5cIlrEnqjc5XbnrU9b3t+aXlp88sAtKZJ6I3OVZ5kLskoyWhorxMGVNckdM5VDlzi1n1xyCRnbK+eq3xC0uN9n6scwMY0ehXYJC9KerHjLQA6wk/GAQUQOlAAoQMFEDpQAKEDBRA6UAChAwUQOlAAoQMFEDpQAKEDBRA6UECjJ7UAfTtz9lzfE9Y0cdlar8syPBzRgQIIHSiA0IECCB0ogNCBAggdKIDQgQIIHSiA0IECCB0ogNCBAggdKIDQgQIIHSiA0IEC1g3d9uO2F22/txWDALSvyRH9t5L2d7wDQIfWDT3Ja5I+24ItADrCbXSggNZCtz1re972/NLyUlsXC6AFrYWeZC7JKMloanKqrYsF0AKuugMFNHl47SlJr0u63vZJ2/d1PwtAm9Z9Xfckd2/FEADd4ao7UAChAwUQOlAAoQMFEDpQAKEDBRA6UAChAwUQOlAAoQMFEDpQAKEDBRA6UMC6z14DcHFJ3wua4YgOFEDoQAGEDhRA6EABhA4UQOhAAYQOFEDoQAGEDhRA6EABhA4UQOhAAYQOFEDoQAFNzqa6y/arthdsn7B9YCuGAWhPk+ejn5H0qyTHbF8l6ajtg0ne73gbgJase0RP8mmSY+P3v5S0IOnarocBaM+GbqPb3iPpZklHOlkDoBONQ7d9paRnJd2f5Is1/nzW9rzt+aXlpTY3AtikRqHb3q6VyJ9M8txan5NkLskoyWhqcqrNjQA2qcm97pb0mKSFJA93PwlA25oc0Wck3Stpn+3j47fbOt4FoEXrPryW5LAkb8EWAB3hJ+OAAggdKIDQgQIIHSiA0IECCB0ogNCBAggdKIDQgQIIHSiA0IECCB0ogNCBApq8OCTQu20THJOauNjTTPnbAwogdKAAQgcKIHSgAEIHCiB0oABCBwogdKAAQgcKIHSgAEIHCiB0oABCBwogdKCAJqdNvtz2m7bfsX3C9kNbMQxAe5o8H/3fkvYlOW17u6TDtv+c5I2OtwFoSZPTJkfS6fGH28dv6XIUgHY1uo1ue8L2cUmLkg4mOdLpKgCtahR6krNJbpI0LWmv7Rsv/Bzbs7bnbc8vLS+1PBPAZmzoXvckn0s6JGn/Gn82l2SUZDQ1OdXOOgCtaHKv+5Ttq8fvXyHpFkkfdLwLQIua3Ou+U9LvbE9o5RvDM0le6HYWgDY1udf9XUk3b8EWAB3hJ+OAAggdKIDQgQIIHSiA0IECCB0ogNCBAggdKIDQgQIIHSiA0IECCB0ogNCBApo8TXXDImnlpeaGw3bfEy4ZQ/u3G7JL5f8VR3SgAEIHCiB0oABCBwogdKAAQgcKIHSgAEIHCiB0oABCBwogdKAAQgcKIHSgAEIHCiB0oIDGoduesP22bU6ZDFxiNnJEPyBpoashALrTKHTb05Jul/Rot3MAdKHpEf0RSQ9IOnexT7A9a3ve9vzy8lIb2wC0ZN3Qbd8haTHJ0f/1eUnmkoySjCYnp1obCGDzmhzRZyTdaftjSU9L2mf7iU5XAWjVuqEneTDJdJI9ku6S9EqSezpfBqA1PI4OFLCh13VPckjSoU6WAOgMR3SgAEIHCiB0oABCBwogdKAAQgcKIHSgAEIHCiB0oABCBwogdKAAQgcKIHSggA09e60pS7LdxUV/bWfPpe8Ja0qGt2vbxPC+/w/x7+lSMrx/UQCtI3SgAEIHCiB0oABCBwogdKAAQgcKIHSgAEIHCiB0oABCBwogdKAAQgcKIHSggEZPUx2fG/1LSWclnUky6nIUgHZt5PnoP0qy3NkSAJ3hqjtQQNPQI+ll20dtz3Y5CED7ml51n0lyyva3JB20/UGS187/hPE3gFlJ2nXddS3PBLAZjY7oSU6Nf12U9LykvWt8zlySUZLR1ORUuysBbMq6odveYfuq1fcl3Srpva6HAWhPk6vu10h6fvyqrtsk/SHJS52uAtCqdUNP8pGk727BFgAd4eE1oABCBwogdKAAQgcKIHSgAEIHCiB0oABCBwogdKAAQgcKIHSgAEIHCiB0oAAnaf9C7SVJn7RwUZOShvaClEPcJA1zF5uaaXPT7iRfeeWXTkJvi+35ob209BA3ScPcxaZmtmITV92BAggdKGDooc/1PWANQ9wkDXMXm5rpfNOgb6MDaMfQj+gAWkDoQAGEDhRA6EABhA4U8F/hqnurqd/sYAAAAABJRU5ErkJggg==\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" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAECCAYAAADXWsr9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAALOElEQVR4nO3dX2id9R3H8c9nsbPSVlqbTLu2NMI2UYTpiPUi4LbitFNxuxrKlIFKbiZUNnDz0ttdiBfupmiZQ6cIKgx1zoJ2TnFt01qdbeoQ182sHUn6BxvRztbvLnIKbXNcnjTPk9/jvu8XhCYxPPkQ++5z/uSc44gQgP9vXyo9AEDzCB1IgNCBBAgdSIDQgQQIHUigtaHbXm/7Xdvv2f5lC/Zssj1m+53SW06yvdr2K7ZHbO+2vaEFmxba3mb7rc6m+0tvOsl2j+03bT9XestJtvfZ/qvtXbaHG/s+bbwf3XaPpL9J+p6kUUnbJd0aEXsKbrpG0qSk30bE5aV2nMr2CkkrImKn7SWSdkj6YeGfkyUtiohJ2wskvSZpQ0T8pdSmk2z/TNKApPMj4qbSe6Sp0CUNRMREk9+nrWf0tZLei4j3I+I/kp6U9IOSgyLiVUmHSm44U0QciIidnfePShqRtLLwpoiIyc6HCzpvxc8mtldJulHSw6W3lNDW0FdK+uCUj0dV+C9w29nul3SlpK2Fp5y8iLxL0pikzRFRfJOkByXdK+mzwjvOFJJesr3D9lBT36StobvL54qfFdrK9mJJT0u6JyI+LL0nIk5ExBWSVklaa7voVR3bN0kai4gdJXd8jsGI+Jak70v6aecqYu3aGvqopNWnfLxK0v5CW1qtcz34aUmPR8QzpfecKiKOSNoiaX3ZJRqUdHPn+vCTktbZfqzspCkRsb/z55ikZzV1tbV2bQ19u6Sv277Y9pcl3SLp94U3tU7nhq9HJI1ExAOl90iS7T7bSzvvnyfpWkl7S26KiPsiYlVE9Gvq79LLEXFbyU2SZHtR50ZU2V4k6TpJjdyr08rQI+K4pLsl/VFTNzA9FRG7S26y/YSkNyRdYnvU9p0l93QMSrpdU2eoXZ23GwpvWiHpFdtva+of7M0R0Zq7s1rmQkmv2X5L0jZJz0fEi018o1bevQagXq08owOoF6EDCRA6kAChAwkQOpBAq0Nv8lcCz1YbN0nt3MWmauZjU6tDl9S6/ylq5yapnbvYVE360AHUoJFfmOnt7Y01a/rnfJzxiXH19fbNfZCk8Y+O1XKcySOHtHjpBbUcS5L6Fp1by3Hq/FmdqOnvxMGJCS3v7a3lWD3u9jin2avz5yRJH396Ys7HOHzwoJYtX17DGmn/6D915NDBaT+sc2o5+hnWrOnX61sbe7KMs/Lw1r+XntDVXVdfXHrCNJOfHC89YZrFCxv5qzpnu0eLP1jwNLff/O2un+eiO5AAoQMJEDqQAKEDCRA6kAChAwkQOpAAoQMJEDqQAKEDCRA6kAChAwkQOpBApdDb9lrlAGZnxtA7r1X+a029CNxlkm61fVnTwwDUp8oZvXWvVQ5gdqqEzmuVA19wVUKv9FrltodsD9seHp8Yn/syALWpEnql1yqPiI0RMRARA3U+JxeAuasSOq9VDnzBzfiMexFx3PbJ1yrvkbSp9GuVA5idSk+tGREvSHqh4S0AGsJvxgEJEDqQAKEDCRA6kAChAwkQOpAAoQMJEDqQAKEDCRA6kAChAwkQOpBApQe1zNbHn57QyL8+bOLQZ+2uqy8uPaGrZVfdXXrCNIe3P1R6wjQv7jlQekJX1196UekJp1m4oKfr5zmjAwkQOpAAoQMJEDqQAKEDCRA6kAChAwkQOpAAoQMJEDqQAKEDCRA6kAChAwkQOpAAoQMJzBi67U22x2y/Mx+DANSvyhn9N5LWN7wDQINmDD0iXpV0aB62AGgI19GBBGoL3faQ7WHbw4cPHazrsABqUFvoEbExIgYiYmDZBcvrOiyAGnDRHUigyt1rT0h6Q9Iltkdt39n8LAB1mvF53SPi1vkYAqA5XHQHEiB0IAFCBxIgdCABQgcSIHQgAUIHEiB0IAFCBxIgdCABQgcSIHQgAUIHEpjx0Wtn47wFPbp05flNHPqs9f340dITujq8/aHSE6bZM/ph6QnTXH/pRaUndHXNr/5UesJp3v330a6f54wOJEDoQAKEDiRA6EAChA4kQOhAAoQOJEDoQAKEDiRA6EAChA4kQOhAAoQOJEDoQAJVXk11te1XbI/Y3m17w3wMA1CfKo9HPy7p5xGx0/YSSTtsb46IPQ1vA1CTGc/oEXEgInZ23j8qaUTSyqaHAajPrK6j2+6XdKWkrY2sAdCIyqHbXizpaUn3RMS05xqyPWR72Pbw+MR4nRsBzFGl0G0v0FTkj0fEM92+JiI2RsRARAz09fbVuRHAHFW51d2SHpE0EhEPND8JQN2qnNEHJd0uaZ3tXZ23GxreBaBGM969FhGvSfI8bAHQEH4zDkiA0IEECB1IgNCBBAgdSIDQgQQIHUiA0IEECB1IgNCBBAgdSIDQgQQIHUigypNDztrkseN6/b2JJg591sYf/0npCV1t2rav9IRp7ljbX3rCNE/t+qD0hK7+/IvvlJ5wmsFnlnT9PGd0IAFCBxIgdCABQgcSIHQgAUIHEiB0IAFCBxIgdCABQgcSIHQgAUIHEiB0IAFCBxKo8rLJC21vs/2W7d2275+PYQDqU+Xx6MckrYuISdsLJL1m+w8R8ZeGtwGoSZWXTQ5Jk50PF3TeoslRAOpV6Tq67R7buySNSdocEVsbXQWgVpVCj4gTEXGFpFWS1tq+/MyvsT1ke9j28JHDB2ueCWAuZnWre0QckbRF0vou/21jRAxExMDSZcvrWQegFlVude+zvbTz/nmSrpW0t+FdAGpU5Vb3FZIetd2jqX8YnoqI55qdBaBOVW51f1vSlfOwBUBD+M04IAFCBxIgdCABQgcSIHQgAUIHEiB0IAFCBxIgdCABQgcSIHQgAUIHEiB0IIEqD1OdtcXnnqPBr/U2ceiztnf/0dITurpjbX/pCdM8v/tA6QnT/OiK1aUndDX5yfHSE05zIro/nSNndCABQgcSIHQgAUIHEiB0IAFCBxIgdCABQgcSIHQgAUIHEiB0IAFCBxIgdCABQgcSIHQggcqh2+6x/aZtXjIZ+IKZzRl9g6SRpoYAaE6l0G2vknSjpIebnQOgCVXP6A9KulfSZ5/3BbaHbA/bHh6fGK9jG4CazBi67ZskjUXEjv/1dRGxMSIGImKgr7evtoEA5q7KGX1Q0s2290l6UtI62481ugpArWYMPSLui4hVEdEv6RZJL0fEbY0vA1Ab7kcHEpjV87pHxBZJWxpZAqAxnNGBBAgdSIDQgQQIHUiA0IEECB1IgNCBBAgdSIDQgQQIHUiA0IEECB1IgNCBBGb16LWqjh3/TPvGP2ri0GftGxctLj2hq2VX3V16wjSHtz9UesI0B458UnpCVyuWLiw94TQ9dtfPc0YHEiB0IAFCBxIgdCABQgcSIHQgAUIHEiB0IAFCBxIgdCABQgcSIHQgAUIHEiB0IIFKD1PtvDb6UUknJB2PiIEmRwGo12wej/7diJhobAmAxnDRHUigaugh6SXbO2wPNTkIQP2qXnQfjIj9tr8iabPtvRHx6qlf0PkHYEiSvrpydc0zAcxFpTN6ROzv/Dkm6VlJa7t8zcaIGIiIgWXLe+tdCWBOZgzd9iLbS06+L+k6Se80PQxAfapcdL9Q0rOeenbJcyT9LiJebHQVgFrNGHpEvC/pm/OwBUBDuHsNSIDQgQQIHUiA0IEECB1IgNCBBAgdSIDQgQQIHUiA0IEECB1IgNCBBAgdSMARUf9B7XFJ/6jhUL2S2vaElG3cJLVzF5uqqXPTmojoO/OTjYReF9vDbXtq6TZuktq5i03VzMcmLroDCRA6kEDbQ99YekAXbdwktXMXm6ppfFOrr6MDqEfbz+gAakDoQAKEDiRA6EAChA4k8F9GmrRAT+S0vwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "def plot_result(probas_train):\n", + " \n", + " train_mu, train_std, model = train_model(\n", + " probas_train = probas_train,\n", + " probas_test = probas_uniform,\n", + " )\n", + "\n", + " e = torch.empty(len(mappings), len(mappings))\n", + "\n", + " x = torch.linspace(-1, 1, 250)\n", + "\n", + " for n1 in range(len(mappings)):\n", + " for n2 in range(len(mappings)):\n", + " gt = comp(n1, n2, x)\n", + " pr = prediction(model, train_mu, train_std, n1, n2, x)\n", + " e[n1, n2] = F.mse_loss(gt, pr)\n", + " \n", + " plt.matshow(e, cmap = plt.cm.Blues, vmin = 0, vmax = 1)\n", + " \n", + "plot_result(probas_uniform)\n", + "plot_result(probas_band)\n", + "plot_result(probas_blocks)\n", + "plot_result(probas_checkboard)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "5e87e14d", + "metadata": {}, + "outputs": [], + "source": [ + "train_mu, train_std, model = train_model(\n", + " probas_train = probas_checkboard,\n", + " probas_test = probas_uniform,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "93234c68", + "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" + }, + { + "data": { + "image/png": "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KuMz9pU1xkPWfNT4kSUCYzyUp2pFQ8Z3LBEY4yG1ISaMD1kiiFGff/45w4cPB2D27NlMnTq12G0PHDjA008/XfA+MzPztHGFTOWxoiHjR5YIKlleXl6Z9xkxYgRTphQ/i2fhRNCiRYvTRhM1lccGnTN+ZInAQ+np6XTq1Inx48fTrVs3rrnmGo4dO0bbtm354x//SL9+/Xj77beZP38+ffr0oWfPnlx77bUcOXIEgLlz59KpUyf69evHe++9V3Dc6dOnM3nyZAB2797NqFGj6N69O927d2fZsmVMmTKFbdu2kZKSwn333Ud6ejrnn38+4IxZdMstt9C1a1d69OjBokWLCo45evRoG1LaY4GA1REY/6ma/Qg+mQL/XuvtMc/sClcUXzyTb9OmTbz44ov07duXCRMmFPxST0pKYunSpezdu5fRo0ezYMEC6tSpw8MPP8yjjz7K/fffz+23385nn33GueeeW+zooL/61a8YMGAAs2bNIi8vjyNHjjB16lTWrVvH6tWrASch5XvqqacAWLt2LRs3buSyyy5j8+bNADakdAWwISaMH9kdgcdat25N3759ARg3bhxLly4FTg37vHz5cr777jv69u1LSkoKM2bMYMeOHWzcuJF27drRvn17RIRx48aFPP5nn33GHXfcATijf4YazyjY0qVLufHGGwFnwLuzzjqrIBHYkNLes6Ih40dV844gjF/uFaVwsUD+++BhqIcMGcIbb7xx2narV6+ukCKFksaSsiGlvRdQSLRMYHzG7gg8tnPnTr766isA3njjDfr163fa+t69e/Pll18WDEN97NgxNm/eTKdOnfj+++8LRgctnCjyDRo0iGeeeQZwKp4PHTpU4nDR/fv35/XXXwdg8+bN7Ny5k44dO0b+DzUhBawfgfEhr2YoGyoim0Rkq4gUad4iIveJyGr3sU5E8kSkkbsuXUTWuuvSih7dXzp37syMGTPo1q0bP/30U0ExTr7k5GSmT5/O2LFj6datG71792bjxo0kJSUxbdo0rrzySvr168dZZ50V8viPP/44ixYtomvXrlxwwQWsX7+exo0b07dvX84//3zuu+++07a/8847ycvLo2vXrlx33XVMnz79tDsB4y2njiDaURhTNhEPQy0iicBmYAjOZPQrgbGq+l0x218F/EZVf+a+TwdSVXVvuOeM1WGo09PTGT58OOvW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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x = torch.linspace(-1, 1, 250)\n", + "\n", + "for n1, n2 in [ (1, 5), (1, 2), (5, 3), (4, 5) ]:\n", + " plt.plot(x, comp(n1, n2, x), label = 'ground truth')\n", + " plt.plot(x, prediction(model, train_mu, train_std, n1, n2, x), label = 'prediction')\n", + " plt.legend()\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4492c9d6", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} -- 2.39.5