Skip to content

Instantly share code, notes, and snippets.

@lbollar
Created March 14, 2017 05:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save lbollar/3737d3f668882d2da050ed20017f6e6b to your computer and use it in GitHub Desktop.
Save lbollar/3737d3f668882d2da050ed20017f6e6b to your computer and use it in GitHub Desktop.
Test Notebook to demo plot behavior
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import edward as ed\n",
"import numpy as np\n",
"import tensorflow as tf\n",
"import seaborn as sns\n",
"\n",
"from edward.models import Bernoulli, Beta\n",
"from edward.criticisms import ppc_stat_hist_plot\n",
"\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x115a6d160>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x115a587f0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.set_style('ticks')\n",
"\n",
"y = np.random.randn(20)\n",
"y_rep = np.random.randn(20, 20)\n",
"\n",
"ed.criticisms.ppc_density_plot(y, y_rep)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Iteration 1 [ 0%]: Loss = 11.152\n",
"Iteration 50 [ 10%]: Loss = 5.599\n",
"Iteration 100 [ 20%]: Loss = 5.539\n",
"Iteration 150 [ 30%]: Loss = 6.196\n",
"Iteration 200 [ 40%]: Loss = 6.045\n",
"Iteration 250 [ 50%]: Loss = 5.852\n",
"Iteration 300 [ 60%]: Loss = 5.668\n",
"Iteration 350 [ 70%]: Loss = 5.781\n",
"Iteration 400 [ 80%]: Loss = 6.353\n",
"Iteration 450 [ 90%]: Loss = 8.752\n",
"Iteration 500 [100%]: Loss = 6.039\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1163ae710>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11613f908>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ed.set_seed(42)\n",
"\n",
"# DATA\n",
"x_data = np.array([0, 1, 0, 0, 0, 0, 0, 0, 0, 1])\n",
"\n",
"# MODEL\n",
"p = Beta(a=1.0, b=1.0)\n",
"x = Bernoulli(p=tf.ones(10) * p)\n",
"\n",
"# INFERENCE\n",
"qp_a = tf.nn.softplus(tf.Variable(tf.random_normal([])))\n",
"qp_b = tf.nn.softplus(tf.Variable(tf.random_normal([])))\n",
"qp = Beta(a=qp_a, b=qp_b)\n",
"\n",
"inference = ed.KLqp({p: qp}, data={x: x_data})\n",
"inference.run(n_iter=500)\n",
"\n",
"# CRITICISM\n",
"x_post = ed.copy(x, {p: qp})\n",
"\n",
"T = lambda xs, zs: tf.reduce_mean(xs[x_post])\n",
"\n",
"ppc_stats = ed.ppc(lambda xs, zs: tf.reduce_mean(tf.cast(xs[x_post], tf.float32)),\n",
" data={x_post: x_data})\n",
"\n",
"ppc_stat_hist_plot(ppc_stats[1][1], ppc_stats[0], stat_name=r'$T \\equiv mean$',\n",
" bins=10)"
]
}
],
"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.4.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment