Skip to content

Instantly share code, notes, and snippets.

Created May 8, 2016 13:39
Show Gist options
  • Save anonymous/d7d6ee33e06ba1845dda94b5137dfba3 to your computer and use it in GitHub Desktop.
Save anonymous/d7d6ee33e06ba1845dda94b5137dfba3 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Bayesian Neural Network in PyMC3\n",
"(c) 2016 by Thomas Wiecki"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import pymc3 as pm\n",
"import theano.tensor as T\n",
"import theano\n",
"import sklearn\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"from sklearn import datasets\n",
"from sklearn.preprocessing import scale\n",
"from sklearn.cross_validation import train_test_split\n",
"from sklearn.datasets import make_moons, make_circles, make_classification\n"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"X, Y = make_moons(noise=0.2, random_state=0, n_samples=1000)\n",
"X = scale(X)\n",
"X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=.5)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7f06ba10a4e0>"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nZlrpmpqGqARjtCRbW0s0qooczIhDbiKhV5R0dBRx4MDd3H+/UmMlsoFyNIvS5fIwMKD1V7cDryAv\nJHo5JJSjWN9+/z/j98u/OX36cSoqziMQCFBffxeJLCTq9XNojqUPtpaW9nPoUOrJNF5LW5QPEBgr\nBJFPABhLsMIA7e3Riz5pLUnF0pYt0X6sVCMyeXl1nxUVnSAvL7pVGs2i3Lq1iuuvf5Th4QsBD/A1\n7Pa9BINmJWn3k5lZzJQpmSESl8fz+y+mru4Wlix5mqqqSDeHFWHqs1W7gFtCx1pCcfFaCgo+RUlJ\nL+vX38b999elnExFoFTgbEEQ+YSAsQTrc1GJxmihBgLDYXcJSBQW/pCrrnom5CPvZeXKq6mu3hoi\nvOPAL4FCZKIdjjr2ypXzQwHDqvD43d3v4/PNx+VyUlpawk03zdMpVwoLX8LjUQKaWg34w+Tnr2fB\ngvNCwVTlfPtRdgdmAVsjYTY2juDz+Q2KGR/p6Y8ybZqcpbpuneqaysvLCZNpa+tUvN5DtLaWxFXZ\nMdpu4GwESgUEQBD5hICxBKvTOUpt7Zcsv2+0UJ3OX+t+X1h4Oc8+qxKisd+krDK5FYBjx35HT4+f\n6upttLfn0tn5Lp2dRYCD5uY09u3bTFfXwyhyQngfj+frLFq0MWTxnmTVqvloLc5Vq6pYs2ZjSFte\nBNwWnsv06fMIBLw4nY/T35/LyEgOMuH76O5+3zRD07hj8ftH+c53drJvnw/ZfdMH3MSll15tqdxR\nyFRb2bGlJXbgMZr7RFjaAmcLgsgnAIyWXUVFWlQrUbZQ/4os3yvm5MkPAR+KxC62lnpa6N9ykaoH\nHhjWEH0F8DSyguWvdHUVI/u1b0JO3jkFbAoHMY3kprVgFy70sH9/D52d6rmdPNlKff0yZN16JllZ\n73DhhXIKvNmYXq+f/ftPIGvT1R3Lvn2jut6e8Bzd3cdjpurrr8VJGhu7dFmd2sqKhYUf89//3YG8\niB0BLqaxsROfz4/L5RSWtsBZgyDyCYBELTuZ+J8HvgfYkCSJrKxHuPji+aYp55Hp+e+H/i0XqTp8\nWCs73BEad1N4fNWKvws5mPkprHzDRgt21qxHWLLkGY4edeL1HqKnxxU6hhzUHBy8nXnzNpKW9inT\nFPgVKxro7LwC/ULkAvSFs9LSBi0XggcffJlDh6aE5JanNNfiFfz+f6a5Wf5NY+PjTJ2qd1PJiyXh\n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\nrgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f06baec9470>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X[Y==0, 0], X[Y==0, 1])\n",
"plt.scatter(X[Y==1, 0], X[Y==1, 1], color='r')"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Turn inputs and outputs into shared variables so that we can change them later\n",
"\n",
"ann_input = theano.shared(X_train)\n",
"ann_output = theano.shared(Y_train)\n",
"\n",
"n_hidden = 5\n",
"\n",
"# Initialize random weights.\n",
"init_1 = np.random.randn(X.shape[1], n_hidden)\n",
"init_2 = np.random.randn(n_hidden, n_hidden)\n",
"init_out = np.random.randn(n_hidden)\n",
" \n",
"with pm.Model() as neural_network:\n",
" # Weights from input to hidden layer\n",
" weights_in_1 = pm.Normal('w_in_1', 0, sd=1, \n",
" shape=(X.shape[1], n_hidden), \n",
" testval=init_1)\n",
" \n",
" # Weights from 1st to 2nd layer\n",
" weights_1_2 = pm.Normal('w_1_2', 0, sd=1, \n",
" shape=(n_hidden, n_hidden), \n",
" testval=init_2)\n",
" \n",
" # Weights from hidden layer to output\n",
" weights_2_out = pm.Normal('w_2_out', 0, sd=1, \n",
" shape=(n_hidden,), \n",
" testval=init_out)\n",
" \n",
" # Build neural-network\n",
" act_1 = T.tanh(T.dot(ann_input, weights_in_1))\n",
" act_2 = T.tanh(T.dot(act_1, weights_1_2))\n",
" act_out = T.nnet.sigmoid(T.dot(act_2, weights_2_out))\n",
" \n",
" out = pm.Bernoulli('data', \n",
" act_out,\n",
" observed=ann_output)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" [-----------------100%-----------------] 10000 of 10000 complete in 14.5 sec"
]
}
],
"source": [
"with neural_network: \n",
" step = pm.Metropolis()\n",
" trace = pm.sample(10000, step=step)[5000:]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Predict on hold-out data"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Replace shared variables with testing set\n",
"# (note that using this trick we could be streaming ADVI for big data)\n",
"ann_input.set_value(X_test)\n",
"ann_output.set_value(Y_test)\n",
"\n",
"# Creater posterior predictive samples\n",
"ppc = pm.sample_ppc(trace, model=neural_network, samples=500)\n",
"\n",
"pred = ppc['out'].mean(axis=0) > 0.5"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f06c15f7898>"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f06c0b63828>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X_test[pred==0, 0], X_test[pred==0, 1])\n",
"plt.scatter(X_test[pred==1, 0], X_test[pred==1, 1], color='r')\n",
"plt.title('Predicted labels in testing set')"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy = 95.39999999999999%\n"
]
}
],
"source": [
"print('Accuracy = {}%'.format((Y_test == pred).mean() * 100))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Lets look at what the classifier has learned"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"grid = np.mgrid[-3:3:100j,-3:3:100j]\n",
"grid_2d = grid.reshape(2, -1).T\n",
"dummy_out = np.ones(grid.shape[1], dtype=np.int8)"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"ann_input.set_value(grid_2d)\n",
"ann_output.set_value(dummy_out)\n",
"\n",
"# Creater posterior predictive samples\n",
"ppc = pm.sample_ppc(trace, model=neural_network, samples=500)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Probability of label == 1"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f06c15a3198>"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f06c1284ba8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cmap = sns.diverging_palette(250, 12, s=85, l=25, as_cmap=True)\n",
"fig, ax = plt.subplots(figsize=(12, 8))\n",
"contour = ax.contourf(*grid, ppc['out'].mean(axis=0).reshape(100, 100), cmap=cmap)\n",
"ax.scatter(X_test[pred==0, 0], X_test[pred==0, 1])\n",
"ax.scatter(X_test[pred==1, 0], X_test[pred==1, 1], color='r')\n",
"cbar = plt.colorbar(contour, ax=ax)\n",
"_ = ax.set(xlim=(-3, 3), ylim=(-3, 3));\n",
"cbar.ax.set_ylabel('Posterior predictive mean probability of class label = 1')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Uncertainty in predicted value"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f06c0a26a58>"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f06e4b26d68>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cmap = sns.cubehelix_palette(light=1, as_cmap=True)\n",
"fig, ax = plt.subplots(figsize=(12, 8))\n",
"contour = ax.contourf(*grid, ppc['out'].std(axis=0).reshape(100, 100), cmap=cmap)\n",
"ax.scatter(X_test[pred==0, 0], X_test[pred==0, 1])\n",
"ax.scatter(X_test[pred==1, 0], X_test[pred==1, 1], color='r')\n",
"cbar = plt.colorbar(contour, ax=ax)\n",
"_ = ax.set(xlim=(-3, 3), ylim=(-3, 3));\n",
"cbar.ax.set_ylabel('Uncertainty (posterior predictive standard deviation)')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is really neat -- because we're in a Bayesian framework we get uncertainty in our predictions. You can see that very close to the decision boundary, our uncertainty as to which label to predict is highest."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Variational inference with ADVI "
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Restore to original data\n",
"ann_input.set_value(X_train)\n",
"ann_output.set_value(Y_train)"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Iteration 0 [0%]: ELBO = -575.13\n",
"Iteration 2000 [10%]: ELBO = -239.1\n",
"Iteration 4000 [20%]: ELBO = -201.38\n",
"Iteration 6000 [30%]: ELBO = -188.81\n",
"Iteration 8000 [40%]: ELBO = -181.05\n",
"Iteration 10000 [50%]: ELBO = -169.2\n",
"Iteration 12000 [60%]: ELBO = -136.24\n",
"Iteration 14000 [70%]: ELBO = -121.37\n",
"Iteration 16000 [80%]: ELBO = -118.21\n",
"Iteration 18000 [90%]: ELBO = -121.86\n",
"Finished [100%]: ELBO = -119.77\n"
]
}
],
"source": [
"with neural_network:\n",
" # Run ADVI\n",
" means, sds, elbos = pm.variational.advi(n=20000, accurate_elbo=True)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f06b8e46080>"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f06b972d860>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(elbos)\n",
"plt.ylabel('ELBO')\n",
"plt.xlabel('iteration')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Mini-batch ADVI for Big Data\n",
"\n",
"Contributed to PyMC3 by Taku Yoshioka."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Redefine model, this shouldn't be required but couldn't solve it in time."
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Turn inputs and outputs into shared variables so that we can change them later\n",
"import theano.tensor as tt\n",
"\n",
"ann_input = tt.matrix()\n",
"ann_input.tag.test_value = X_train\n",
"ann_output = tt.vector()\n",
"ann_output.tag.test_value = Y_train\n",
"\n",
"#ann_input = theano.shared(X_train)\n",
"#ann_output = theano.shared(Y_train)\n",
"\n",
"n_hidden = 5\n",
"\n",
"# Initialize random but sorted starting weights.\n",
"init_1 = np.random.randn(X.shape[1], n_hidden)\n",
"init_1 = init_1[:, np.argsort(init_1.sum(axis=0))]\n",
"init_2 = np.random.randn(n_hidden, n_hidden)\n",
"init_2 = init_2[:, np.argsort(init_2.sum(axis=0))]\n",
"init_out = np.random.randn(n_hidden)\n",
"init_out = init_out[np.argsort(init_out)]\n",
"\n",
" \n",
"with pm.Model() as neural_network:\n",
" # Weights from input to hidden layer\n",
" weights_in_1 = pm.Normal('w_in_1', 0, sd=1, shape=(X.shape[1], n_hidden), \n",
" testval=init_1)\n",
" \n",
" # Weights from 1st to 2nd layer\n",
" weights_1_2 = pm.Normal('w_1_2', 0, sd=1, shape=(n_hidden, n_hidden), \n",
" testval=init_2)\n",
" \n",
" # Weights from hidden layer to output\n",
" weights_2_out = pm.Normal('w_2_out', 0, sd=1, shape=(n_hidden,), \n",
" testval=init_out)\n",
"\n",
" # Build neural-network\n",
" a1 = T.dot(ann_input, weights_in_1)\n",
" act_1 = T.tanh(a1)\n",
" a2 = T.dot(act_1, weights_1_2)\n",
" act_2 = T.tanh(a2)\n",
" act_out = T.dot(act_2, weights_2_out)\n",
" \n",
" out = pm.Bernoulli('out', \n",
" T.nnet.sigmoid(act_out),\n",
" observed=ann_output)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Define mini-batches and how to set them"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"minibatch_tensors = [ann_input, ann_output]\n",
"minibatch_RVs = [out]\n",
"\n",
"def create_minibatch(data):\n",
" rng = np.random.RandomState(0)\n",
" \n",
" while True:\n",
" ixs = rng.randint(len(data), size=100)\n",
" yield data[ixs]\n",
"\n",
"minibatches = [\n",
" create_minibatch(X_train), \n",
" create_minibatch(Y_train),\n",
"]\n",
"\n",
"total_size = len(Y_train)"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Iteration 0 [0%]: ELBO = -221.06\n",
"Iteration 4000 [10%]: ELBO = -230.95\n",
"Iteration 8000 [20%]: ELBO = -165.57\n",
"Iteration 12000 [30%]: ELBO = -92.98\n",
"Iteration 16000 [40%]: ELBO = -70.55\n",
"Iteration 20000 [50%]: ELBO = -120.95\n",
"Iteration 24000 [60%]: ELBO = -129.75\n",
"Iteration 28000 [70%]: ELBO = -96.38\n",
"Iteration 32000 [80%]: ELBO = -137.92\n",
"Iteration 36000 [90%]: ELBO = -122.2\n",
"Finished [100%]: ELBO = -105.2\n"
]
}
],
"source": [
"with neural_network:\n",
" # Run advi_minibatch\n",
" means, sds, elbos = pm.variational.advi_minibatch(\n",
" n=40000, minibatch_tensors=minibatch_tensors, \n",
" minibatch_RVs=minibatch_RVs, minibatches=minibatches, \n",
" total_size=total_size, learning_rate=1e-2, epsilon=1.0\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f06e5221470>"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f06b8c62cf8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(elbos)\n",
"plt.ylabel('ELBO')\n",
"plt.xlabel('iteration')"
]
}
],
"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.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
@p9anand
Copy link

p9anand commented Jul 4, 2016

Getting error as
TypeError: list object is not an iterator
Having issue in both for python2.7 and python 3 .
Following is the code

%matplotlib inline

import pymc3 as pm
import theano.tensor as T
import theano
import sklearn
import numpy as np
import matplotlib.pyplot as plt

import seaborn as sns

from sklearn import datasets
from sklearn.preprocessing import scale
from sklearn.cross_validation import train_test_split
from sklearn.datasets import make_moons, make_circles, make_classification

X, Y = make_moons(noise=0.2, random_state=0, n_samples=1000)
X = scale(X)
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=.5)

Turn inputs and outputs into shared variables so that we can change them later

ann_input = theano.shared(X_train)
ann_output = theano.shared(Y_train)

n_hidden = 5

Initialize random weights.

init_1 = np.random.randn(X.shape[1], n_hidden)
init_2 = np.random.randn(n_hidden, n_hidden)
init_out = np.random.randn(n_hidden)

with pm.Model() as neural_network:
# Weights from input to hidden layer
weights_in_1 = pm.Normal('w_in_1', 0, sd=1,
shape=(X.shape[1], n_hidden),
testval=init_1)

# Weights from 1st to 2nd layer
weights_1_2 = pm.Normal('w_1_2', 0, sd=1,
                        shape=(n_hidden, n_hidden),
                        testval=init_2)

# Weights from hidden layer to output
weights_2_out = pm.Normal('w_2_out', 0, sd=1,
                          shape=(n_hidden,),
                          testval=init_out)

# Build neural-network
act_1 = T.tanh(T.dot(ann_input, weights_in_1))
act_2 = T.tanh(T.dot(act_1, weights_1_2))
act_out = T.nnet.sigmoid(T.dot(act_2, weights_2_out))

out = pm.Bernoulli('data',
                   act_out,
                   observed=ann_output)

with neural_network:

step = pm.Metropolis()

trace = pm.sample(10000, step=step)[5000:]

Replace shared variables with testing set

(note that using this trick we could be streaming ADVI for big data)

ann_input.set_value(X_test)
ann_output.set_value(Y_test)

Creater posterior predictive samples

ppc = pm.sample_ppc(trace, model=neural_network, samples=500)

pred = ppc['data'].mean(axis=0) > 0.5

plt.scatter(X_test[pred==0, 0], X_test[pred==0, 1])

plt.scatter(X_test[pred==1, 0], X_test[pred==1, 1], color='r')

plt.title('Predicted labels in testing set')

print('Accuracy = {}%'.format((Y_test == pred).mean() * 100))

Turn inputs and outputs into shared variables so that we can change them later

import theano.tensor as tt

Set back to original data to retrain

ann_input.set_value(X_train)
ann_output.set_value(Y_train)

Tensors and RV that will be using mini-batches

minibatch_tensors = np.array([ann_input, ann_output])
minibatch_RVs = np.array([out])

Generator that returns mini-batches in each iteration

def create_minibatch(data):
rng = np.random.RandomState(0)

while True:
    # Return random data samples of set size 100 each iteration
    ixs = rng.randint(len(data), size=50)
    print(ixs)
    print(len(ixs))
    # print('we are in func...')
    return data[ixs]

minibatches = [
create_minibatch(X_train),
create_minibatch(Y_train),
]

print(type(minibatches))
print(minibatches[0])
print(minibatches[1])
total_size = len(Y_train)

%%time

print('running mini batch....')
with neural_network:
# Run advi_minibatch
v_params = pm.variational.advi_minibatch(
n=500, minibatch_tensors=minibatch_tensors,
minibatch_RVs=minibatch_RVs, minibatches=minibatches,
total_size=total_size, learning_rate=1e-2, epsilon=1.0
)
print('final...stage')
with neural_network:
trace = pm.variational.sample_vp(v_params, draws=5000)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment