Skip to content

Instantly share code, notes, and snippets.

@sebboie
Created June 16, 2017 18:20
Show Gist options
  • Save sebboie/2ca93e9f54ae7ccc4aee124056050647 to your computer and use it in GitHub Desktop.
Save sebboie/2ca93e9f54ae7ccc4aee124056050647 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "import numpy as np\nimport matplotlib.pyplot as plt\nimport tensorflow as tf\n\n%matplotlib inline",
"execution_count": 1,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Generate some uniformly distributed random data on [-2, 2]"
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "x = 4*np.random.rand(2000)-2",
"execution_count": 2,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "plt.plot(x, '.')",
"execution_count": 3,
"outputs": [
{
"output_type": "execute_result",
"metadata": {},
"data": {
"text/plain": "[<matplotlib.lines.Line2D at 0x105de3ac8>]"
},
"execution_count": 3
},
{
"output_type": "display_data",
"metadata": {},
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x105f43a90>"
}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Generate $$ y = x^4,$$ with some additive noise:"
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "def generate_fn(data, noise_amp = 0.5):\n noise = np.random.randn(len(data))*noise_amp\n y = np.power(data, 4)+noise\n return y",
"execution_count": 4,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "plt.plot(x, generate_fn(x), '.')",
"execution_count": 5,
"outputs": [
{
"output_type": "execute_result",
"metadata": {},
"data": {
"text/plain": "[<matplotlib.lines.Line2D at 0x11dbcc668>]"
},
"execution_count": 5
},
{
"output_type": "display_data",
"metadata": {},
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x11d9beeb8>"
}
}
]
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "# Start tensorflow\ntf.reset_default_graph()\nsess = tf.Session()",
"execution_count": 6,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "# generate some training data\nx_train = 4*np.random.rand(5000)-2\ny_train = generate_fn(x_train)\n\n\n# Adds a singleton dimension to tensors: shape = 5000 -> shape = (5000, 1)\nx_train = x_train[:, None]\ny_train = y_train[:, None]",
"execution_count": 7,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "# Start a tensorflow session\ntf.reset_default_graph()\nsess = tf.Session()",
"execution_count": 8,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "# Create placeholder where training data will be fed in; \n# shape = (None, 1) means that an arbitrary number of points can be fed but each of size 1\nx_placeholder = tf.placeholder(shape=[None, 1], dtype=tf.float32, name='x_input')\ny_placeholder = tf.placeholder(shape=[None, 1], dtype=tf.float32, name='y_input')",
"execution_count": 9,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "# Function to create a fully connected layer\ndef layer(input, size_out, name = \"layer\", activation = None):\n # just for naming\n with tf.name_scope(name):\n size_in = int(input.shape[1])\n # initialize some weights and bias\n W = tf.Variable(tf.truncated_normal([size_in, size_out], stddev=0.1), name = \"Weights\")\n b = tf.Variable(tf.constant(0.1, shape=[size_out]), name = \"Bias\")\n \n y_interm = tf.matmul(input, W) + b\n \n # If activation function is used\n if activation: \n return activation(y_interm)\n \n return y_interm",
"execution_count": 10,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "# Assemble a model with input, 3 hidden and output layer for first exercise\nwith tf.name_scope('model'):\n fc1 = layer(x_placeholder, 50, \"input_layer\")\n fc2 = layer(fc1, 50, \"hidden_layer_1\", activation=tf.nn.relu)\n fc3 = layer(fc2, 50, \"hidden_layer_2\", activation=tf.nn.relu)\n fc4 = layer(fc3, 50, \"hidden_layer_3\", activation=tf.nn.relu)\n y = layer(fc4, 1, \"output\")\n",
"execution_count": 11,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "LEARNING_RATE = 0.01\n\n# Scopes are like namespaces in the graph\nwith tf.name_scope('training'):\n with tf.name_scope('loss'):\n # cost function mean squared error\n loss = tf.reduce_mean(tf.square(y - y_placeholder))\n with tf.name_scope('optimizer'):\n # optimizer Adam\n optimizer = tf.train.AdamOptimizer(learning_rate = LEARNING_RATE)\n train = optimizer.minimize(loss)",
"execution_count": 12,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "# Write out some summary statistics to the folder ./graph. \n# The folder graph should be deleted before every run otherwise it clutters up.\nwriter = tf.summary.FileWriter(\"graph\")\nwriter.add_graph(sess.graph)\ntf.summary.scalar('loss', loss)\n\nsummary = tf.summary.merge_all()",
"execution_count": 13,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "# Variables need to be initialized before they can be used\nsess.run(tf.global_variables_initializer())",
"execution_count": 14,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "# Training\nfor step in range(100):\n train_loss, summary_writer, _ = sess.run([loss, summary, train], feed_dict={x_placeholder: x_train, \n y_placeholder: y_train})\n # Add training summary to writer\n writer.add_summary(summary_writer, step)\n \n # Print out mean squared error every 10th step\n if step % 10 == 0:\n print(\"mean squared error: {}\".format(sess.run(tf.reduce_sum(train_loss))))\n\nwriter.close()",
"execution_count": 15,
"outputs": [
{
"output_type": "stream",
"text": "mean squared error: 28.348087310791016\nmean squared error: 13.242424964904785\nmean squared error: 6.379327297210693\nmean squared error: 1.5243535041809082\nmean squared error: 0.7794080972671509\nmean squared error: 0.36386826634407043\nmean squared error: 0.3214814066886902\nmean squared error: 0.28338423371315\nmean squared error: 0.26345792412757874\nmean squared error: 0.28579872846603394\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Plot learned function in orange and data in blue"
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "fig = plt.figure()\nax = fig.add_subplot(111)\nax.plot(x_train, y_train, '.', label = \"input data\")\nax.plot(x_train, sess.run(y, feed_dict={x_placeholder : x_train}), '.', color = 'orange', markersize = 7, label = \"TF fit\")\nax.legend(loc = 'lower left')",
"execution_count": 16,
"outputs": [
{
"output_type": "execute_result",
"metadata": {},
"data": {
"text/plain": "<matplotlib.legend.Legend at 0x11e1e0358>"
},
"execution_count": 16
},
{
"output_type": "display_data",
"metadata": {},
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD7CAYAAABpJS8eAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztvXt8HNWV7/vd3ZL8lC1Zli0bY5mWwYCtQCQZyxkSTkBO\nTnLIJAEbB5zJDBNbzk3uuYeZZOwkEN8cZ5LBTnIu9+bD+WDhCZlMMBjMKzAhAQEDYWLZlpQQSfYI\nWw0SMpaQ5ZYt/JLUve8fVdXq7qrWw61+an0/H33UtXd11+7u6l+tWnvttZTWGkEQBCHzcSV7AIIg\nCEJiEMEXBEGYJIjgC4IgTBJE8AVBECYJ4xZ8pVRZ6GOllFZKtZl/uxz232H+r45tqIIgCEIsZI1n\nZ6VUFbALKDGb5mitldlXBvQ5PK1aKbUW2BzLQAVBEITYGJeFr7WuBbwR2xYVWmuv/Vls0lqXROwr\nCIIgJJgJ8eGblv8TUbo9SqkqpdSWiTiWIAiCcGlM1KTtGq21kzsHrfVO07ovMC8MgiAIQhKYKMEv\nc2pUSln+e4BewBNln3rzTyZ2BUEQ4sS4Jm2dUEo5iXieafHXM+zzL8GY8A1Da10D1ADMnTtXV1RU\n2PYRBEEQnGloaDiptS4cy77jjdJZC1QopdZqrfeFdEVO1r4ClGutG00L/hTQprVuHOn1lyxZQn19\n/XiGJAiCMKlRSrWPed9USp5WUVGhRfAFQRDGjlKqQWtdMZZ9ZaWtIAjCJEEEXxAEYZIggi8IgjBJ\nEMEXBEGYJGSE4De0+3jwtWM0tPuSPRRBEISUJeY4/GTT0O5jw+46BoYC5GS5eHRjJeXF+ckeliAI\nQsqR9hZ+nbeXgaEAAQ2DQwHqvL3JHpIgCMKYSaSHIu0t/EpPATlZLgaHAmRnuaj0FCR7SIIgCGOi\nod3HnQ/XBfXrsU3x9VCkvYVfXpzP36xeQmHuFD5y2exkD0cQBGHMPN3YycBQAA0MDAV4urEzrsdL\ne8Hfc6CDh97w0nXmIgff9bG+Zr9M3gqCkBa83d0/4vZEk/aCv/dQR9j2kF/H/SopCIIwERzt/jBs\n+0Tf+bgeL+0Ff0qW/S3sPdQhVr4gCCnNngMd9J0fDGuLd2aztBf8vOk5trahADwlVr4gCClMpHcC\nYPnC+M5Dpr3gz82d4tiuEjwOQRCEsdLQ7qP5/dO2ds/cGXE9btqHZc6aYn8LCritbFHiByMIgjAG\n6ry9BALgxs/fF/2Kj814iz+cvY5a79eBa+J23LQX/P0OC61SJ8O/IAiCHWu90H1FNfxN4b+hFFw/\n/W2WBQD+S9yOm/Yunfmzpjq23/dMU4JHIgiCMHY0BMUeQCm4xf1kXI+Z9oK/+aYSXA4O+3d7zyZ+\nMIIgCGPgqcZOchhI+HHHLfhKqbKI7R3m/+oo+69VSlUppbZc2hBHprw4nxuXzrW1T89xx+NwgiAI\nMdHQ7mPvoQ6eKPlWwo89LsFXSlUBkfcc1UqpNuyFzIMXB611LdAXebGYKDpOnbO19Z4d5J7H/xiP\nwwmCIFwyTzV24g/AddO9QXdOkDhPQI5L8E3hjhT2TVrrErMvkvVAn/nYC1SNf4ijMHSBX13+d7Qs\nX8tTJd8Ku0169k/vywIsQRBSimNR0idoDSf9c+J67Inw4XtGcNnkAadCtic+leXv/oJFgbeY4b5A\n2fT/ZK8n/DZpx4tHJvyQgiAIl8rxvvPMCZPFYf4nT8X12DELvtZ6p2ndF5gun8RyujH4UCm4foY3\nzMo/1O4TK18QhJSgod3HidMXOFT6Fcf+u2+6Lq7Hj0nwlVLVSqm15mYv4InYpQ+w7lHyzH2cXqNe\nKVXf09MTy3CC7PF8J/hYa6QoiiAIKUGdt5eANoQ31H+vNWhF3Kv1xWrh1wOW777E3EYplWe27WX4\nIuAJ2TeI1rpGa12hta4oLCy8pEGEznMYCxhah7eB9/vOi5UvCELSqfQUkIXfsc9163txP/54o3TW\nAhWWVa+1bgTuMLfbzG2AV0L6reievpD+icPhQwqNy9cYWek27K4T0RcEIam0dvWzpajGsa/BF988\nOjDO1Apa633Avog22+i11uUj9U8os+w5cxQwm9Ocxsg8Z1WTqfP2SoFzQRCSxovNJ/iXkNW1Flob\n1a9S3aWTshxcviFs26WU1LsVBCGpLF8wy5bJV2toPLc0ITnAMlLwlYIcV/j29s+vEOteEISk0dDu\n4/H/cM7x9eV3dnJ7AjL8ZoTgq6kLR7w6FszMYVlRbsLGIwiCEEmdt5f/uHqDY99F7IWc4kFGCD63\ntjo2u83Z8JP9A6zf9QeZtBUEIWn0nx9kumvIFo7p14kLH88Mwc+Z6Vjh6h/m/3PwsZQ9FAQhWTS0\n+9j95juOfTc0/xK3KzFzjJkh+ABTF6BD/DpKwcbCX4ftImUPBUFIBnXeXqYGnHPonGIO5YvzEjLH\nmDmCf+vbtia3GnbruF1Kyh4KgpAU8qfnULfcnk7BslGXzk/MHGPmCH7OTEcT/tvzHwagdOEsidIR\nBCEpHH3vODNcAzb//R/PXgXAioWzEzKOzBF8sOWSVgq+WvgCAK1RUpIKgiDEm3sG/tKx/U7v/bgA\n37nEVL/KLMFXhPnxYThB0fnBgETpCIKQFGZx0ra6diDgZpAccrJdCVsUmlGCr/7rUcd2y49/v+TG\nFwQhBdAafn7yc8yfNYVHN1YmzN2cUYLPnKWOfnwrPPPQuz72HOhI8KAEQZjM/Pj5Q46lC3/SfTdT\ns90JnVvMLMF3IDI888XmE0kcjSAIk4k9Bzr4Su8axz4/bi4MOqdKjhcZJ/hqziqbH98dYvV/ZsWC\nxA5IEIRJy95DHczLPm3z3wdMjfrC9ZcldDwZJ/hU/bujW2c2pwEkp44gCAnjsln2Nq1hd8+tfOLK\nuXz7s9ckdDyZJ/hZUx2bD5qLHh56vS2RoxEEYRLz3eyvO7bv7N6UkHTIkWSe4DtgpEs2fGW1h7sl\nPFMQhLhz/2+OsCDQZHPn+LXhv1++wMH8jzMZKfhnKLD58S00RmWZB187JsIvCEJcuP83R3joDa9N\nYA13jrEIK3dadsLHNW7BV0qVRWxXm387ouy/w9rv0oY4fo5V/tGxvZAeAJ6sf4+fvtQqdW4FQZhw\nGtp91PzeyxxOOfb/uPur5LiTU4FvvEXMq4AnI7Zrzbq1HnM7kmqlVBvgjWmk46Dcc7lje92KuwEY\n8GsCGgbNOreCIAgTRZ23l4CGQ6X2ZGkAs2dM5bHq1UnJ7TUuwdda1xIu3B7AEnmvuR3JJq11ifnc\nxBGRZkEpcIX40lxAdlbiljQLgjA5qPQUMDXbhQsc/ffTst1JGRfE6MPXWteY1j1AGVDvsJtHKVWl\nlNoSy7HGi7r1Pcf2HIwkRX9x5dyELmkWBGFyUF6cz/c/W2Jrt/z3x/suJM2dPCGTtqZfv1Fr3RjZ\np7XeaVr3BVFcPvFhlnPu+8c9xnVn+QJJlywIwsTT0O7jqub/5tj34+6vAslzJ09UlE6V1nprZKM5\nmbvW3OzF2eUTPyJup5SCj844BsBDb3glr44gCBPO042dfHT6MZs7B4xwTAC3Oznu5JgFXylVrbXe\naT6uMv/nmd31gOW7L8HB5WNeFOqVUvU9PT2xDsdGtPBMgPuebZIoHUEQJpSjDrU3tIYTA3OC2zdd\nVZj6k7amtV5hWe2mwO9QSrUppUKV8xUA08Vzh7l/WxSXT43WukJrXVFYWHjJb8SJpy4/4NhuhUsF\ntHE1FgRBmAj2HOjg2LvOq/lvad0VfDwvd0qihhRG1nh21lrvA/aFbNcCtsuU1ro85HFNZH+ieO5t\nze0OmRYOrvhrljY/D0BP/8UEj0oQhExl76GOqOGY55kGQE6WK2n1tTNypa3FZ1YsIIA9PNOthhte\n/U9JtSAIQuw0tPs4fOKMLRxTa/jQb1j0LgXf/9zypAWMZLTg37VqMc8sdnbrWAwFxK0jCELs1Hl7\nmep3rp29+vC/AIb4J6p+rRMZLfgAaz9+g2O6ZCseH4xUC2LlC4IQC5WeAvYvd3bnfMhMIPmLPTNe\n8KOxx/Od4GN/QEuKBUEQYmaGa8AWjhkaKJhMdw5MEsE/zrU2P/5Hp79tPCb5V11BENIfJ9ew1vDH\ns8OrbpPpzoFJIPh7DnRQ1fSPtnaX0rjxU7Ekn223LqfO2ytuHUEQLpkL/e2O7Xd6fwxAVpIyZIYy\nrrDMdKOh3ce255oZ0jmO/d+e/zD/9O7XaOzoQ2tNltvF2vJF3F62SNIuCIIwLn7s/pxj+wCG/qRC\nOpeMtvCNNKXOS22Vgq8WvkAAw4cf0DAwFOCxAx2SJ18QhDHR0O7jwdeOsedABwqncMxhY3P9ysWJ\nH2AEGW3hV3oKyMlyMTAUYFArstFhX4hTrgvNcGKjZF+NBUFIXRrafWzYXcfAUACAO1fY91l9+JcA\nFM7M4a5VyRf8jLbwy4vzeXRjJd/81DK2BH7ruM9MPgQM8c9ygVvJJK4gCKNT5+1lYChAQMN0/aGt\nX+vhcMzZSShn6ERGW/hgiH55cT4N7QXwpr1//7VfofTw06wszidveg5zc6eID18QhFGxPAgXBwPU\nOcTfDzFc6ORvb0xsouBoZLSFH0p5cT4BNdUWnjnTbYRJHXzXx0uHu9nXIKtuBUEYnfJiI8IvC78t\n/l5r+PO5K4HUcefAJBJ8APdtJ5zb8QcfD0idW0EQxojv3ADfLPoXx767vD8C4O/WLEvkkEZkUgk+\nU/Mcm7fM/3nYdv/5wUSMRhCENKfSU8CXC553XF07QA5LCqanjHUPk03wHTDCM38d1rb7zXckLFMQ\nhFFp7epnhivcQNQaugaMOcBUmay1mHSCPxjhx4fwdMkAAS25dQRBGJ3Xm1sc229pNcqApELsfSiT\nTvCbVh0GhnPkW/+ncT64T46EZQqCMAYenOZcrHxOXj4/+mJpSrlzYBIKfnnJFaCGF11Z/19dVg0Y\nM+qPbqyUsExBEBxpaPdx7zNNbPplPW6t7f57DV2nL9Dy/umUcw2PW/CVUmUR22uVUlVKqS1R9h+x\nPxVQCopyjC+m58MBWrucixgIgjC5aWj3cefDdTx6oINXD79v69cadvd8Fr82EjemWpqW8RYxrwKe\nDNkug2Bt2z6Hi8GI/cmgod3HIz2ftfnxYbgoyn3PNqXUlyQIQmpQ5+1l0EylsLXIuVz3ju7NQHia\nllRhXIJvCrc3pGk90Gc+9gJVEU8ZrT/h1Hl7+dGJzY59j3m+DUBAS9lDQRDsVHoKyHIbPpyNhf/m\nmI/Ljxu3S6VkmpZYUyvkAadCtiPf2Wj9CafSU4DLbX/bSsFHZ7wd3O7pv5jIYQmCkAaUF+ezruJy\nHjOzY4aiNfhNz8H6lZdzWd40Kj0FKTUfOPkmbYvzeax6NUcGrrK5dRTDbh3npMqCIEx2bi9bxAzX\nece+G5qN7JizpmTxjU8uTSmxh9gFvw+YYz7OAyKdVaP1J421R3c4tu/xbAXgaHc/D752THz5giCE\n0drVz8tXbXLsO2XKXcuJM4kc0piJVfD3AlYaOA9QC6CUyhupPxSlVLVSql4pVd/T0xPjcMZGnbeX\n8wH7CjiloGz6UQDe7T3HT19qTblZdkEQksveQx0UZffZ/PcDgWE5/cyKBQke1dgYb5TOWqDC/I/W\nutFsrwL6rG3glVH6g2ita7TWFVrrisLCwkt/J+Mgf3oOGjgbyLa7dUK+xICGgcHUmmUXBCF5NLT7\n6DjeYWvXGn5+8i/Jm5aVkguuLMY1aau13gfsi2izxSZprctH6k82vnMDKKCy5V9pKv2SrX8mHwYL\nFwQwLhCCIExuGtp9bH++hQPLN9j6NPCT7rtBDbGsKDfxgxsjk27SFoxInSnZLs6rmY79+68dLmag\nMC4QgiBMXhrafdxZs5+3Ok+TrezlURVGOKZfk9IegUkp+Fbpw/U3LGZQu6IWRQFwu1RKxdEKgpB4\nnmrsZMDvHLunNQwEjOpWLkhpvZiUgg8Ew6VWNv+rY38RXQBcOc/5LkAQhMmDZdCHJlkM5YYWIxyz\n6tr5KReKGcqkFXwwvsTTzHbs+8OKjQAc6ernzoclUkcQJjO3lS1CAf9+9Vcd+08zm2y3YvNNJYkd\n2DiZ1IJ/W9kicrJcdA/OtLl1Qn10UvZQECY35cX5XF2Uy7zsM7batQFTO5YWzkxp6x4mueCXF+fz\n2KZK7vU/69hvuXUgtf1ygiDEj4Z2H9W/rOdMv/NdfmXzI4DhDdhzwB6ymUpMasEHQ/S/XuWcxNNy\n6wiCMDlpaPexvmY/Lx3uZt/lX3Hcp4fh9UMvNp9I1NAuiUkv+BZO0TpKhaRMfqYpSSMTBCFZ1Hl7\nGTKjc4oi3DmAbeHm8gWzEjSyS0MEH+NLXdXiHK1j5dZJh9s1QRAmjoZ2H8f7zoclVQxFa2g8d2Vw\nWwG5KVa0PBIRfAz//Pks+2RLaG4dSP3bNUEQJoY9BzpYv2s/jx/sQAN7S77luN9d3uEkjFOyUyv3\nvRMi+AwvxDqj5jjm1rFib5cvmCUZNAUhw2lo97HtuWaGAjoYgXP9dK/dnQMMkINbwYZVi9OiFnas\nBVAyhvLifFjQjt5nz4Px2rK7qWx9nIfffIdAQJOd5eKxTan/5QqCMH7qvL34A8OWnxu/bR+t4U9n\nr+Ky/Gn8f1/6aNpogVj4ITScGLS1KQXzcz4EwB/QxlV9KCAlEAUhQ7FybVkG/XeKdjnu9yXv/Sit\n00bsQQQ/SEO7jw276/jj2aWOBc7nhFVqlBKIgpCplBfns+3W5bhdhuR/tfA3jrVrB8jh/b4LaeXi\nFcE3qfP2cnEwwJfadjr2H1wRHoP7ausHafVFC4IwdnznBghoHdWdc2JgOCVLOq3CF8E3qfQU4HYp\nBsjhbABbTL5bwWxOB9uG/FrcOoKQoVR6CnAp+Ieinzv239K6GzC0IdUjc0IRwTcpL85n++dXkOVS\nrG553HGfg8vDrXxx6whCZlJenM+SuTP527m/dnTnnGcaAIW5U9LKhy9ROiHctWoxy4py2f58i61P\nKchxhd/eOWfHFgQhExgcCpCtwn/lWkNoWvx0su5BLHwb5cX5rLhsNgHsy6YBChkutF57uFtW3wpC\nBtLQ7iPr1J8d+25o/mXw8W9butJqLi8mwVdKlSmltFKqzfyzxS8ppXaY/6tjOVYiua1sEZVRUi3U\nrbg7+FgD33u2Ka2+cEEQRueh19uoLb3Hse8Uc4Ihm4Npljo9Vgt/jtZaaa1LgHXADod9qpVSbYA3\nxmMljPLifG6/sdzWrhS4VPhCDL9GJm8FIYNoaPdRd7gNwDH3vQKys1y4lfE/ndw6MQm+1ro2ZLNC\na+0k6pu01iUR+6Y8LSfO8Na5Eke3zpb5/xy2/fihDrHyBSEDaGj3sf35FvYv/yvH/srmR1iYP43H\nNlXy959alhbpFEKZEB++UqoKeCJKt0cpVaWU2jIRx0oUyxfM4o62H9valYKvFv46rM0fSK9YXEEQ\n7Ow50MEdD/2BtzpPM8M16Jg7p4dCTvQZubW+8cmlaSX2MHGTtmu01n1OHVrrnaZ1X2BeGNKC3GnZ\nDJDDoFY2Kz8yJj/brdLqtk4QhHAa2n3c+0wTfh09FXKXtdhKp6+BN1GC71gySilVrZRaa272Ap4o\n+9Qrpep7enoiu5NG/vQcAFY2/8qx/+DyLwOQO8XN49Wr0+5KLwjCMLtebwuGWT9R8k3HfW5p3W3k\nxk+DNMjRiDkOXynlJOJ5psVfz/BkbQlgi+LRWtcANQAVFRUpE9ruO2dc5U8z29ZnxOQby65D1141\ntPuo8/ZS6SmQC4AgpBHdZy4ARkDGddPfsU3WnhjIZXZuHv/nx5ak9e97ohZeRU7WvgKUa60bTQv+\nFNCmtW6coOPFnUpPATlZLgaGApwN5DDDNWDz6X1r/iPs6N7I9udbWL9yMdtfaGFgKEBOlivtJnME\nYTKz2lPAW52n2Vr0z479t7T+nF/9H+Vp/5uO2aWjtfZqrTdHtJWHPK7RWu/TWjtnJUtRyovzWVu+\nCIDKll/a+pWCv537LABvdZ7me882MTAUIKDTLzZXECYrDe0+qn9ZT83vDZv1q4XOqRQK8tJb6C1k\npe0IrFhouHM+ZCZnA9m2ydsc1/Dkrd+Mz03H2FxBmIw0tPu48+E6XjrcTUBDCcdsgqg1DARcdPZd\nYMPuurQPvxbBHwHfuQHMlNhRV94eXL4h+Piq+blpGZsrCJONhnYfD9S+zcBQINgWbWXtDeZvfyAD\n7txF8EfA8uMrDCs/EmPydjiM60hXP/nTc0TsBSGFsYod/f7oyWCbVbc6crJW6+HADUX6JUuLRAR/\nBKzi5neuWoxL4RiTD/CY5zvBxy82n0jgCAVBGC913t4wyx7gtas3Oe77sebdwce3XDM/7Y05SY88\nCuXF+ZQX5zNrShYr3/gVfyrdENavFFw/4+3g9sVBPw3tvrQ/MQQhU7Hu3C8OBoKx9/Oz++wrazV0\nUQSA26XYfFNJYgcaB8TCHyO507KDt3aRVr4LHXTrHHzXx7qH/sCmX9an/QSPIGQi1p37wnyjiEm0\nMoaN55YGtzfdeEVGGHEi+GPEKoG4umm3Y/8ez7eDjwMaXj7czZ01+0X0BSEFae3q57jP8Nt/u+gh\nx33u8g5HkudOy07IuOKNCP44UGi6KLJVulIKyme8HZZfB2DQr9N+Vl8QMo2Gdh/bnmsGDOt+Y+GL\ntslav4YBjPQqWa7MyZUlgj9G6ry9BEyl393z3xwnb638OhauNCtwLAiZTEO7jwdfO8aOF48wZP6Y\nf1T0U8d9Q6tabf/8ioxw54BM2o6Z0ImeHV3VbCr8t7B+K79ODgNBy2DTxz0Zc6IIQjrT0O7jzpr9\nDIQUpJ3Jh9xR+IbjytpTzAEgy61YVpSbqGHGHRH8MWJN9NR5ezna3U/3xTzmZ9ln9vd6/o4veh8E\noOYNY7l27rTstE64JAjpzkOvt4WJPUCdQ5ETreFDf87wdsBwy2bKb1cEfxxYX/rPXj3KS4MP01K6\nLqzfCNFsD24HgIfe8OJSSEI1QUgSDe0+XjnSbWt3KnICsPrwsDvHnUH+exAf/rixFm2cYxoB7CGa\nYNwqhiIJ1QQheTzd2Bmcf7OI/I2CVeRketiq+nUVl2eUkSaCP05C0y2sbLJn0QTYf+3f2Nrcbkmo\nJgjJINImc+OnccVdjvve3PovwccuBbeVLYrjyBKPCP44sXz5a66dzynm0D04PczKVwpmui8Ec3ME\ncboVEAQh7txetogs97DvZkvRbrJVwDFvznmmBdsyIZVCJCL4l0B5cT7XXZ6HAj75n//iuM+ry6rD\ntgf9mu3Pt8hCLEFIMK1d/WjTpzON81QXPu/ouw/NmwPwyWXzEjG8hCKCf4lUegqYku0KswgslIKi\nHF+Yn1BjFEqR1beCkDj2HOjgvmeN4uQAr119t20fK+e9lTcHDHeOVeY0kxDBv0Qs184NS/LpHsxz\n9Njsv3YDuVPcYW0DYukLQkKwVtRaE7Zu/MzP/tDRurdy3rtdRhGjnAwtYhSz4Culdpj/q6P0r1VK\nVSmltsR6rFSjvDifJ772Mf5Xzq9tfYYv38+5i3YrQSx9QYg/dd5e/CHhOd9zyJljpVGwEiN+aeXi\njC5iNBEWfrVSqg17IXOUUmUAWutaoM/azjR23vVxwHle9vvzf+L4nAHJsyMIcSV/ek4wQqeQHv46\nImeORWgahdwpWXzjk0szUuxhYgR/k9a6xBT1SNYDfeZjL1A1AcdLSf7J9W+2NqXgy/N+b4/YMek/\nPxjvYQnCpKXl/eFkhgdKnX33XQOzgmkUAPZnuBE2EYLvGcFlkwecCtnOPKeYyac/tppzgSxHK/+V\nZV91fE6mn1yCkCwa2n3sPdQBwGUcR4FjgZObW/85rG3+rKkJGmFyiFnwtdY7Teu+QCmVsRb8aJQX\n5/Md/Vtbu1KwIOeM48q+lhNnxI8vCHHgqcZOrCqGb5ZutvVrDT/v+VRYlF22OzOqWo1ETIKvlKpW\nSq01N3sBT8QufRC8X8oz93F6jXqlVH1PT08sw0k6F5jN2YCzL3//tX9ta/P7NQ/Uvi2iLwgThJUC\n+WT/RQCupBWwW/cA/9T9jeDjpfNm8nj16oz13VvEauHXA5bvvsTcRimVZ7btZfgi4AnZN4jWukZr\nXaG1rigsLIxxOMllbu4UKlset7UbETsXmRPm3TJi8988epINu+tE9AUhRvYc6OCOh/7AT37XykuH\nu5nGeV4q/aZtP62heyAfP8Mh06uumJPxYg8xCr7WuhG4w7Ty28xtgFdC+jFdPX0h/RnJ7WWLOMtM\nzkbx5R9c8RVbm0YSqwlCrDS0+/ieucDK+un9+9XG3JmT7/6TrTVhbcsXzk7AKJNPzOmRtdY1Dm3l\nI/VnKuXF+ay5dj6VLb+iqfRLYX1KgRuYw6mwqACQxGqCECt13l5C091fwTvMyz7jKPa/6LnZtkI+\nE1fVOiErbSeYzTeVcJaZvHVuqaOV31D6FdsEbuHMHJ5u7BS3jiBcIpWeAnLMBGlu/Lxa+t9t+1gJ\n0n7Y/T/C2rPcmZXzfiRE8CeY8uJ8Pn7lXO5o22nrs6yNyAnc430XePRAB3fs2s+eAx2JGKYgpD3W\nBO2eAx3UeXv5bOkCAL5d9DCAYzbMjzfvCvruFXDDknz2ToLJWgupeDXBNLT7+I9jJ/GTwyM9n+bu\nwt+FnXihE7iRrh1/QLPtuWaWFeVOmhNQEC6FhnYfG3bXMTAUCCtuksMAGwtfiJoNs4siFHDXqsXc\nVrZo0v3OxMKfYEJ9iT/s+jrgHKbpNIELMBTQPN3YGa/hCUJGYFWei6xk9VjJ39n2tax7KxvmyiX5\n/PCLpZNO7EEEf8Kp9BRg1Vrw4+bGpl22fZQyMvKVcMzxNR490MH9vzkSz2EKQloTWnnOYiYfUja9\nfdRc940dvkk7XyaCP8GUF+fzgy+U4nYZZ91xLota+7a29B5mc9regVH8XERfEJwpL85n263Lg78z\no2zhnbb9Iq17gKEAkzYMWgQ/Dty1ajFPbF7Nx6+cCzjXvrWskIPLvxz1dXb93jtpLRFBGIk9Bzqo\neaONIdNlcDvKAAAgAElEQVSn872ih8hW2tG6/3hz+F22WzFponIiEcGPE+XF+dxTdRVZbsUp5vCL\nnjU2K18pyHHpqK4dreGh19sSMFpBSB++8s8H+O4zTbzbew4w1rY4pT7WGh754FMc57JgmwJ+8IXJ\n6b8HUDqFimtXVFTo+vr6ZA9jQrn3mSYePdCBGz9HSz9vy9pnffyrm3aH3XaGsuba+XztppJJe5IK\nQkO7jzpvL0e7+3n2T++H9bWV3ooL5zDMK5ufC4ZhFs+Zzv9af33G/Y6UUg1a64qx7CsWfpy5rWwR\nLmVM4FaYrp3Qa6x1kv5hxcaor/Hy4W7JtyNMOkLj7DfsruOnL7XyXITYz+a0Tewtbmn+WVi+nON9\nznUpJhMi+HGmvDifv7xuIQCnmENV0wO2fZQy/qK5dkDy7QiTCyvO/qcvtbLtuWbHEEw3fhpLN9ie\nqzWcGJjNO1wR1h4ISJU5EfwEMGPK8Pq2NpYC44/aYRJPNAmTj9A4e6surUtBdpaLGTmG1f6Doh2O\n1r3WcEvrbiLJyZacVSL4caah3ceT9e+Fta1uMk5GJ9dOtKidQGD49R587Zi4d4SMxoqzd2Fkv7R+\nK4NDAc4O+LmCd7iz8A+OYh9Z2CTLBRtWLc7YwuTjQQQ/ztR5e4OhYxZdFHFb0322fa2onWtosvVp\n4L5nmli/az8/falVfPpCRmPF2S8umI7COP8DZurjIrpGTI4WWtgEQCk1KdMoOCGCH2csS8Wtwj/s\nP1LJoHZ27fym9DtcwTu29iNd/QwFNAENA+LTFzKYhnYf219o4d3ec4T+RNz42V9qBDhEi7kPnagF\nGPKL795CBD/OlBfn8+jGSv7+U8uounZ+WN/K5kcBZ9fOq6X/fcRJXK3h31s/4N5nmthzoEPcPELG\n0NDu44Hat7kwGLD1bSv6KeDstx8IEBZzb5GdJb57C4nDTyAN7T7W1+xnKKRSQxFd7C/d6HgCA1zf\n9CinGb0ajwKmZLsc/ZRWDHOlp0Bua4WUJloWTIBCejhYerfjb0Vr+Giz/bdy3aLZbPvc8ow+7yUO\nP0UpL85nfcXlYW1dFLGn5y8cV+ECNKzYgBv/qK8drVRiaHib+P2FVCdaFsxpnOdg6d22/S2xX9X8\niE3s3YqMF/vxIoKfYG4rW0SWK9xE2da1xTHBmpVV8/75O0Z9XRfOt66hPyCJ5RdSmYZ2H+/3nSfi\n54EbP/XL1wPOfvs1zQ/QQ6Gt/ZZr5ovYRxCz4Culqs0/R1Wy2pVS1bEeKxMoL85n++dXhJ3UftyU\nNdn9+WCc4Gvn/YEiuqK+5mX50/jmp5fx6MZKgDB/fuiksfgyhVTDCjO+/zdHuGPXfh490MFQhOv+\nvqKfMd0VcHTlnPVnB9e2hJKT5WLzTSVxHHl6ElPFK6VUFVCrtfYqpZ5USlVprWsjdqtWSq0FNsdy\nrExiWVEuWS7FoF8HIxBOM5vVTbvZX7oRre2WzP7Sjdza9I+0cL3t9T5XuoBvfHJpmP/TpRTbP7+C\nu8z4Y/HhC8mmod3HU42dKIw7XYA7HzbO12hcSSt/U1gb1W9fefhfbc+ZDH77SyXWEoce868G8JqP\nI9mktd4X43EyCis2X2PcYlmnexdF3Nr0j7xQel+Y6CtlnNwvlN7HjU27bJEIL/z5fRYXzODF5hNc\nHAyYMcvh5RLl5BcShVOQQEO7jztr9jNgBiw8fug9pue4RhT7a2jiN6XfsbVbYv+R5sf5kJm2/uWX\nzZbzPQoxuXS01jVa6xpzswxwCrHxKKWqlFJbYjlWJhEWmx/hsGzh+qiLsgDeLN1MIT1hfZ19F/ju\nM028efRkWMyy5A4REk20IIGnGjuDYg9GuoT+C9GDEa7gnaDYO2XB/HTzTx3FPsetuN28exDsTMik\nrVKqDGjUWjdG9mmtd5pungLTBRT53GqlVL1Sqr6npyeyOyOxYvPX37CYm6+eZ7tdjbYoK5h+ofRu\npmHP/BcZYKuBt97rk8gcIWE4BQk0tPvY1zD2Os0lHAuupI22uOooy2ztNyzJ57Hq1WLdj8BERelU\naa23RjaaYr7W3OzFweVj3iVUaK0rCgvtM+2ZzNONndQe6UY5LIVwWpQFwz+AP61YRw4DI76+Bl46\n3M2dD4eHYza0+/juM03c+0zTmC8GksNHGAtOQQJ13l6G/NFdN6FcwTvUlt4DOC+uCmjnxVWAnJtj\nIFYfPkqpaq31TvNxlda6VimVp7Xuw3DxeM1dSwB7Re9JSqgl5MIIv7RyhYAxiXtD0yMcLL3bNomr\nFOQAjdfeTtnhpxggZ8RjDQwFeKqxk/LifJsv9cmGTh7bNHJSqdDJ4Jws58VdggDDd6+RPvwsd7i/\n3sqPE8plHI9q2QcnaZsfiXrsgDZ+V3JuRicmC9900exQSrUppUIvr68AmC6eO0wrv83J5TNZCbWE\ncrJd/OALpXzr08v42ieGb4J6KOSGJuMEd7L0Z7g1h0tvYyYfjnq8vYfeY8+BDuq8vQyG+FLHEpsv\nsfzCeCgvzucbn1waFN7y4nxuuir87j1S7K+klTdLjUC+aGK/vPlJx3h7i2y3krDjUYjJwjd987bL\nqda6PORxTWS/EN0SAlhcMIP/5+VWfOcG6AkUclPT/+b10q87WvpuDU2lX6K86ZecYk7U4/kDmnuf\naWLlknzcLoKxztlZLvKn5/Dga8eihm1aF6fBoYDE8gsj0tDu4+nGTjRwe9kiWrv62Xuog6bjUeo8\nYPjsXyr9JhBd7D/WvDss5TGA26XYdOMV9F8cCh5PrPuRkVw6KcyDrx3jx79rBWA5f+KFUiN6J1re\nHaeQTSfcLsXNV89jXu4Uli+czfYXWkZ110g+HmE0Gtp9o8bVR7KMw/y21AjgG0+OnKJZU/i/brmK\nu1Ytjnnc6Y7k0skQ8qcP++ZbuJ4vNG0Dok/kvlm6ecQVuRb+gGZe7hR++MVSfOcGxuSuKS/OD07A\nWZNjMpGbeJLxmUc7ZkO7j3ufaeK7ZsbWB2rfHpfYf5S6EcV+IGDE2jslD/yg/yLbX2iRc2+cxDxp\nK8SHhnYf3/91c1jbW9zguDALhhdn7S/dyA1Nj4zo6wR4u7sfGHbXDAwFUErRf37Q0b0TOXG77dbl\nY7ozECaOS5k8j3ZnFtoORL17c/refecGyJ+ew/efbxmXwFtM4zz/fvVfMy/7HOAs9n4N17Y8Z8tt\nn+NWwZoQloEi593YEcFPUeq8vWELVSxauJ4bm3bxZunmqKJ/sPRubmu6jz9SGfX1D73rY8+BDu5a\ntZhtty5n23PN+AOah97whqVatsbyft/5sDuBF5tPON4ZiNsnfjhNnl9KdJXVfnEwgMtc/OcPaMeL\nSOgxB4YCbHuumYDWuJSyVXIbC7M5zZ/MwuNOMfaW2Jc3P2oTe4ChgCbLHK/MJ40fEfwUpdJTgFsZ\nJ38kx7lsxIlcreHp0n8kAKwcYTL35//xDr5zA7zfd56AHs7rozF+3Nufb+HIiTMM+nVQGJT5Q/vM\nigUcevdUcCK3//wg63ftxx/Qtrz84v+fGMY7eR7tAlHn7Q2m4PBr8JsnWeRFZM+BDl5q6Qp+70oZ\nQmul7hgvV/DOiAuqrDj7Zc12y95CAesqLmdh3jQ5ny4BEfwUpbw4nx98oZTvPdvkKPodLB4xTh/A\npaGh9CtRrf1jH3zIj3/XaouJVhg/vLc6hyMr/NqICFp/w+Lg0vXbyxahgRULZ7PtueagxTcwOCwc\n8Yrhj+Uikq4XIKfIrpFcM9EuEJWeAtyucAtdEZ5Ndc+BDr77zHBt5cvyprJyyRye+9P7lzT26zjI\ns6XbjWNFCTrwa7ih+ZeOYp/lUmhtGBtSn/bSEcFPYe5atZhlRbk81djJvoZOhoYChHpMe4gesglj\nt/YjxX5h/jSO+xxSN2jNZXnTaO3qD7qApmS7zAvE8Ku4XEY8tFWqLugSGAzwQO3b3FN1VUwiDVzy\nRSTZi8hGuthESzoW2tba1U+dtzc4oW+9lyy3C7RmKMI14xT6a6Xo/t6zTQQ0uF2wfuXiMCF9sflE\n2NiO913g+CWI/Uw+5MDyLzHdDA+JFonzmeadtHJt1NfZeOMV5E7LTruLdKohgp/iWJkuby9bRJ23\nl/7zg+x6wxsUacvSr1txdzDkaiRrP1qKZQsNjmJvvJbiaHc/z731ftAquzgY4Gh3f3A8bpeRlhkM\nMQqtSxoA/uPYSQ69e2pUoR1J4G8rWxS8iFwcDPC0uYp4LIzXDx5tTGMde7SJ79D01ZF9lmBHvu+/\nWb2Eh94wFq7//uhJlhbOCLpmBs3JU+vxU42dwTF845NLg8ewYuRXLJyN2+0iMBTA5XKxfOFsnmrs\nZNfrbQCc7L84ps9kJMbiwtEabmn+Ge9wRdTXcSnInZYdfB/CpSOCnyZYwv/ga8dsqxR7KKSk+YXg\nbfNI1r4Vy39z08g/Mif8Ac2zEVaeBg6+6wtrWVaUS523N0zsreGMRaTDhNGlmDsjJ0zYFMNL9TXw\nZP17UW/zI8U3mpsjNFf78oWzaXn/dHAxDzB8l+W3T4BaFrcVvRIZvQT2ie/I9NXRVjOHtv22JTzk\n9ljPWcCIrc7KMi18K2VG/Xv4Azp4YVlWlBsWI+9WxnengSF/gPtMa38iuJLW4EIqGFnsK5pHXjAI\nxnctk7MTgwh+mlHpKSDL5Rwh8RY38Kmmn/K7Fc6rFq1treHV0v/O2qbv0sDHJnR8/gA8UPs2yxfM\nCmvX1vHNfEF7RxDpUPEL+DVdZwxr0/Iz32bOHTx2oMOYeDTTQI8WUujk5gC495km9h6yV1oCeKL+\nPdNVMtwWKshWtIs2x6fMnEjWfk81dvJ0Y6fhdnEplHXlNcdtubicLkStXf24lCKgjTBEp3lSl4K/\nWDqXe6quCnO1WROx1oXl5qvnhYVQ+rVxN6a0tZ/9tcfLHE5xqPQrjneaoYSunh1N7BWwtlx89hOF\nLLxKMyz/a5ZL4fR7Osoyrmx+jkc/uDH4w4rE+iHuK/0R75TeymUcn9Ax/v7oSWp+77W1h45lyK/Z\n9Xpb2IIea4FP//lBRwGaP2tKULRvL1vElGwjF5Hb7eJ433nbIpzQC4d1V2G5NY73nae1q58Nu+vY\n41BWL3SckX1ut5GO4oHat4NiD5jRK8P7KaU42X8xOAZ/QHPL1fOC3502P6v1u/bT2tXPoxsrueWa\n+Sybn8vLLV18/9fDE+EaaD91DpeCpfNmkuVWRh6mLBf3VF0FwM/f9AYL64S9h4DmpcPdYW0KQiJu\nnN/7eFjGYRpMsVdqZKu++WwBVzc/TRdFo75utuS3n1AktUIaEumL/clLrZw6a0+VXEiP4dsPqZwV\nifX1nxycySf+8xFbvpJ4Yo3LpRQbb7yCX+x/N+jfdrqDuXZBLgUzp/CZFQu4a9Vi9hzoYO+hDlre\nP01AG5Ec6youD945RC71d7uMY1nJ4yIzlI4Vy5LXY3hulgtcLhdD/kCYe2X78y1hUVBuBZs+7gn6\n6EfiHz69jEpPAU83dtLTfxHfuQHq3/WN+31MBG78/FPRD1lXeBAY3ar/L83/mw7Gng4h2614XHLc\nj8h4UiuI4KcZTm6K1q7+sBC6SFbyJk+U3g+M/IME+K9NI0dLxAtXhICGln504muf8PCL/e+GzRMA\nwUVj1orQ11s/iJhjiM7saVmcPj8U1lY8Zzrv+c6NaAVHWy8R+hqdvnOGG0XB565byPN/PoE/4kVn\nTc3izIWhKK9i4FLw5NcMN9yXavaHZT5NNKU08OvS/xsYXegf61nNtu5vR42vj4YCvvXpZTJhOwLj\nEXzx4acZTpN73/jkUn7bfII3jp50fM4hbuTapid5bdldzM8ZBKJP6lq5TUaL5ploIgU1gGEdR3O1\n7H7zHZtggnHBuDgYCPqyI/dwqegujEixBzh++vyoLo/RNLf91LmwfSMnvi1GE3sYvjDf90xT0sS+\niC72l24Mbo905ziWkMtQIteEyGraiSXlLfzBwUE6Ozu5cOFCkkaVWgwMBTj54cVgJM7cmVMA6Om/\nGOJL1rT3DfKzAz7OXAxXzPFY+8Coq3XTjWuKcum/MEhnX/qeT0W5U+iagLDJ8TKW6BsYPdwy8m4u\nlI9fOZfPrFhA8/unUSCLrMZARrl03nnnHXJzcykoKDAiHATOXhzi7MUhZkzJYsaULD44c4GuM8MC\nprVm6NwZGttO8MM37NkvZ3Oag8v/ihyXcTEY6WMNPT3iEdUjpD6hrhsY3VCwVsxGMxKcql0BZLkV\ne8VfP24yyqVz4cIFlixZImIfgiX0odtKGUvPwYgOyZo+i+I8ZxfPaWazrOXXlHCMl0vvAYe4fYvQ\nUM59pT8Ktq9u2j2mKAshvYh014QymmGgNaxpfoA2Rva3RzMx11dcLmIfZ1Je8IGkin1tbS1PPvkk\nu3YlphxvTU0Nc+bMYe3ataPvbDJjShZzpmfTGxKpo5TCOXBzmDaWcmXTc9w//37WzttvPs9539B2\nKw1zKJeykEtIPpFuGoux/uQsq75nIJebWn8+piivLLdCBzTKpcwLhQ6uoBbiy0QUMV8L9AFlVjHz\n8fSnOlVVVVRVVcX8Ovv27RuXiI/3dfKm53Dq7CCR05QK+Pz1Czk74OeVI922CUg/bv6h+17u7R7g\nCc/XuW7G8GrOsYg/DC/kcuKmpvGF4Qmxcw1N/Kb0O+N6znhtKkvoA9ooLD5a/QWLT1w5l/9RddWY\ncvELE09Mgq+UKgOjtq1SyqOUKgstVD5a/2Ri7969EyL40V5nxpQsFuZN5f2+82GSr82+v1q9hNdb\nP3DMsQ8wQA5f8O4GDMH4txXDgjGaGIzk03299OsjP1mIGxN9Yxw2mT9Oobc4fX4wmCbEQoQ+ccS6\n0nY9hvUO4AUiTeHR+uPCRJaBa2xsZOvWrTQ2NrJmzRo2b95MeXk5fX19NDY2Ul5ezubNmykpKcHr\n9dLY2MjmzZsB2LlzJ/v27WPr1q3U1taybt06+vr6bMfo6+ujvLycdevW8eSTTwLg9XpZt24da9as\noabGqAMf+TqR+xTMnMLCvGk2R86T9e/xVGNnVLGP5AileJpfYGnTczz3wQ1B/+x45/etFZfyl5y/\nWAn93q2/m5t+xhVNL1DS/MK4xR6g+f3TfPeZJilNmCRidenkAadCtiMDZkfrn3Dimf721KlTvPzy\ny2zdupX6+nrmzJmDx+Nh165d7Nu3j127drF+/Xrb83bs2EFjY2NQzCOpqalh8+bNVFdXs3On4fXy\neDzB/cvLy6murra9Tl5eXtg+G/76b/EHNAvzpuE7N+zP9wc0ipFj0J3w4+ae7m3c0x2yajdiH5lL\nzwycLuZaw8ebd3GcyybsOP6AkQPp6cZOKYuZBJI+aauUqgaqARYvjt3XG0v629GoqDAinwoKCujr\n62POnDnMmWOEnlVVVUUV/NFoa2tj69attvadO3fS29uL1xt9uX3oPu+cPIvWRmWiBbOn0q6MlZ1W\nwrHcKVljWrrvhJWR08II7dxATpR7RLkQpAZjvSsba4TNWIgWdmm1a6QebbKIVfD7IBhsmwdEBn2P\n1o/WugaoASMOP8bxjLsMXKycOmXcwNTX1+PxeMjLywv2tbW14fF4Rn2NkpISamtrqa6upre3F4/H\nw86dO/F4PGzZsoV9+/Y5Pi90n71PPIm2yhRqjT+gmTtzCn//qWXBCbHy4nwWF8zg/hePjGlV50gY\noZ0v2Nov4zi/X7E5ptcWJo6BANzQ8iinmR23Y0SuiN78CQ/ek2eDQQJul5Erqf/iUDBts6ygTQ6x\nCv5ewAr49wC1AEqpPK11X7T+eBKtyk+8sPzoXq+XV155hby8POrr69m8ebPNMl+zZg27du2yXQSq\nq6u55ZZbePnll+nr62PlypVUVVWxbt06Xn75ZdsxrdcJ3celhlPvKqWYMSWLnCyXLQfJsqJczl4M\nF/vCmTmcPj/IkF+PmL9mLBznMjzN9guBkJkoYMncmRz74MPgdu60bGq+UuFYCOY2s5CPROUkh5hX\n2pouGS/gMa11a+VXebT+aDittD1y5AjXXHNNTGOMF42NjezatSthMfqjEbkC1+mze/C1Y/zkd63D\nFaoUPGEm43KqqCUI4+VHXywNVvIS4k9CV9o6ibgl9tH6hfgQuQLXiUpPAVOyXQwMGtWktn9+RVit\n04Z2Hw9HSUwmCKPhgrCAASG1SPqkbTpTVlaWMtb9WBnN5VXn7SUwRrHPm5ZFn0OGSSGzuWFJPn/q\nPB1WQQsMd05OtvjmUxkR/ElI5MKXUKw7gMg8804UF8zgdOdpcf9kKF+4fiG/fuv9sFDenCwXWz9j\nuAkfqH2bN4+eDJZ3vPFKo9Si+OZTFylxKIRh3QFsWLWYLPPsiBZiuX7lYjZ/YvQoJCF1URiVwCL5\nxJVzmT4ly6h7i1F56q5Vi3lsU2XQYLin6qpgmckp2S4R+zRALHzBhvWDXr5wNtueayagNS6XCvPr\nf+ra+cGJucUFM4KlBv0BghafS4UXB5k6xjuHSD5x5dyoxV3GQ+HMHBbmTQsrLZhKRItfjycaCDh8\nJW8eOxlm2QcCmsvyptlSIiQyIk6IHRH8Udi5c2cwNLK2tjaYSG3r1q1UVFSQn58fllzNKexy586d\ntLW1sW7dOhobG9myZUvi3kAM+M4NENCagAYXmiyXkYI5O8vF5ptKgvvdtWoxd61aHAzDy5+e41he\nMJrYX79oNn8aQYRPnx+M+b24FDz0VxW0dvXzVmf0cpAj4VaAUgQcKmlNhFiP9vzIYyiMRXUBrRmK\nSJvhUlB62WyOdPUzOBSI+tpul3Kcs4lsihY3P5J7UEg9RPBHYcuWLUGBLikpCYuL7+vrw+PxOMbK\nh3Lo0KFgCgTr4jBR2TPjSeQiNqtObDRrLvLHf7zv/Ij1ZJcUTKf6EyXctWox9//mCDW/99qExq2g\n5cQZx+ePJ1XELdfMD45vpHKQMHJFqfUrLwdg76EO/Ob1y+1SfO4jC6KWLozGWC8SCvjIotn8OeKi\neKNZHWrvoY6wuxaF4Wvf9rnlwHC47e433yGgNVluFzddVci83CksXzib7S+0MDAYQLkUVxRMp63n\nbNi43C7FtluXi7BnACL4CcApYdpEZc+MJ7Hest9etoi9Bzsca77mZLn46R3XB1/z25+9hjXLi9j1\nehsvHe4OG0O9Q6Kt6xbNZv6sqWH7jsTrb/cEE3YdfPdUWJ/hxx6+e3nwy+W83NLFb1u6uP7yPH7b\n0hW86N1uLhyylq8ojIvAj75YStGsqWFrGNwuxc1Xz+P1t3sY8gfMug46eKFwKdOlMoLqKwz/+PqV\niznS1RKMjHG7YGq2m+8/38KQ+YIujFzz6youDysNaP1fs7zI8btcVpQblq54w+46Lg6G3BVoLaGW\nGULmCX5gCP68Dbpfhfk3w0e2gyt5b3Pnzp3BlbebN29m7969AMGslw8//HBYOoZUI5Zb9vLifH7w\nhdJgQXGXS1G2OI+r5ucGi108+NqxsNQP112eR625JN+l4Mr5ufz5+OlgfiRrAtGyXl9r/WBMxbz9\nfiN3CxAWTmiJ/cYbryB3WnZQ9H6x/10GhgJ0nbngeGcTeudzu/levv3Za/CePBu8CPkDmnm5U3hs\n0/BF86nGTh470BEU01uumc9r//mBreC6Yli8bw8R7++Zn6U/AC+HXOxcCv5i6chRMtG+y8j2RzdW\n8lRjJ/saOvH7E5OiREgMmSf4f94Grf8v+M9B358BBdf/MG6Hs1IrgJHhcseOHWH9W7ZsYe/eveza\ntYvGRqMUwGjZMzOJu1YtDrMgLWGJltU00o10W9mi4HJ8a24g9HXWVVweFFAFVF07n3m5U3iy/j2G\nAtb8Q7gP2np95TIqL/kDml/sfzc4hgdfOxaWgM93biAsRcVIdz5zc6eEvX+NXVCfbuwMvr+v3VTC\n124qCXt/Tu8TjDkVp5XxlgtnoqJkrPHeLmkQMo7ME/zuVw2xB/Cfh+5XgPgJfmgaY8EZJ8syWlbT\naGIaTXBuL1tkE9Dy4vzgRaL//CAtJ87wmRULgq9hvf7xvvM8frDDlr1xLAn4olnLt5ctYl/9ewz6\nNdluFbT+Q/PKjOf9hWKNy/rcorlwJgqZkM08Mk/w599sWPb+8+CeBvNvSfaIBAdGEtXxCM1oFwjr\nLuLQu6dYVpQbfG0rjUToxcIaQyxzF+XF+TxWvTrsuU53M5FJ7cb7XqPdBQjCSGSe4H9kO6AMy37+\nLfCR/5nsEUUlWvbMycBExnBHu0CMVhthpDGEXhRC5xkuZTyXWqPBKdukWN1CLGSe4LuyTJ/9xLtx\n2trawrbz8vJsbU40NDQARu6dsrIygFFDOScD8RavWFwzMHHV0y6lRkM8K7cJk5fME3xBMIn1LmKi\nqqddyjjiWblNmLyI4AsZTSx3ERNZPW2840h05TZhciCCLwhRSGauGMlTI8SDtBB8qzC3MHZirWQm\nGCRzklQmaIWJJuXTI0+dOpXe3l4RsHGgtaa3t5epU6cmeyiCIKQQKW/hL1q0iM7OTnp6epI9lLRi\n6tSpLFq0KNnDEAQhhYhZ8M0i5QAlWuutDv07tNZblVLVl1LfNjs7myuuuCLWYQqCIEx6YnLpKKWq\ngFpTyD3mdiTVSqk2wBvLsQRBEITYiNWH7wEskfea25Fs0lqXaK1rYzyWIAiCEAMxuXQiXDRlwF6H\n3SzLv0xrvTOy03QJVQMsXrw4luEIgiAII6AmIvpFKVUGrHfy4YfsswN4eSRLXynVA7Rf4jDmArEX\nPp14ZFzjQ8Y1PmRc4yMTx1WstS4cy46jWvghk7KheCOEuyrKhG01cEprvQ/oxdnlE2Ssg44yznqt\ndcWlPj9eyLjGh4xrfMi4xsdkH9eogj9aZI0ZfbPTfFylta5VSuVprfuAeoYna0uAXbEOWBAEQbg0\nJiJKZ4dSqk0pFVp49BUArXUjcIdSai3QZm4LgiAISSDWSdtawLb2W2tdHvJ43LH3l0iijjNeZFzj\nQxVuLEIAAAKrSURBVMY1PmRc42NSj2tCJm0FQZjcKKXKot3Bm3f4fUSJ1EviuGJaFJqOpHwunXTH\njGCK1rfD/O80MR5XRhnXWqVUlVJqSyLHlCqM9v6T9fmMYVxJOZ9M165jYWfrPDO9AX0jnXeJHJdJ\nUhaFKqWqzb8dUfrjdn5lhOAn8wMcZVypesKl6g806YI22vtP1uczxuMm5XwyxxTtmOsxrHvMfZxW\n48eFUcYFSVgUOlp2gnifX2kv+Mn+AEciFU84SM0faAoJ2mjvP1kCNpbjpuKq9jzgVMh2KlVy8STB\nEBwtO0Fcz6+0F3yS/AHGSDJOuNFI1g80VQRttPefrM9nLMdNxfMpZdFa7zTPpYIoecDiccyakPmC\nMozQ9VDien6lveAn+wOMhWSccCmMCFqMpOj51AfMMR/nYSzATDqmC3ituTnqotA4HL8MaEx0qHrK\n58MfK8n4AMe4Cnmk5455FXKixkWK/kDBEDQApdQaa5FfHA4z2vtP1ucz4nHjeT5dCiGLL/cC1gpS\nD5BUd1MKLQp1zE5AnM+vtBD8WNI7EMcP8FJCuRJxwsU4rrj9QEf5HlNF0BzffwoI2GjjSpqAmZZy\nhVJqrfn9gLH4slxr3aiUqjDvOPoSbJCNNq5qpdQpErwodJTsBPE9v7TWaf8HVIc8rjL/55n/y6x+\nYAtGLHCixrUW8AFrQ9oaQsdt7rMlwZ/XWMZVFfq5JmBMjt9TxPdoPd4Vz+/R6f0n+/MZx7gSfj7J\n37i+wyrzt9dm/rf0KiHnV9ovvAoJMTyFYSGu08YVs0GbK35N69ALePQkWWCRjjh9Tw7f4ymzP6EL\neAQhE0h7wRcEQRDGRtpH6QiCIAhjQwRfEARhkiCCLwiCMEkQwRcEQZgkiOALgiBMEkTwBUEQJgki\n+IIgCJOE/x+wx3+GiXYKrAAAAABJRU5ErkJggg==\n",
"text/plain": "<matplotlib.figure.Figure at 0x11db10128>"
}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "check out the computational graph and training history by\n- running tensorboard --logdir=./graph\n- in your browser go to localhost:6006\n - tab \"scalars\" shows loss history\n - tab \"graphs\" shows the computational graph"
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"version": "3.5.1",
"file_extension": ".py",
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"name": "python",
"codemirror_mode": {
"version": 3,
"name": "ipython"
},
"mimetype": "text/x-python"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment