From cf6ea24b63e4e5e804562301118d1a25b36b3f5e Mon Sep 17 00:00:00 2001 From: Thomas Viehmann Date: Wed, 22 Nov 2017 21:26:42 +0100 Subject: [PATCH] add minibatch example --- notebooks/minibatches.ipynb | 611 ++++++++++++++++++++++++++++++++++++ 1 file changed, 611 insertions(+) create mode 100644 notebooks/minibatches.ipynb diff --git a/notebooks/minibatches.ipynb b/notebooks/minibatches.ipynb new file mode 100644 index 0000000..74174fc --- /dev/null +++ b/notebooks/minibatches.ipynb @@ -0,0 +1,611 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "cell_id": "3701709F6B144B208215BB7C85644698" + }, + "source": [ + "Stochastic Variational Optimization with SVIGP\n", + "--\n", + "\n", + "Pytorch adaptation of test_svi Notebook by *Mark van der Wilk, 2016*, *edits by James Hensman, 2016*\n", + "\n", + "*Pytorch version by Thomas Viehmann*" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "cell_id": "B1237EC85B5D4CAB8372FF3CDA509475" + }, + "outputs": [], + "source": [ + "import sys, os\n", + "import numpy\n", + "import time\n", + "sys.path.append(os.path.join(os.getcwd(),'..'))\n", + "\n", + "import candlegp\n", + "from matplotlib import pyplot\n", + "import torch\n", + "from torch.autograd import Variable\n", + "%matplotlib inline\n", + "pyplot.style.use('ggplot')\n", + "import IPython" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "cell_id": "09A4E544C5A44C028E091570742B63BD" + }, + "outputs": [], + "source": [ + "M = 50" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "cell_id": "1CE191E927114EB88C764BFC240F0E38" + }, + "outputs": [ + { + "data": { + "image/png": "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\nRK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def func(x):\n", + " return torch.sin(x * 3*3.14) + 0.3*torch.cos(x * 9*3.14) + 0.5 * torch.sin(x * 7*3.14)\n", + "X = torch.rand(10000, 1).double() * 2 - 1\n", + "Y = func(X) + torch.randn(10000, 1).double() * 0.2\n", + "pyplot.plot(X.numpy(), Y.numpy(), 'x')\n", + "D = X.size(1)\n", + "Xt = torch.linspace(-1.1, 1.1, 100).double().unsqueeze(1)\n", + "Yt = func(Xt)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "cell_id": "B0B1B188E305434385AF2A9F56EA4F19" + }, + "outputs": [ + { + "data": { + "text/html": [ + "Model SVGP
ParameterValuePriorParamType
Z[[ 0.63010442]\n", + " [-0.79012716]\n", + " [ 0.60516071]\n", + " [ 0.97405493]\n", + " [ 0.49361312]\n", + " [-0.91824734]\n", + " [ 0.64536035]\n", + " [ 0.50011456]\n", + " [-0.34616864]\n", + " [-0.0408175 ]\n", + " [-0.09994948]\n", + " [ 0.85445106]\n", + " [ 0.79699075]\n", + " [-0.48120224]\n", + " [-0.84617746]\n", + " [-0.65778577]\n", + " [ 0.06404901]\n", + " [ 0.82999408]\n", + " [ 0.21822274]\n", + " [ 0.99332821]\n", + " [-0.79720736]\n", + " [-0.51157713]\n", + " [ 0.30289233]\n", + " [ 0.63893735]\n", + " [-0.26428235]\n", + " [-0.952721 ]\n", + " [ 0.01664805]\n", + " [ 0.35411799]\n", + " [ 0.32761872]\n", + " [-0.83985472]\n", + " [-0.02740657]\n", + " [-0.68537796]\n", + " [-0.39533782]\n", + " [-0.18691576]\n", + " [-0.35851753]\n", + " [-0.00333714]\n", + " [ 0.22383416]\n", + " [ 0.05299091]\n", + " [ 0.62283623]\n", + " [ 0.16650891]\n", + " [ 0.7686193 ]\n", + " [ 0.88054776]\n", + " [-0.15809071]\n", + " [ 0.68349195]\n", + " [ 0.75121939]\n", + " [-0.2480247 ]\n", + " [-0.10836625]\n", + " [-0.99080086]\n", + " [ 0.85835981]\n", + " [ 0.72025025]]NoneParam
q_mu[[ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]]NoneParam
q_sqrt[[[ 1.]\n", + " [ 0.]\n", + " [ 0.]\n", + " ..., \n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]]\n", + "\n", + " [[ 0.]\n", + " [ 1.]\n", + " [ 0.]\n", + " ..., \n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]]\n", + "\n", + " [[ 0.]\n", + " [ 0.]\n", + " [ 1.]\n", + " ..., \n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]]\n", + "\n", + " ..., \n", + " [[ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " ..., \n", + " [ 1.]\n", + " [ 0.]\n", + " [ 0.]]\n", + "\n", + " [[ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " ..., \n", + " [ 0.]\n", + " [ 1.]\n", + " [ 0.]]\n", + "\n", + " [[ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " ..., \n", + " [ 0.]\n", + " [ 0.]\n", + " [ 1.]]]NoneLowerTriangularParam
kern.variance[ 1.]NonePositiveParam
kern.lengthscales[ 0.99999996]NonePositiveParam
likelihood.variance[ 1.]NonePositiveParam
" + ], + "text/plain": [ + "SVGP(\n", + " (mean_function): Zero(\n", + " )\n", + " (kern): RBF(\n", + " )\n", + " (likelihood): Gaussian(\n", + " )\n", + ")" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "k = candlegp.kernels.RBF(D,variance=torch.DoubleTensor([1.0])).double()\n", + "Z = X[:M].clone()\n", + "m = candlegp.models.SVGP(Variable(X), Variable(Y.unsqueeze(1)),\n", + " likelihood=candlegp.likelihoods.Gaussian(ttype=torch.DoubleTensor),\n", + " kern=k, Z=Z)\n", + "m" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "cell_id": "5B48D1518C2C4E478354CB01392BD072" + }, + "source": [ + "### Stochastical estimation of ELBO\n", + "The minibatch estimate should be an unbiased estimator of the `ground_truth`. Here we show a histogram of the value from different evaluations, together with its mean and the ground truth. The small difference between the mean of the minibatch estimations and the ground truth shows that the minibatch estimator is working as expected." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "cell_id": "187E09CE6E8A475086C44D5400C10264" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + ".........." + ] + } + ], + "source": [ + "# ground_truth = m.compute_log_likelihood() # seems to take too long\n", + "evals = []\n", + "for i in range(100):\n", + " if i % 10 == 9:\n", + " print ('.', end='')\n", + " idxes = torch.randperm(X.size(0))[:100]\n", + " evals.append(m.compute_log_likelihood(Variable(X[idxes]), Variable(Y[idxes])).data[0])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "cell_id": "26F5659EE8FA46D99FBE44A37C48BF8C" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([ 2., 3., 8., 11., 22., 20., 15., 14., 4., 1.]),\n", + " array([-18639.50703082, -18460.6436115 , -18281.78019218, -18102.91677287,\n", + " -17924.05335355, -17745.18993423, -17566.32651491, -17387.46309559,\n", + " -17208.59967627, -17029.73625695, -16850.87283763]),\n", + " )" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nln5PYurs7FQkElFXV5e8Xq+mTJky4GPV1dWpsLBQklRYWOhc4uDQoUNauHChPB6P7rrrLl26dEnh\ncNj1rH6/35kNTJ48WdnZ2YOepVtXV6d58+ZpwoQJuummmzRt2jTV19e7mrO/y0MYY3T8+HHNnTtX\nkrRo0aIeY3ptRjZ37lz94x//6PMktpFkvWbv3r269957ey0/d+6cWltb9aUvfWnA+x89elQzZsyQ\nz+eTz+fTjBkzdPTo0VHL+b/6G7t4PPexZL3hhhv05S9/WZLk9Xp1++239zh3pS9jMabhcFgdHR26\n66675PF4tHDhQuf16PZ7P96s3eXSn7lz5+rQoUNauXKlurq6tGLFCvl8Puf20tJSSdJ9993n/PW7\npaXFOWnK7/ertbVV0tWP5YFAwLnvtcsf9HWClRtZpau7Ls6cOaM777zTWbZr1y7V1tYqJydHjz32\nmHw+n5qbm/X5z3/eWSctLS1ul2roL2dfl4c4deqU2traNGXKFCUnJ/fKcv19kpOTNWXKFLW1tTm7\nkOLpvffe03PPPddr+b59+/SVr3ylx5nPf/3rX/XPf/5TN998s1asWKFAINDr3xfPMR0sZ1VVlZKS\nkjRnzhx94xvfkMfj6Xfs3Hzuh5JVki5duqTDhw87uwal8TOmA13GZKze+7FK6ELfuHGjLl682Gv5\nt771Lc2ePbvP+9TX1yspKUlbt27VpUuXVFJSory8PGVmZmrjxo1KS0tTS0uLXnrpJWVlZSk3N7ff\n7fc1c+zr8gduZJWuzorLy8tVVFTkfMr42te+pm9+85uSpO3bt+u3v/2tiouLhzzLjWfO4YzPNW6P\n6TWnTp3SxIkTNX369F637du3T08//bTz+6xZs3TvvfdqwoQJ+stf/qLKykpt2LChz8ftK2u8cz7z\nzDNKS0tTR0eHysvLVVtbq8LCwn7HbjifcNwY00gkop/97Gf6+te/7rx2x9OYxvIJMJbX9mhI6EJ/\n8cUXh32fvXv3Kj8/X16vV6mpqfrCF76g06dPKzMz0/kDTWpqqmbPnq36+nrl5uYqNTVV4XBYfr9f\n4XDYmS2mp6erqanJeez+Ln/gRtbu7m6Vl5drwYIFmjNnjnOfG2+80fl5yZIl2rRpk5P1+o+7zc3N\nzr/XrZyBQKDPy0NMnTpVly9fViQSUXJyco8s13Kmp6crEono8uXLvT6VjCTrNfv27etzN8bZs2cV\njUZ7/IFr6tSpzs/BYFC/+93vJF2dPZ44ccK5rbm5uc8JQLxzXhuryZMna/78+aqvr1dhYWG/YzfU\n596NrJK0detWTZs2TQ8++KCzbDyNaV+XMbm+C0b63h9N1u5D708gEHD2LXZ2durUqVPKzs5WZ2en\nOjo6JF2d+b7//vvO/+AFBQWqqamRJNXU1DgzgIKCAtXW1soYow8++MDZv+12VmOMtmzZouzsbD30\n0EM97nP9fryDBw86Z+8WFBRo//79unLlihobG3Xu3Lkeu2ncyNnf5SE8Ho/uvvtuHThwQNLVoxqu\nXTZi1qxZ2rNnjyTpwIEDuvvuu+M+84lGozpw4ECf5dNXKV0/pocOHdItt9wiScrPz9exY8fU3t6u\n9vZ2HTt2LKajR4aTMxKJOB/7u7u7dfjwYec57m/s3HzuB8oqSb///e91+fJlFRUV9Vg+nsbU7/dr\n8uTJ+uCDD2SMUW1trfN6HKv3fqysPbHo4MGD+vWvf63W1lZ97nOf02233aYf/vCH6uzsVFVVlT7+\n+GMZY7R48WItXbpUDQ0NevnllyVdfdPMnz9fjzzyiCSpra1NFRUVampqUiAQ0Lp165xDl1577TUd\nO3ZMEydOVHFxsXOIlJtZ//Wvf6mkpETTp093yu7a4Ym/+MUvdPbsWXk8HmVkZGjlypXOC+3NN9/U\nO++8o6SkJBUVFemee+5xNackHTlyRL/5zW+cy0NcG9OGhoZehy1OmDBBXV1devXVV3XmzBn5fD6t\nWbPG+Zgej6ySdPz4cb3xxhvO30uut3r1aj3//PPKzs52lr3xxhs6dOiQkpOT5fP59L3vfc+5fffu\n3aqurpZ09RC7xYsXu5qzs7NTGzZsUCQSUTQaVV5enlasWKGkpKQBx26kz30sWS9cuKDvf//7ys7O\nltd7dWfAtcMTx9OYStLp06dVVVWlrq4u5efn64knnpDH43H9vR9v1hY6AHzWfOZ2uQCArSh0ALAE\nhQ4AlqDQAcASFDoAWIJCBwBLUOgAYAkKHQAs8X/pmy+RVoG6QgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pyplot.hist(evals)\n", + "#pyplot.axvline(ground_truth)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "cell_id": "C164D1E081964CA2BA6BB1E37384E72D" + }, + "source": [ + "### Minibatches speed up computation\n", + "The use of using minibatches is that it decreases the time needed to make an optimisation step, since estmating the objective is cheaper. Here we plot the change in time required with the size of the minibatch. We see that smaller minibatches result in a cheaper estimate of the objective." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "cell_id": "638C048DF94746B3AD92B09EA54F0950" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "100\n", + "158\n", + "251\n", + "398\n", + "630\n", + "1000\n", + "1584\n" + ] + } + ], + "source": [ + "mbps = numpy.logspace(-2, -0.8, 7)\n", + "times = []\n", + "objs = []\n", + "for mbp in mbps:\n", + " minibatch_size = int(len(X) * mbp)\n", + " print (minibatch_size)\n", + " start_time = time.time()\n", + " evals = []\n", + " \n", + " for i in range(20):\n", + " idxes = torch.randperm(X.size(0))[:minibatch_size]\n", + " evals.append(m.compute_log_likelihood(Variable(X[idxes]), Variable(Y[idxes])).data[0])\n", + " objs.append(evals)\n", + "\n", + "# plt.hist(objs, bins = 100)\n", + "# plt.axvline(ground_truth, color='r')\n", + " times.append(time.time() - start_time)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "cell_id": "1FD6FB3729D34ABC8475772FB38ED8CC" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7MAAAF6CAYAAADLZg86AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtclGX+//HXPSAeMg3BQ56WVbMThm4eislDxe52XExt\n1bXIltJZwhZNLTU6sSJKJhmyoFFJVpttZn53txOekFFTK3Fda9XKr6vlKoqSkibM/fuDH/NlPKLA\n3DPD+/l4+ChuGOZ9gcJ87uu6PpdhmqaJiIiIiIiIiB+xWR1ARERERERE5EKpmBURERERERG/o2JW\nRERERERE/I6KWREREREREfE7KmZFRERERETE76iYFREREREREb+jYlZERERERET8jopZERERERER\n8TsqZkVERERERMTvqJgVERERERERv6NiVkRERERERPxOsNUBLsZ3331ndYQaCQ8Pp7i42OoYtaZx\n+I5AGANoHL4kEMYAtRtH+/bt6zhNw6Tfzd6lcfiOQBgDaBy+JBDGAN753ayZWREREREREfE7KmZF\nRERERETE76iYFREREREREb+jYlZERERERET8jl82gBIREWlo1q1bxzvvvMPevXtJTU2la9euAKxZ\ns4Zly5a5P2737t3MnDmTiIgIvvnmG+bNm8dPP/1Er169ePDBBzEMg6NHjzJnzhwOHDhA69atGT9+\nPM2bN8c0TV599VW++OILGjduTEJCAl26dLFqyCIiIuekmVkRERE/0KlTJyZOnMjVV1/tcb1///6k\np6eTnp7OuHHjaN26NREREQAsWLCAsWPHMnfuXPbt28fmzZsBWLp0KT169GDu3Ln06NGDpUuXAvDF\nF1+wb98+5s6dy5gxY3j55Ze9OkYREZELoWJWRETED3Ts2PG8RxUUFhZit9sBKCkp4ccff6R79+4Y\nhsGAAQPYuHEjABs3bmTgwIEADBw40H1906ZNDBgwAMMw6N69O8eOHaOkpKQeRyUiInLxVMyKiIgE\niHXr1rmL2UOHDhEWFuZ+X1hYGIcOHQLgyJEjhIaGAhAaGkppaan7MeHh4Wd8jIiIiK/RnlkREREf\nkZKSwuHDh0+7PmLECPr06XPOx+7YsYOQkBA6d+4MgGmaF/z8Z3qMYRhn/Nj8/Hzy8/MBSEtL8yiC\nfVlwcLDfZD0XjcN3BMIYQOPwJYEwBvDOOLxSzBYXFzNv3jwOHz6MYRjExMRwxx13sHjxYpYvX06L\n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\nqW1W21zZ1Darba5sapsrv21WMXsFsrKyCA0NdR2HhoaSlZVV6jV+fn7UqlWLU6dOFblm/fr1NGnS\nhBo1alR90CWoSB45OTksXbqUBx54wK0xX6wiOfzwww8YhsHUqVMZN24cS5cudWvspcUIl5dH586d\nCQgIYOjQocTGxvLrX/+awMBAt8ZfUoxQch7lfW9ISEi531uZKpJDYXv27CEvL4969epVZnjlVpE8\nTNMkLS2NRx55pKrCK7eK5PH9999z9dVXM2vWLMaOHcvbb7+NaZpVFarYTG2z2ubKprZZbXNlU9tc\n+W2zitkrYJWwAPTFTx0udc13333HkiVLePLJJys/wHKqSB7vvfceffr0ISAgoMriK4+K5JCfn8/O\nnTsZMWIEv//979mwYQP//ve/qyzWslQkjz179uBwOFiwYAFJSUn85S9/4aeffqqyWMtSnjwuR0Xe\ne6UqI4djx44xb948nnrqKdt6FCqSxxdffMEtt9xCWFhYZYd12SqSh2ma7Nixg0cffZTp06fz008/\nsWLFikqOUDyF2ma1zZVNbXPJ1DZfObXNld82awGoKxAaGuqasAyQmZlJcHBwideEhoaSn5/PmTNn\nXE/kMjMzmTVrFsOHD6d+/fpujb2kGAtcTh579uxh/fr1LFmyhNOnT2MYBv7+/vTu3dtrcggNDaV1\n69bUqVMHgFtuuYX9+/fTrl07t+ZQOMYCl5PH6tWr6dChA06nk6CgIFq2bMnevXtteepYnjxKExIS\nwvbt213HWVlZtG7dutJjvJSK5AAXFmZISEhg0KBBtGjRoipCLJeK5LFr1y527NjBF198QU5ODnl5\neQQEBDBkyJCqCrdUFf071aRJE9f/C506dWLXrl307NmzSmIVe6ltVttc2dQ2q22ubGqbK79tVs/s\nFWjWrBk//PADR44cIS8vjzVr1tCxY8ci19x2222upwzr1q2jTZs2GIbB6dOnSUhIYPDgwbRq1cqG\n6P+nInn8/ve/Z/78+cyfP5/77ruP/v37u72xrGgO4eHhfPvtt5w7d478/Hx27Nhh2xyjiuQRFhbm\nmqOTk5PD7t27adiwoQ1ZlC+P0nTo0IGMjAyys7PJzs4mIyODDh06VHHExVUkh7y8PGbNmkXXrl3p\n0qVLFUdatork8fTTT/Pqq68yf/58Hn30Ubp27WpLYwkVy+Omm27i9OnTrrlRW7dutXUeoVQttc1q\nmyub2ma1zZVNbXPlt82GVVI/sVzS5s2beeuttzBNkx49ejBgwAD+9Kc/0axZMzp27Ehubi5JSUns\n37+fwMBA4uPjqVevHh9++CEff/xxkae+zz//PEFBQV6VR2HvvfceAQEBti3/X5EcVq1axccff4xh\nGNxyyy22zkO40jxycnJITk7m0KFDWJZFjx49bPsuypPHnj17mDVrFqdPn6ZGjRpcc801vPLKKwAs\nX76cP//5z8CF5f979OjhVTmsWrWKV199tcg/ysOHD3ctZOIteRS2YsUK9u7da+vy/xXJY8uWLaSl\npWFZFk2bNmXYsGE4nRqU5KvUNv+P2mZ781Db7Dk5qG2uGp7SNquYFREREREREa+jYcYiIiIiIiLi\ndVTMioiIiIiIiNdRMSsiIiIiIiJeR8WsiIiIiIiIeB0VsyIiIiIiIuJ1VMyK/NfChQv54IMPLvva\nbdu2ERMTU5WhuQwfPpwtW7a45bPsMGrUKLZt22Z3GCIi4iHUNttPbbN4MhWz4vOGDx/O4MGDXZsz\nFxgzZgwPPvggR44cAWDo0KEMHDiwXPe8nGvLcuTIER588EHy8/MrfC9vM3/+fP74xz8WOffKK6/Q\npk0bmyISERF3UdvsmdQ2i7dRMSvVQt26dUlPT3cdf/vtt+Tm5toYkWexLAvTNN32ee78LBER8Uxq\nm8umtlnk0px2ByDiDl27dmXVqlXce++9AKxYsYJu3boVefo4f/58QkNDGTRoENu2bWPevHn06dOH\npUuX4nA4GDx4MD169Ch2bYGPPvqIv/71rwQEBDBo0CDuuusuADZv3swf//hHfvrpJ2rVqkWPHj14\n8MEHAZg8eTIAjz/+OAATJ06kRYsWLFu2jL/+9a9kZmYSGhrKiBEjaNq0KQAHDhwgLS2Nn3/+mQ4d\nOjB8+HD8/f2L5bxixQr++c9/0qRJE1auXElwcDDR0dG0a9cOgBdeeIGWLVuyfft29u3bx+zZs/H3\n9+e1115j586dBAYG0rdvX3r16gXAe++9x3fffYfD4eDrr7/muuuu46mnnqJx48YAHDp0iNdff50D\nBw4QEhLCww8/TMeOHV0/L39/f44ePcr27dt57LHHWL16NQB//etfadOmDePHj2f48OEMGzaM9u3b\nc/78eZYsWcLatWsB6NKlC0OGDKFGjRqX/H5ERMTzqW1W2yxSUeqZlWqhefPmnDlzhkOHDmGaJmvX\nrnU1aKU5fvw4Z86cISUlhZiYGFJTU8nOzi712lOnTpGSksLw4cNZuHAh33//PQA1a9YkLi6ON954\ng/Hjx/OPf/yDDRs2APDiiy8C8Oabb/L222/TokUL1q5dy/vvv8/w4cN56623GDduHLVr13Z91tq1\na5kwYQLz58/n22+/ZcWKFaXmsHv3burWrUtqaioPPvggs2bNKpLDqlWrGDp0KGlpaYSFhfGHP/yB\n0NBQFixYwDPPPMO7777Lv//9b9f1mzZtokuXLixatIjIyEhmzpxJXl4eeXl5vPzyy7Rv357XX3+d\n3/72t8ydO9f1MwBYvXo1/fv356233qJr167ceeed9O3bl7fffpvx48cXi/2jjz5i9+7dzJgxg5kz\nZ7Jnzx4+/PDDK/p+RETE86htVtssUlEqZqXaKHgCvGXLFho0aEBISEiZ1/v5+TFw4ECcTie33nor\nAQEBRRqAiz300EPUqFGD1q1bc8stt7BmzRoA2rRpww033IDD4eDGG28kMjKS7du3l3qf5cuX07dv\nX2666SYMw6B+/fpce+21rtfvvfdeQkJCCAwM5LbbbuPAgQOl3isoKIg+ffrgdDqJiIigQYMGbN68\n2fV69+7dadSoEX5+fhw/fpydO3cyZMgQ/P39ady4MXfffTerVq1yXd+0aVM6d+6M0+nkV7/6FefP\nn2f37t3s3r2bnJwc+vXrh9PppG3bttx6662uJ7wAt99+O61atcLhcJT4tPpiq1ev5v777ycoKIg6\ndeowcOBAvvrqK9frl/v9iIiI51HbrLZZpCI0zFiqja5duzJ58mSOHDlCt27dLnl97dq18fPzcx3X\nrFmTnJycEq+9+uqrCQgIcB1fe+21HDt2DLjwBPadd97h22+/dT0p7dy5c6mfe/ToUerVq1fq69dc\nc43rz/7+/mRlZZV6bUhICIZhFImr8PWhoaGuPx87dozAwECuuuoq17mwsDD27t1b4vUOh4PQ0FBX\nnmFhYTgc/3s+VtZnlUdWVlaRXxQuvt/lfD8iIuKZ1DarbRapCPXMSrVx7bXXUrduXb7++ms6depU\nqfc+ffp0kX+sjx49SnBwMABz587ltttu49VXX+Wtt97iF7/4BZZlARRpzAqEhYXx008/VUpcWVlZ\nrs8qiKvwU+/Cnx8cHEx2djZnz54t9frMzEzXn03TJDMzk+DgYIKDgzl69GiRxSPK+qySji8WEhLC\nzz//XOr9RETE+6ltVtssUhEqZqVaiYmJYdKkSUWe1FaW9957j7y8PHbs2MHmzZvp0qXLR3a+AAAC\nQElEQVQLAGfPniUwMBB/f3/27NlTZHhPnTp1MAyjSAPZs2dP/vKXv7Bv3z4sy+LHH38s0nBcjhMn\nTvC3v/2NvLw81q5dy+HDh7nllltKvDYsLIyWLVvyzjvvkJuby8GDB/nyyy+LzF/at28f69evJz8/\nn88++4waNWrQvHlzmjdvTkBAAJ988gl5eXls27aNf/3rX0RGRpYaW1BQUJm/GERGRvLRRx9x8uRJ\nTp48yQcffHDJuVQiIuJ91DarbRa5UhpmLNVK/fr1q+S+11xzDYGBgQwbNgx/f3+efPJJGjZsCMAT\nTzxBWloaixYtonXr1nTp0oXTp08DF4bfDBgwgIkTJ5Kfn8+ECRPo0qULp06d4g9/+ANZWVnUrVuX\nuLi4IsN6yqt58+b88MMPREdHc8011zBq1KgiC1Zc7He/+x2vvfYaw4YNIzAwkAceeID27du7Xu/Y\nsSNr1qxh/vz51K9fn2eeeQan88I/I2PHjuX111/nz3/+MyEhIcTFxbl+BiXp2bMnr7zyCo8//jit\nW7dm7NixRV4fMGAAZ86cYfTo0QB07tyZAQMGXPbPQEREPJvaZrXNIlfKsAqPcxARn1Gw/P+UKVMq\n5X7vvfceP/74I08//XSl3E9ERKS6UdssUrk0zFhERERERES8jopZERERERER8ToaZiwiIiIiIiJe\nRz2zIiIiIiIi4nVUzIqIiIiIiIjXUTErIiIiIiIiXkfFrIiIiIiIiHgdFbMiIiIiIiLidVTMioiI\niIiIiNf5f67WGRFFVEKVAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "f, (ax1, ax2) = pyplot.subplots(1, 2, figsize=(16, 6))\n", + "ax1.plot(mbps, times, 'x-')\n", + "ax1.set_xlabel(\"Minibatch proportion\")\n", + "ax1.set_ylabel(\"Time taken\")\n", + "\n", + "ax2.plot(mbps, numpy.array(objs), 'kx')\n", + "ax2.set_xlabel(\"Minibatch proportion\")\n", + "ax2.set_ylabel(\"ELBO estimates\")\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "cell_id": "35E75C17A3A64D2883E4C8B4737BBE85" + }, + "source": [ + "### Running stochastic optimization" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "cell_id": "EAE89AD9D99A404A8C8CAF55FAC62916" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEJCAYAAACAKgxxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXl4FFXW/7+3OntCFhKSQBJolmDCEkQggBBgFFnUGVDQ\n0QFxm3lxQAXXcVCMijL8fHUEkXF8nZERdQbFCI4KAaOyGgybNAaaBJKwSGIIhDUJSXfd3x+316SX\nqu6q3rif5+Eh3V1169atqlPnnnsWQiml4HA4HE7IIPi7AxwOh8NRFi7YORwOJ8Tggp3D4XBCDC7Y\nORwOJ8Tggp3D4XBCDC7YORwOJ8Tggp0DAKipqQEhBNu3b3f42VNeeOEF9OnTR4kuesW//vUvhIWF\nKdLWmjVr0Lt3b2g0Gtx3332KtOlvtFotXn75ZVn73HfffRg/frxKPeJ4AxfsAcp9990HQggIIQgL\nC0OPHj3w0EMP4cyZMz45flZWFmprazF8+HBJ22/fvh2EENTU1Nh9/+STT2Lnzp0q9NA/GI1GPPDA\nA7jzzjtx/PhxLFu2zOd9cDbW3rBr1y489thjsvZZtmwZ1qxZo1gfOMqhjArDUYWCggJ88sknMBgM\n2LNnD37/+9/jxIkT+Oqrrxxu39raioiICEWOrdFokJ6e7nU7cXFxiIuLU6BHgUFtbS0uXbqEm2++\nGRkZGR6309bWhvDwcAV75t0xunTpIrv9hIQE2ftwfAPX2AOYiIgIpKenIzMzE1OmTMH8+fNRXFyM\n5uZmi6nko48+ws0334zY2FgsXLgQAHDkyBFMmzYNiYmJSEpKwoQJE3DgwAG7tj/55BP06dMHUVFR\nuP7666HT6ex+d2SKqa+vx/3334+0tDRERUXhmmuuwXvvvYeamhoUFBQAAHr27AlCCMaNGwfAsSnm\n/fffR79+/RAZGYnMzEw899xzMBgMlt/HjRuH3//+91i0aBHS09PRuXNnzJo1C5cuXbJsU15ejokT\nJyIxMRGxsbHIzc3FBx984HZMS0pK0L9/f0RFRWH48OH48ccf7X7fs2cPJkyYgLi4OHTp0gW33347\njh07BoCZc7KysgAAY8aMASEEmzdvBgCsX78eQ4YMQWRkJFJTUzFnzhxcvnzZ0q7ZbLF8+XJotVpE\nRkaiubkZALB8+XLk5OQgKioK2dnZeOWVV+zGo/11cTbWzo7x9ddfY9y4cejcuTMSEhIwduxYlJWV\n2bXb3hSj1Wrx/PPPY968eejcuTPS0tLw2GOP2fWrvSnG/Pn//u//0KNHD8THx+M3v/kNfvnlF7tj\nLV26FJmZmYiJicHEiRPxwQcfgBCCkydPur54HOlQTkBy77330htvvNHuu9dff50CoBcuXKDV1dUU\nAM3IyKAffPABraqqolVVVbSuro6mpaXRhx56iOp0OqrX6+nDDz9MO3fuTOvr6ymllO7du5cSQugz\nzzxD9Xo9LSoqolqtlgKg27Zto5RSS/vmz01NTTQnJ4cOHjyYfv311/To0aN048aN9D//+Q81GAz0\n888/pwBoWVkZra2tpWfOnKGUUlpYWEh79+5tOYcvv/ySCoJAFy9eTA8fPkxXr15NExMT6XPPPWfZ\nZuzYsTQhIYHOnz+fHjp0iG7cuJEmJSXZbTNw4EB699130/Lycnr06FG6fv16+sUXXzgdz5UrV1JC\nCB08eDDdvHkz3b9/P73llltot27daFNTE6WU0vLychobG0uff/55eujQIarT6ej06dNpdnY2bW5u\npk1NTbSsrIwCoJ9//jmtra2lV65cofv376cajYbOnz+fHjx4kK5fv55mZWXRmTNn2l3PTp060alT\np9J9+/ZRnU5HDQYDLSwspN27d6efffYZraqqol999RXNysqyO1dbXI21s2N89tln9OOPP6Z6vZ7+\n9NNP9MEHH6RJSUm0oaHB0m6PHj3ookWL7D4nJibSv/zlL7SiooJ+/PHHNCwsjP7jH/9weo/ee++9\nND4+nt511130wIED9Pvvv6dardZuHIqKiqhGo6FLly6lFRUVdOXKlbRr164UAD1x4oTT68eRBxfs\nAUr7h6a8vJz26tWLDh8+nFJqFbwvvfSS3X6FhYWWbcyIokh79epF33jjDUoppTNmzKAjR46022b5\n8uUuBfs//vEPGhkZ6fTh27ZtGwVAq6urO/THVrCPHj2a3nHHHXbbLF26lEZFRdErV65QSplgHzhw\noN02Dz30EB0xYoTlc3x8PF25cqXDvjhi5cqVFAAtKSmxfHf27FkaGxtrEVb33nsv/e1vf2u3X0tL\nC42OjqZr166llHYcF0opnTlzJh02bJjdfuvWraOEEFpTU2NpOyEhgV68eNGyzeXLl2l0dDTdsGGD\n3b7vv/8+TUhIcHouzsba0TEcYTQaaWJiIv3www8t3zkS7L/+9a/t9ps0aRK966677I7XXrCnpKTQ\n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\nESR43EzjuQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pX = Variable(torch.linspace(-1, 1, 100).unsqueeze(1).double())\n", + "pY, pYv = m.predict_y(pX)\n", + "pyplot.plot(X.numpy(), Y.numpy(), 'x')\n", + "line, = pyplot.plot(pX.data.numpy(), pY.data.numpy(), lw=1.5)\n", + "col = line.get_color()\n", + "pyplot.plot(pX.data.numpy(), (pY+2*pYv**0.5).data.numpy(), col, lw=1.5)\n", + "pyplot.plot(pX.data.numpy(), (pY-2*pYv**0.5).data.numpy(), col, lw=1.5)\n", + "pyplot.plot(m.Z.get().data.numpy(), numpy.zeros(m.Z.shape), 'k|', mew=2)\n", + "pyplot.title(\"Predictions before training\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "cell_id": "919B021C698648D18D6404A118D0C69C" + }, + "outputs": [], + "source": [ + " " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "cell_id": "557D9BD5CADE409B87307DF4567B251C" + }, + "outputs": [ + { + "data": { + "image/png": "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\nRK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "logt = []\n", + "logf = []\n", + "\n", + "st = time.time()\n", + "minibatch_size = 100\n", + "m.Z.requires_grad = True\n", + "opt = torch.optim.Adam(m.parameters(), lr=0.01)\n", + "m.Z.requires_grad = False\n", + "\n", + "for i in range(2000):\n", + " if i % 50 == 49:\n", + " print (i)\n", + " idxes = torch.randperm(X.size(0))[:minibatch_size]\n", + " opt.zero_grad()\n", + " obj = m(Variable(X[idxes]), Variable(Y[idxes]))\n", + " logf.append(obj.data[0])\n", + " obj.backward()\n", + " opt.step()\n", + " logt.append(time.time() - st)\n", + " if i%50 == 49:\n", + " IPython.display.clear_output(True)\n", + " pyplot.plot(-numpy.array(logf))\n", + " pyplot.xlabel('iteration')\n", + " pyplot.ylabel('ELBO')\n", + " pyplot.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "cell_id": "C7BC260329D945128DD212D1D971127B" + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "cell_id": "C0948D9C8FAA42DAB6689F84577C3542" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEJCAYAAACAKgxxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXl4FdXZwH8z9yY3ucnNvu8JSQhbkEUQRaFALbhi1brV\natV+LrRWu1ArWqxYpCpVi3v7uaCfojVFq1VQlE0BWSUsCdkh+0L23ORuc74/JneSS8IessD8nidP\nnjtzZubM9s573vMukhBCoKOjo6Nz1iAPdAd0dHR0dPoWXbDr6OjonGXogl1HR0fnLEMX7Do6Ojpn\nGbpg19HR0TnL0AW7jo6OzlmGLth1jklJSQmSJPHNN9/0+vtUeeyxx0hNTe2LLvYLy5YtIy4uDlmW\neeyxxwa6O6fEqd67pKQknnjiiTPUK50zgtAZUtx2220CEIAwGAwiISFB3H333aKuru6MHK+4uFgA\nYuPGjUIIIZxOp6isrBR2u/2Ett+4caMARHFxscfylpYWUVtb29fdPSOUl5cLWZbFCy+8ICoqKkRL\nS4tYtGiRSExMPKPH7etjnOy9c1NTUyNaW1v7rB86Zx7jwH5WdE6Fiy++mA8++ACn08mOHTu46667\nKC0t5b///W+v7e12O97e3n1ybIPBQFRU1Gnvx9/fH39//z7o0ZmnqKgIRVG46qqriI6O7vP9n+79\nOdHtT/XehYeHn0q3dAaSgf6y6Jwct912m5g5c6bHsieeeELIsiysVqumYb/zzjtizpw5wmw2i/nz\n5wshhMjPzxc//vGPRWBgoAgKChI//OEPRXZ2tse+3n//fTFs2DBhMpnElClTxMcff+yhsR+pwQsh\nRHV1tbj99ttFRESEMJlMIj09Xfzv//6v1rb737Rp04QQQixcuFAMGzbM49hvvvmmGDFihPD29hax\nsbFiwYIFwuFwaOunTZsm7rzzTvH444+LyMhIERwcLG699VbR0tKitdm7d6+49NJLRWBgoDCbzSIj\nI0MsX778qNezvr5e3HLLLSI+Pl74+PiI9PR08cwzzwhFUbR+HnkOb7zxRo9lCxcuFEII4XA4xMKF\nC0VSUpIwmUxi5MiR4pVXXvE4JiCef/55cdNNN4mAgADxk5/8pEe/jnWMxMREsWDBAnHvvfeKkJAQ\nMWnSJCGEEM8995wYO3as8PPzE5GRkeKGG24QFRUV2j6PvHfu3++//7644oorhK+vr0hOThZvvPGG\nR18SExPFokWLPH4/+uij4v777xfBwcEiIiJCPPDAAx73ymq1il/84hciICBABAUFiXvvvVc89NBD\nPe65zplBF+xDjN4E+9KlSwUgmpubtZc1NjZWvP3226KoqEgUFRWJqqoqERkZKe655x6RnZ0tcnNz\nxS9/+UsREhIiampqhBBC7Ny5U0iSJB566CGRm5srsrKyRFJS0jEFu9VqFRkZGWLcuHHiyy+/FIWF\nhWL16tXivffeE06nU/swbN26VVRWVorDhw8LIXoK9k8//VTIsiwWL14sDhw4IFasWCGCgoLEI488\norWZNm2aCAwMFA888IDIyckRq1evFsHBwR5txowZI2666Saxb98+UVhYKD777DPxySefHPV6VlZW\niieffFLs2LFDFBUVibffflv4+fmJ119/XQihmoyysrIEIHbu3CkqKytFa2ur+MMf/iDi4uJEZWWl\nqKys1D4ut912mxgzZoxYvXq1KCoqEitWrBCBgYHin//8p3ZMQISEhIhly5aJgoICkZeX16NfVqv1\nqMdITEwUFotFLFy4UBw4cEDs27dPCKEK9i+//FIUFRWJTZs2iSlTpohLLrlE2+fRBHtycrJ4//33\nRX5+vvjjH/8oDAaDOHDggLZdb4I9KChIPPnkkyIvL0+8//77wmg0epzjr371KxERESE+/vhjkZub\nKx566CEREBCgC/Z+QhfsQ4wjBfu+fftESkqKmDx5shCi62V9/PHHPbZbuHCh1saNoigiJSVFPPvs\ns0IIIW655RYxZcoUjzbLli07pmD/5z//KUwmkygtLe21v0ezsR8p2KdOnSquv/56jzbPPfec8PHx\nETabTQihCvYxY8Z4tLnnnnvEBRdcoP0OCAjooXGeLPfff7+YNWuW9nvt2rUC8DjH3uzfRUVFQpIk\nkZOT47H8z3/+sxg7dqz2GxB33HHHcftxNBt7YmKimDFjxnG337lzpwBEWVmZEOLogn3p0qXaNk6n\nU/j7+3uMMnoT7FdeeaXHsWbPni1uvPFGIYQQra2twtvb20PQCyHE5MmTdcHeT+g29iHIunXr8Pf3\nx+VyYbPZmDlzJq+++qpHm0mTJnn83rZtGzt27Ohh125vbyc/Px+A/fv3M3PmTI/1U6dOPWZfduzY\nwciRI4mLizvV0wFg37593HDDDR7Lpk2bRkdHB4WFhYwYMQKA8847z6NNTEwMq1ev1n7/7ne/4667\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pX = Variable(torch.linspace(-1, 1, 100).unsqueeze(1).double())\n", + "pY, pYv = m.predict_y(pX)\n", + "pyplot.plot(X.numpy(), Y.numpy(), 'x')\n", + "line, = pyplot.plot(pX.data.numpy(), pY.data.numpy(), lw=1.5)\n", + "col = line.get_color()\n", + "pyplot.plot(pX.data.numpy(), (pY+2*pYv**0.5).data.numpy(), col, lw=1.5)\n", + "pyplot.plot(pX.data.numpy(), (pY-2*pYv**0.5).data.numpy(), col, lw=1.5)\n", + "pyplot.plot(m.Z.get().data.numpy(), numpy.zeros(m.Z.shape), 'k|', mew=2)\n", + "pyplot.title(\"Predictions after training\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "cell_id": "FF41F8F0349E4F6F895B5D66A78FB130" + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "anaconda-cloud": {}, + "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.5.3" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +}