Skip to content

Instantly share code, notes, and snippets.

@zduey
Created January 29, 2017 20:45
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zduey/d4e5eed6f099997b0a6af1ef0962b960 to your computer and use it in GitHub Desktop.
Save zduey/d4e5eed6f099997b0a6af1ef0962b960 to your computer and use it in GitHub Desktop.
LSTM model parameters and model accuracy
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Understanding LSTM Parameters"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Setup"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from __future__ import print_function\n",
"import os\n",
"import numpy as np\n",
"import random\n",
"import string\n",
"import tensorflow as tf\n",
"import matplotlib.pyplot as plt\n",
"import zipfile\n",
"import itertools\n",
"from six.moves import range\n",
"from six.moves.urllib.request import urlretrieve\n",
"from mpl_toolkits.mplot3d import Axes3D\n",
"from matplotlib import cm\n",
"\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Found and verified text8.zip\n"
]
}
],
"source": [
"url = 'http://mattmahoney.net/dc/'\n",
"\n",
"def maybe_download(filename, expected_bytes):\n",
" \"\"\"Download a file if not present, and make sure it's the right size.\"\"\"\n",
" if not os.path.exists(filename):\n",
" filename, _ = urlretrieve(url + filename, filename)\n",
" statinfo = os.stat(filename)\n",
" if statinfo.st_size == expected_bytes:\n",
" print('Found and verified %s' % filename)\n",
" else:\n",
" print(statinfo.st_size)\n",
" raise Exception(\n",
" 'Failed to verify ' + filename + '. Can you get to it with a browser?')\n",
" return filename\n",
"\n",
"filename = maybe_download('text8.zip', 31344016)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data size 100000000\n"
]
}
],
"source": [
"def read_data(filename):\n",
" f = zipfile.ZipFile(filename)\n",
" for name in f.namelist():\n",
" return tf.compat.as_str(f.read(name))\n",
" f.close()\n",
" \n",
"text = read_data(filename)\n",
"print('Data size %d' % len(text))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"valid_size = 1000\n",
"valid_text = text[:valid_size]\n",
"train_text = text[valid_size:]\n",
"train_size = len(train_text)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"vocabulary_size = len(string.ascii_lowercase) + 1 # [a-z] + ' '\n",
"first_letter = ord(string.ascii_lowercase[0])\n",
"\n",
"def char2id(char):\n",
" if char in string.ascii_lowercase:\n",
" return ord(char) - first_letter + 1\n",
" elif char == ' ':\n",
" return 0\n",
" else:\n",
" print('Unexpected character: %s' % char)\n",
" return 0\n",
" \n",
"def id2char(dictid):\n",
" if dictid > 0:\n",
" return chr(dictid + first_letter - 1)\n",
" else:\n",
" return ' '"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def logprob(predictions, labels):\n",
" \"\"\"Log-probability of the true labels in a predicted batch.\"\"\"\n",
" predictions[predictions < 1e-10] = 1e-10\n",
" return np.sum(np.multiply(labels, -np.log(predictions))) / labels.shape[0]\n",
"\n",
"def sample_distribution(distribution):\n",
" \"\"\"Sample one element from a distribution assumed to be an array of normalized\n",
" probabilities.\n",
" \"\"\"\n",
" r = random.uniform(0, 1)\n",
" s = 0\n",
" for i in range(len(distribution)):\n",
" s += distribution[i]\n",
" if s >= r:\n",
" return i\n",
" return len(distribution) - 1\n",
"\n",
"def sample(prediction):\n",
" \"\"\"Turn a (column) prediction into 1-hot encoded samples.\"\"\"\n",
" p = np.zeros(shape=[1, vocabulary_size], dtype=np.float)\n",
" p[0, sample_distribution(prediction[0])] = 1.0\n",
" return p\n",
"\n",
"def random_distribution():\n",
" \"\"\"Generate a random column of probabilities.\"\"\"\n",
" b = np.random.uniform(0.0, 1.0, size=[1, vocabulary_size])\n",
" return b/np.sum(b, 1)[:,None]\n",
"\n",
"def characters(probabilities):\n",
" \"\"\"Turn a 1-hot encoding or a probability distribution over the possible\n",
" characters back into its (most likely) character representation.\"\"\"\n",
" return [id2char(c) for c in np.argmax(probabilities, 1)]\n",
"\n",
"def batches2string(batches):\n",
" \"\"\"Convert a sequence of batches back into their (most likely) string\n",
" representation.\"\"\"\n",
" s = [''] * batches[0].shape[0]\n",
" for b in batches:\n",
" s = [''.join(x) for x in zip(s, characters(b))]\n",
" return s"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Parameter-Dependent Setup"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def lstm_model_test(batch_size, num_nodes, num_unrollings, num_steps, summary_frequency):\n",
" class BatchGenerator(object):\n",
" def __init__(self, text, batch_size, num_unrollings):\n",
" self._text = text\n",
" self._text_size = len(text)\n",
" self._batch_size = batch_size\n",
" self._num_unrollings = num_unrollings\n",
" segment = self._text_size // batch_size # length of the word\n",
" self._cursor = [ offset * segment for offset in range(batch_size)]\n",
" self._last_batch = self._next_batch()\n",
"\n",
" def _next_batch(self):\n",
" \"\"\"Generate a single batch from the current cursor position in the data.\"\"\"\n",
" batch = np.zeros(shape=(self._batch_size, vocabulary_size), dtype=np.float)\n",
" for b in range(self._batch_size):\n",
" batch[b, char2id(self._text[self._cursor[b]])] = 1.0\n",
" self._cursor[b] = (self._cursor[b] + 1) % self._text_size\n",
" return batch\n",
"\n",
" def next(self):\n",
" \"\"\"Generate the next array of batches from the data. The array consists of\n",
" the last batch of the previous array, followed by num_unrollings new ones.\n",
" \"\"\"\n",
" batches = [self._last_batch]\n",
" for step in range(self._num_unrollings):\n",
" batches.append(self._next_batch())\n",
" self._last_batch = batches[-1]\n",
" return batches\n",
"\n",
" train_batches = BatchGenerator(train_text, batch_size, num_unrollings)\n",
" valid_batches = BatchGenerator(valid_text, 1, 1)\n",
" graph = tf.Graph()\n",
" with graph.as_default():\n",
"\n",
" # Parameters:\n",
" # Input gate: input, previous output, and bias.\n",
" ix = tf.Variable(tf.truncated_normal([vocabulary_size, num_nodes], -0.1, 0.1))\n",
" im = tf.Variable(tf.truncated_normal([num_nodes, num_nodes], -0.1, 0.1))\n",
" ib = tf.Variable(tf.zeros([1, num_nodes]))\n",
" # Forget gate: input, previous output, and bias.\n",
" fx = tf.Variable(tf.truncated_normal([vocabulary_size, num_nodes], -0.1, 0.1))\n",
" fm = tf.Variable(tf.truncated_normal([num_nodes, num_nodes], -0.1, 0.1))\n",
" fb = tf.Variable(tf.zeros([1, num_nodes]))\n",
" # Memory cell: input, state and bias. \n",
" cx = tf.Variable(tf.truncated_normal([vocabulary_size, num_nodes], -0.1, 0.1))\n",
" cm = tf.Variable(tf.truncated_normal([num_nodes, num_nodes], -0.1, 0.1))\n",
" cb = tf.Variable(tf.zeros([1, num_nodes]))\n",
" # Output gate: input, previous output, and bias.\n",
" ox = tf.Variable(tf.truncated_normal([vocabulary_size, num_nodes], -0.1, 0.1))\n",
" om = tf.Variable(tf.truncated_normal([num_nodes, num_nodes], -0.1, 0.1))\n",
" ob = tf.Variable(tf.zeros([1, num_nodes]))\n",
" # Variables saving state across unrollings.\n",
" saved_output = tf.Variable(tf.zeros([batch_size, num_nodes]), trainable=False)\n",
" saved_state = tf.Variable(tf.zeros([batch_size, num_nodes]), trainable=False)\n",
" # Classifier weights and biases.\n",
" w = tf.Variable(tf.truncated_normal([num_nodes, vocabulary_size], -0.1, 0.1))\n",
" b = tf.Variable(tf.zeros([vocabulary_size]))\n",
"\n",
" # Definition of the cell computation.\n",
" def lstm_cell(i, o, state):\n",
" \"\"\"Create a LSTM cell. See e.g.: http://arxiv.org/pdf/1402.1128v1.pdf\n",
" Note that in this formulation, we omit the various connections between the\n",
" previous state and the gates.\"\"\"\n",
" input_gate = tf.sigmoid(tf.matmul(i, ix) + tf.matmul(o, im) + ib)\n",
" forget_gate = tf.sigmoid(tf.matmul(i, fx) + tf.matmul(o, fm) + fb)\n",
" update = tf.matmul(i, cx) + tf.matmul(o, cm) + cb\n",
" state = forget_gate * state + input_gate * tf.tanh(update)\n",
" output_gate = tf.sigmoid(tf.matmul(i, ox) + tf.matmul(o, om) + ob)\n",
" return output_gate * tf.tanh(state), state\n",
"\n",
" # Input data.\n",
" train_data = list()\n",
" for _ in range(num_unrollings + 1):\n",
" train_data.append(\n",
" tf.placeholder(tf.float32, shape=[batch_size,vocabulary_size]))\n",
" train_inputs = train_data[:num_unrollings]\n",
" train_labels = train_data[1:] # labels are inputs shifted by one time step.\n",
"\n",
" # Unrolled LSTM loop.\n",
" outputs = list()\n",
" output = saved_output\n",
" state = saved_state\n",
" for i in train_inputs:\n",
" output, state = lstm_cell(i, output, state)\n",
" outputs.append(output)\n",
"\n",
" # State saving across unrollings.\n",
" with tf.control_dependencies([saved_output.assign(output),saved_state.assign(state)]):\n",
" # Classifier.\n",
" logits = tf.nn.xw_plus_b(tf.concat(0, outputs), w, b)\n",
" loss = tf.reduce_mean(\n",
" tf.nn.softmax_cross_entropy_with_logits(\n",
" logits, tf.concat(0, train_labels)))\n",
"\n",
" # Optimizer.\n",
" global_step = tf.Variable(0)\n",
" learning_rate = tf.train.exponential_decay(\n",
" 10.0, global_step, 5000, 0.1, staircase=True)\n",
" optimizer = tf.train.GradientDescentOptimizer(learning_rate)\n",
" gradients, v = zip(*optimizer.compute_gradients(loss))\n",
" gradients, _ = tf.clip_by_global_norm(gradients, 1.25)\n",
" optimizer = optimizer.apply_gradients(\n",
" zip(gradients, v), global_step=global_step)\n",
"\n",
" # Predictions.\n",
" train_prediction = tf.nn.softmax(logits)\n",
"\n",
" # Sampling and validation eval: batch 1, no unrolling.\n",
" sample_input = tf.placeholder(tf.float32, shape=[1, vocabulary_size])\n",
" saved_sample_output = tf.Variable(tf.zeros([1, num_nodes]))\n",
" saved_sample_state = tf.Variable(tf.zeros([1, num_nodes]))\n",
" reset_sample_state = tf.group(\n",
" saved_sample_output.assign(tf.zeros([1, num_nodes])),\n",
" saved_sample_state.assign(tf.zeros([1, num_nodes])))\n",
" sample_output, sample_state = lstm_cell(sample_input, saved_sample_output, saved_sample_state)\n",
" with tf.control_dependencies([saved_sample_output.assign(sample_output),\n",
" saved_sample_state.assign(sample_state)]):\n",
" sample_prediction = tf.nn.softmax(tf.nn.xw_plus_b(sample_output, w, b))\n",
"\n",
" # Training the model\n",
" with tf.Session(graph=graph) as session:\n",
" tf.initialize_all_variables().run()\n",
" mean_loss = 0\n",
" for step in range(num_steps):\n",
" batches = train_batches.next()\n",
" feed_dict = dict()\n",
" for i in range(num_unrollings + 1):\n",
" feed_dict[train_data[i]] = batches[i]\n",
"\n",
" _, l, predictions, lr = session.run([optimizer, loss, train_prediction, learning_rate], feed_dict=feed_dict)\n",
" mean_loss += l\n",
" reset_sample_state.run()\n",
" valid_logprob = 0\n",
" for _ in range(valid_size):\n",
" b = valid_batches.next()\n",
" predictions = sample_prediction.eval({sample_input: b[0]})\n",
" valid_logprob = valid_logprob + logprob(predictions, b[1])\n",
"\n",
" perplexity = float(np.exp(valid_logprob / valid_size))\n",
" return perplexity"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"4.675105314113517"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lstm_model_test(64, 64, 10, 3001, 1000)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Testing"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Hypothesis**: The number nodes must be equal to the batch size\n",
"\n",
"**Result**: The number of nodes and the batch size can be different."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"4.913481800643745"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lstm_model_test(32, 64, 10, 3001, 1000)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"5.748203599403953"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lstm_model_test(64, 32, 10, 3001, 1000)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"** Question ** Can you have more unrollings than number of epochs?\n",
"\n",
"** Result ** Yes, however, it is not completely clear if it is different (aside from some randomness) than if you had just 1 unrolling. Note: You cannot have 0 unrollings."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"11.477824989981638"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lstm_model_test(64, 64, 100, 65, 1000)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"13.85651774565771"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lstm_model_test(64, 64, 1, 65, 1000)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"** Question ** Can you have more unrollings than nodes?\n",
"\n",
"** Result ** Yes, and it seems like the number of nodes places a significant role in reducing validation set perplexity."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"7.328228938264665"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lstm_model_test(64, 12, 15, 3001, 1000)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"** Hypothesis ** Increasing the num_nodes/batch_size will not reduce the perplexity.\n",
"\n",
"Given the above, this rests on the hidden assumption that the number of nodes and the bath size must be equal. Let's test them independently since I've already proven that hidden assumption to be incorrect.\n",
"\n",
"** Result ** Increasing the number of nodes or the batch size (holding everything else constant) results in lower perplexity. In fact, the validation set perplexity is a monotonically decreassing function of these parameters."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Testing batch size 2\n",
"Testing batch size 4\n",
"Testing batch size 8\n",
"Testing batch size 16\n",
"Testing batch size 32\n",
"Testing batch size 64\n",
"Testing batch size 128\n",
"Testing batch size 256\n"
]
}
],
"source": [
"batch_sizes = [2, 4, 8, 16, 32, 64, 128, 256]\n",
"batch_size_results = []\n",
"for batch_size in batch_sizes:\n",
" print(\"Testing batch size \", batch_size)\n",
" result = lstm_model_test(batch_size, 64, 10, 3001, 10000)\n",
" batch_size_results.append(result)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f40dd950a50>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiIAAAGHCAYAAACNjTnqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3XecXGXZ//HPNx2ICUgLvYMUBbIoBBDpCCpVgQUkdFF5\n5AkqosiDP1EsPIAoYEMQKav4oCAYOggKiUiWbigCAaWGtgQSErJ7/f64z7CTYcvM7Oycyc73/Xqd\n1865T7vmZDZz7d2OIgIzMzOzPAzLOwAzMzNrXk5EzMzMLDdORMzMzCw3TkTMzMwsN05EzMzMLDdO\nRMzMzCw3TkTMzMwsN05EzMzMLDdORMzMzCw3TkTMciJpsqQuSRPrcK0uSf8z2NfJg6RfS3oq7ziq\nNdj/NpI+ll1ju8G6htlAOBGxplD0pV+8vCjpVkkfH8B5vy5prwGENqBnLEjaVtJUSf+RNE/S05L+\nJKm1h+sM1ec5lPXeJP2l5N//FUl3SzpckuoQZ54WuT+SWiUdn1cwZsVG5B2AWR0FcAowCxCwInAY\nMFXSJyNiahXn/Abwe+DqGsVYNkmfAX4L3Av8CHgNWAvYDjgKaCvafQlgYb1jbDAB/Bs4ifTvvzxw\nKPArYD3Sv+WQExG3S1oiIhYUFR8EbAyck1NYZu9yImLN5vqIaC+sSLoQeBFoBapJRPJ0KvAwsFVE\nLJJkSFqueL3kS6iZdUTEuwmapF8AjwLHSTolIjoHcnJJS0bE3IEGWWv+97dG5qYZa2oR8Towj5La\nAklfkXSnpJclzZV0j6T9SvbpApYEDiuq7r+waPvKkn4l6VlJb0t6UtL5kkr/ABgt6SxJL0l6U9If\nJC1bRvjrAP8oTUKy9/VyaayFfgiS1uihmerdpeS4LSVdL+l1SW9lzRtb9xeYpJGSvp3dt9ez93WH\npO1L9ivEcoKkoyX9K7tXd0vaoofz7i3poawZ6gFJe5dxn3oVEfOA6cBSpBqSst+3pG9lsW8o6XJJ\nrwJ/zbb9WtIcSWtJuiF7/89KOqWcuLLPzoWSXsjux0OSjijZ5+LsPmxQUn5j1uw0IVtfpI+IpNuA\nTwDFn4MnJS2VxXl2L/EslPS1cuI3q4RrRKzZjM++5AWsAHyJ9CV0Scl+XyI1t1wKjAIOBK7ImnCu\ny/Y5hFSt/3fgF1nZEwCSVgL+AYwDfk76q3sV4NOk5OWNbH8B5wKvAt8C1gSmZGWl/TxKPQ3sJGmV\niHi23BsAzM5iLzYSOBt49y9nSTuSaonuyWLrAg4HbpW0bUTc08c1xgFHkJqHfgG8DzgSuF7SRyLi\ngZL9DwbGAj8jNaF8DbhS0tqFWgpJuwL/BzxEal5ZFrgI+E8F770n6wCdwOvZdcp934V+F78HHgO+\nTvr3LGwbBlwPTAO+Cnwc+H+ShkfEt3oLRtIKpM9UJ/Bj4GVgd+ACSWMj4sfZrl8CdgAuljQpIkLS\n54CdgEMi4oWi0xb3EfkOMJ70efzvLOY3I+ItSX8EDpB0QkQUH3Nw9vPS3uI2q1pEePEy5BdgMukL\npXSZC3y2h/1Hl6wPBx4AbiopnwNc2MPxFwPvAJuXEdP1JeVnkhKC9/Xzng4nfVm9DdwC/D9gG0A9\n7NsF/E8f5zovu+Z2RWWPAn8uvS+kZOv6fmITMKKkbBzwPPDLorI1stheAsYVlX8qe297FJXdS0o6\nxhaV7ZQd/2QZn4HbSE1Zy2bLBqQ+El3AHyt936SmsS7g0h6udVEW/9kl5deQauDe39u/DXBB9j6X\nLjn2clLCOrqobJfs+K+Tktg3gP8rOe5jWSzblcTxnnuWna8T2LWk/D7g1sH6/fTS3IubZqyZBPB5\nYOdsOZj05fSr0ir+iJhfeC1paWAZUrV7v0NtJQnYC/hTRNxbRky/KCn7KynxWaPPAyMuIv2VfRsp\nAflmduzjkib1F2dRvIeS7stXI+KOrGwzUgfONknLFhZSzcYtpA6xfcUWkTUZKVmGVLN0Dz3fw99G\nxBtF638lJTNrZ+eYAGwK/Doi3iy6zi3AP8t9r8CGpBqh2cBM4IukL+Ujq3zfQarF6c15Jevnku7D\nzn0cs28W0/CSGG4k1WS8e/8i4iZSjdupwB9ISc7n+zh3f24mJYuFGhAkbQx8iPfWGprVhJtmrNn8\nIxbtrPpboB04V9K1RV+enwROBjYj/TVcsEgfil4sT/rr/+EyY/p3yfpr2c9l+jsw+yK6SdIYoIXU\nhHQscI2kD0RJX5FS2RfvT4HLIqJ4BMV62c/f9HJol6TxEdHRx7knAycAHyA1/RQ82cPui9yDiHg9\n5XPv3oNCUvavHo59FNi8tzhKPEUaUQSpJunxkntUzfvubQ6TLt77Xh8jJVg9JpmSlgeWBo4BPtfD\nLkFqUiz2FVLiuylwUETM7iWefkVESLoMOFbSmIh4m9SM9zapWcys5pyIWFPL/uP9C6m9fT1gpqSP\nkvqH/IX01+XzpGaWI+i/3wZ09xMoV28jNco+T/aFcSdwp6SXgf8h9Svo9a/YrKbnSuAR4OiSzYXa\n0i8D9/dyijd7KUfSIaTmiT8APyQ1vXSShsiu3cMh/d2D4r4Xve1Tjrci4rY+tlfzvudVcP3+Yi1c\n/1JS815PSvvXTKQ7Ofkg8LsK4unJb0h9WvYmDQ9vJdXuzRngec165ETErPv3YGz2c1/Sl8tuUTQi\nRdKRPRzb0xfjS6S2+k1qGWQF7iF94a3U2w5Z89HlpJqbHbJEptgT2c85EXFrFTHsBzwREZ8uue63\nqzgXpLlfANbvYVtPZdUa6PsuNoyUdBXX4hRifbqXY2aT+h0NL+f6kpYkJXwPA3cBX5P0x4iY0c+h\nvU4AFxEPS7oXOFjSs8DqpCYss0HhPiLW1JSG0u5G6qg5MyvuJP1HPaJovzVJ1d+l3iJVpb8rIgK4\nCviUBnH69mx0R08+QYr/0T4O/xapY+KBEfFMD9tnkL6UvyJpqR6uvdx7D1lE4R4WH7MlUHbflWKR\nRoDcB0yW9L6ic+4CbFTNOXsx0Pdd6rge1heQ+pu8R0R0kWqp9sv6ZvR3/R8Cq5EmZvsyKWG7WNJI\n+vYWqb9Jby4h/V78N2nUzvX9nM+saq4RsWYiYA9JG2brK5A65a0DfK+oE+S1pL4NN0i6nDQD6xeA\nx0md9orNAHaWNAV4DngqIu4mNUHsAtyhNGnWTGBl0vDdbYo6ZvZWVV9Oc8PVSs9YuYb05blUds1P\nkoZ/XtPjiaVNSB1bbwcmSDq4eHtEXJY1WR1FGsb6sKSLgGdJQz53ADroOTEruBbYV9JVwJ9JNQOf\nI/3lPraP4/ry9ey8dyrN17Is6Yv9oQGccxE1eN/F5gMfl3Qxaa6SPUjNZd+NiFf6OO4kYHvg75J+\nSeqM+35SH6AdgeXg3UT088CpEXF/VnYY6d/1O6Qh0AWln6cZwP6SziQNM38zIq4t2n4ZKcnZGzg/\nBjjRm1mf8h6248VLPRbSUNnOkuUt0n/IR/ew/2GkvhNzSV+eh5JGJnSW7Lc+adTKm9k5Lyzatiqp\n2vyF7DyPk4aLjiiJaWLJOd8z3LKX97Q/6Qvjsez6bwEPkobxLlWybydwSsn5e1xKjvsQaZ6Ml0jN\nVU+S5gbZvox7/rVs/7mk5qLds/vxRNE+a2TXndLD8e/GXFS2NynxmJu9171Kz9lHPLcB95f5een3\nfRc+DxQNxS3adhGpeW5NUm3CHFKiekqZ73M50hwis0gdRZ8ljZo5Its+ltRJ9m5gWMmxZ5L6NH2k\nt88TaS6bS4BXsm09DeW9Ntu2Zd6/v16G9qKIofocLDOzfGQ1KftFxLi8Y6mWpD8Am0RELfvgmL1H\nQ/QRkTRW0o8kzVKaTvtv6mF655Jjtpc0Q2n648eyoYJmZjZA2czAn6D3YcxmNdMQiQhpmuydSO31\nmwA3ATdnvwzvkXUcvJbU4WtTUnX3BVnHNTMzq4KkNbOh122kTrWlk+2Z1VzuTTPZRExzgE9FxPVF\n5fcAUyPif3o45gfA7hHxoaKyNmB8ROxRh7DNzHqVNc3sGxF9jUxpOFnN8kWkvilfjog/5huRNYNG\nqBEZQZrOen5J+Txg216O2Yo0FXGxG6hyaKCZWS1FxOGLWxICEBEXR8SwiFjbSYjVS+6JSKQhk9OA\nUyStJGlYVjU4id4nZJoAvFhS9iIwTtLoHvY3MzOzBtQo84gcAlxIGqK2kPTsj8sp4wFjRfqaAprs\noVG70T0czszMzMozhjQc/Yboex6cijVEIhIRTwE7SFqC9CjwF7OHkfX2MKkXSJNMFVsBeCMiFvRy\nzG6kORfMzMysOgeTKgpqpiESkYKImAfMyx4ZvhvpqZI9mUaaHKnYrll5b2YBXHrppWy44YZ97GbF\npkyZwtlnn513GIsd37fK+Z5Vx/etcr5nlZs5cyaHHHIIdD/3qWYaIhGRtCupaeVR0hNQf0iaEvvX\n2fbTgVUiojBXyM+A47LRMxeShv5+mjSFcm/eBthwww2ZOHHQHv8x5IwfP973qwq+b5XzPauO71vl\nfM8GpOZdG3LvrJoZD5xHd/JxB+nJp4XnG6xEerATABExizTZzs6kB2FNAY6MiNKRNGZmZtbAGqJG\nJCJ+T3quQ2/bD++h7HbSQ6DMzMxsMdUoNSJmZmbWhJyIWJ9aW1vzDmGx5PtWOd+z6vi+Vc73rLHk\nPsV7vUiaCMyYMWOGOymZmZlVoL29nZaWFoCWiGiv5bldI2JmZma5cSJiZmZmuXEiYmZmZrlxImJm\nZma5cSJiZmZmuXEiYmZmZrlxImJmZma5cSJiZmZmuXEiYmZmZrlxImJmZma5cSJiZmZmuXEiYmZm\nZrlxImJmZma5cSJiZmZmuXEiYmZmZrlxImJmZma5cSJiZmZmuXEiYmZmZrlxImJmZma5cSJiZmZm\nuck9EZE0TNJpkp6UNFfSvyR9s59jPiapq2TplLRCveI2MzOzgRuRdwDAScDngEOBfwJbAL+W9HpE\nnNvHcQGsD8x5tyDipcEM1MzMzGqrERKRScDVEXF9tv6MpIOAj5Rx7OyIeKOSi7W1wWWXQQScdVal\noZqZmVkt5d40A9wF7CRpPQBJmwLbAFP7OU7AfZKek3SjpK3Ludi116YE5Ny+6lrMzMysLhqhRuT7\nwDjgEUmdpOTo5Ij4bR/HPE9qzrkHGA0cDfxF0kci4r6+LjZqVPr5zjvQ2QnDhw/8DZiZmVl1GiER\nOQA4CDiQ1EdkM+AcSc9FxCU9HRARjwGPFRVNl7QOMAWY3NfFRo/ufv3227DUUgOK3czMzAagERKR\nHwKnR8Tvs/WHJa0JfB3oMRHpxd2kJp0+PfHEFGA8APvtl2pIWltbaW1trSRmMzOzIamtrY22trZF\nyjo6Ogbteo2QiCxJGgFTrIvK+69sRmqy6Xunzc7m1lsnAnDBBbDqqhVexczMbAjr6Y/z9vZ2Wlpa\nBuV6jZCIXAOcLOnfwMPARFITywWFHSSdDqwSEZOz9eOBp7L9x5D6iOwA7NLfxUqbZszMzCw/jZCI\nHAecBpwHrAA8B/w0KytYCVitaH0UcCawMjAXeADYKSLu6O9iTkTMzMwaR+6JSES8BZyQLb3tc3jJ\n+hnAGdVcrzgRmTevmjOYmZlZrTTCPCJ15RoRMzOzxtHUiYhrRMzMzPLVdIlIYUIzcI2ImZlZ3pou\nEXGNiJmZWeNo6kTENSJmZmb5arpExE0zZmZmjaPpEpExY7pfu2nGzMwsX02XiLhGxMzMrHE0dSLi\nGhEzM7N8NV0iUtw04xoRMzOzfDVdIuIaETMzs8bRdImIh++amZk1DiciZmZmlpumTkTcNGNmZpav\npktEPHzXzMyscTRdIuIaETMzs8bRdImIa0TMzMwaR9MlIiNGpAVcI2JmZpa3pktEAJZYIv10jYiZ\nmVm+mjIRKcyu6kTEzMwsX02ZiBRqRNw0Y2Zmlq+mTERcI2JmZtYYmjoRcY2ImZlZvpoyESnurBqR\nbyxmZmbNLPdERNIwSadJelLSXEn/kvTNMo7bXtIMSW9LekzS5HKvWagRAZg/v7q4zczMbOByT0SA\nk4DPAV8APgCcCJwo6bjeDpC0JnAtcAuwKXAOcIGkXcq5YKFGBNxPxMzMLE8j8g4AmARcHRHXZ+vP\nSDoI+Egfx3weeDIiTszWH5W0LTAFuKm/CxbXiDgRMTMzy08j1IjcBewkaT0ASZsC2wBT+zhmK+Dm\nkrIbSElNv4oTEXdYNTMzy08j1Ih8HxgHPCKpk5QcnRwRv+3jmAnAiyVlLwLjJI2OiD57frhpxszM\nrDE0QiJyAHAQcCDwT2Az4BxJz0XEJRWcR9nPPsfBTJkyhaefHv/u+rHHwrHHttLa2lpZ1GZmZkNQ\nW1sbbW1ti5R1dHQM2vUUOY9flfQMcHpE/Kyo7GTg4IjYqJdjbgdmRMQJRWWHAWdHxDK9HDMRmDFj\nxgwuu2wiZ52Vyu+8E7beulbvxszMbOhpb2+npaUFoCUi2mt57kboI7Ik763F6KLv2KYBO5WU7ZqV\n98t9RMzMzBpDIyQi1wAnS9pD0hqS9iGNfvlDYQdJp0u6uOiYnwHrSPqBpA0kfQH4NHBWORd0HxEz\nM7PG0Ah9RI4DTgPOA1YAngN+mpUVrASsVliJiFmSPkFKPL4E/Ac4MiJKR9L0yMN3zczMGkPuiUhE\nvAWckC297XN4D2W3Ay3VXNNNM2ZmZo2hEZpm6s5NM2ZmZo2hKRMR14iYmZk1hqZMRFwjYmZm1hia\nMhFxjYiZmVljaPpExDUiZmZm+WnKRMRNM2ZmZo2hKRMRN82YmZk1hqZMRFwjYmZm1hiaMhFxjYiZ\nmVljaMpExDUiZmZmjaEpExHXiJiZmTWGpk9EXCNiZmaWn6ZMREaNAim9diJiZmaWn6ZMRKTuWhE3\nzZiZmeWnKRMR6O6w6hoRMzOz/DRtIuIaETMzs/w1bSLiGhEzM7P8NW0i4hoRMzOz/DV9IuIaETMz\ns/w0bSJSaJrp7ISFC/ONxczMrFk1bSLi2VXNzMzy17SJiJ83Y2Zmlr+mTURcI2JmZpa/3BMRSU9J\n6uph+Ukv+0/OtncW7Tu30uv6eTNmZmb5G5F3AMAWwPCi9Q8CNwJX9HFMB7A+kD0xhqj0om6aMTMz\ny1/uiUhEvFK8LulTwBMR8de+D4vZA7mum2bMzMzyl3vTTDFJI4GDgV/1s+tYSbMkPSPpKkkbVXot\n14iYmZnlr6ESEWAfYDxwcR/7PAocAexJSlqGAXdJWqWSC7lGxMzMLH+5N82UOAK4LiJe6G2HiJgO\nTC+sS5oGzASOAU4t90KuETEzM8tfwyQiklYHdgb2ruS4iFgo6V5g3XL2nzJlCuPHj+fJJ7vLbrml\nlb33bq3ksmZmZkNSW1sbbW1ti5R1dHQM2vUUUfGAk0Eh6VvA0cBqEdFVwXHDgIeAqRHxlT72mwjM\nmDFjBhMnTuTnP4djj03bLrwQDj98INGbmZkNXe3t7bS0tAC0RER7Lc/dEH1EJAk4DPh1aRIi6WJJ\npxetnyJpF0lrSdocuAxYA7igkmu6acbMzCx/jdI0szOwGnBRD9tWAzqL1pcBfgFMAF4DZgCTIuKR\nSi7ozqpmZmb5a4hEJCJuYtFJzYq37ViyfgJwwkCv6RoRMzOz/DVE00weXCNiZmaWv6ZNRFwjYmZm\nlr+mTURcI2JmZpY/JyK4RsTMzCwvTZuIuGnGzMwsf02biLhpxszMLH9Nm4i4RsTMzCx/TZuIuEbE\nzMwsf05EcI2ImZlZXpo2ERk2DEaNSq9dI2JmZpaPpk1EoLtWxDUiZmZm+WjqRKTQYdWJiJmZWT6a\nOhEp1Ii4acbMzCwfTZ2IuEbEzMwsX02diLhGxMzMLF9VJSKS1qp1IHkoJCILFkBXV76xmJmZNaNq\na0SekHSbpEMkjel/98bk2VXNzMzyVW0iMhF4ADgLeEHSzyV9pHZh1YdnVzUzM8tXVYlIRNwXEccD\nKwNHACsBf5P0sKQTJC1fyyAHy7hx3a87OvKLw8zMrFkNqLNqRCyMiD8AnwG+BqwD/C/wH0m/kbRS\nDWIcNMst1/365Zfzi8PMzKxZDSgRkbSFpPOB54ETSEnIOsDOpNqSqwcc4SBavqjeZvbs/OIwMzNr\nViOqOUjSCcDhwAbAVOBQYGpEFMaePCXpMGBWDWIcNE5EzMzM8lVVIgJ8HrgQuCgiXuhln5eAI6s8\nf104ETEzM8tXtYnILsAzRTUgAEgSsFpEPBMRC4CLBxrgYHIiYmZmlq+q5xEBluuh/P3AU5WcSNJT\nkrp6WH7SxzGfkTRT0jxJ90vavcL4gUU7qzoRMTMzq79qExH1Uj4WqHRqsC2ACUXLLkAAV/R4YWkS\ncDnwS2Az4CrgKkkbVXjdRWpEPGrGzMys/ipqmpF0VvYygG9Lmlu0eTiwJXBfJeeMiFdKrvEp4ImI\n+GsvhxwPXBcRhVhOlbQrcBzwhUquveyy3a9dI2JmZlZ/lfYR2Tz7KeCDwIKibQuA+0lDeKsiaSRw\ncD/nmAScWVJ2A7BXpdcbMQLe/3549VUnImZmZnmoKBGJiB0AJF0EHB8Rb9Q4nn2A8fTdyXUC8GJJ\n2YtZecWWX96JiJmZWV6qGjUTEYfXOpDMEaRml96GBPdGpOaifk2ZMoXx48e/u54SkFbmzGll/nwY\nPbrCK5uZmQ0hbW1ttLW1LVLWMYjPQVFEWd/fSPoDcFhEvJG97lVE7FtxINLqwJPA3hFxbR/7PQ2c\nGRE/Lir7FrBXRGzex3ETgRkzZsxg4sSJ75bvsw9cdVV6/e9/w6qrVhq5mZnZ0Nbe3k5LSwtAS0S0\n1/LclYya6aC71qGjn6UaR5CaWKb2s980YKeSsl2y8op55IyZmVl+ym6aKW6OqXXTTDYR2mHAr3uY\nJO1i4NmI+EZWdA5wezbN/J+BVqAFOLqaa3tSMzMzs/xUNY+IpA/0se3jVZxyZ2A14KIetq1GUUfU\niJhGSj6OIQ0V3pfULPPPKq7rRMTMzCxH1U7x3i7pqxFxXqFA0mjSsNqjgDGVnCwibiLNQ9LTth17\nKLsSuLKiiHvhRMTMzCw/1c6sehhpQrOpklaUtBlwL6lm46O1Cq4ePM27mZlZfqpKRCLiCmBTYCTw\nMDAduB2YGBH/qF14g881ImZmZvmptkYE0twdo0hNKsOA56n8OTO586gZMzOz/FTbWfVA4AHSUN31\ngU+QOo/+VdLatQtv8LlGxMzMLD/V1oj8CvhGROwZEbOzzqYfBJ6lwofe5W3MGBg7Nr12ImJmZlZf\n1Y6amRgRjxYXRMRrwP6SPjvwsOpr+eXhzTediJiZmdVbtZ1VHwWQNErSBpJGFG27pFbB1Uth5Myr\nr0JnZ76xmJmZNZNq+4gsKelXwFzSqJnVs/KfSDqphvHVRaGfSAS88kq+sZiZmTWTavuIfI80fHd7\nFh0pczNwwABjqjuPnDEzM8tHtX1E9gYOiIjpkoof3/swsM7Aw6ovj5wxMzPLR7U1IssDL/VQvhTd\nT+hdbDgRMTMzy0e1icg9pLlDCgrJx1HAtAFFlAMnImZmZvmotmnmG8B1kjbKznG8pI2BScDHahVc\nvfh5M2ZmZvmodvju34DNSEnIg8CuwIvApIiYUbvw6sM1ImZmZvmotkaEiHgCOLqGseTGo2bMzMzy\nUXYiImlcuftGxBvVhZMP14iYmZnlo5Iakdfpf0SMsn2GVx1RDt73Phg1ChYscCJiZmZWT5UkIjsM\nWhQ5k1KtyLPPOhExMzOrp7ITkYi4fTADydtyy6VE5OWX01TvUt4RmZmZDX1Vd1aVtAxwJLAhqTlm\nJnBRRLxao9jqqtBP5J13oKMDll4633jMzMyaQbUPvdsOmAV8CVgGeH/2+qls22LHI2fMzMzqr9qZ\nVc8DfgesFRH7RsS+wNrAb7Ntix2PnDEzM6u/ahORdYEzI6KzUJC9PivbtthxImJmZlZ/1SYi7aS+\nIaU2BO6v9GSSVpZ0iaSXJc2VdL+kiX3s/zFJXSVLp6QVKr12gRMRMzOz+qu2s+qPgXMkrQtMz8q2\nAr4InCTpQ4UdI+KBvk4kaWngTuAWYDfgZWA94LV+YghgfWBO0bV6eiJwWfy8GTMzs/qrNhFpy37+\nsJdtQfmTm50EPBMRRxWVPV1mHLNrNYura0TMzMzqr9pEZK0axvAp4HpJV5Ce3PsscH5EXNDPcQLu\nkzQGeAj4VkTcVW0QHjVjZmZWfxUnIpJGAqcCp0XEUzWIYW3g88CZwHeBLYEfS3o7Ii7t5Zjngc8B\n9wCjSQ/f+4ukj0TEfdUE4RoRMzOz+qs4EYmIdyTtC5xWoxiGAXdHxCnZ+v2SNiYlJz0mIhHxGPBY\nUdF0SesAU4DJ1QTx/vfDsGHQ1eVExMzMrF6qbZq5GtgbOLsGMTxPmpW12Exg3wrPczewTX87TZky\nhfHjxy9S1traSmtrK8sum5IQJyJmZtas2traaGtrW6Sso6Nj0K5XbSLyOPA/krYBZgBvFW+MiB9X\ncK47gQ1Kyjag/A6rBZuRkpo+nX322Uyc2PPI4OWWcyJiZmbNrfDHebH29nZaWloG5XrVJiJHAq8D\nLdlSLEjDe8t1NnCnpK8DV5D6iBxF6vcBgKTTgVUiYnK2fjzwFPAwMCbbdwdgl2reTMHyy8PMmTB3\nblqWXHIgZzMzM7P+VJWIRETNRs1ExD2S9gG+D5xCSjCOj4jfFu22ErBa0fooUufWlYG5wAPAThFx\nx0BiKR05s/rqAzmbmZmZ9afqp+8CSBpFGsr7REQsrPY8ETEVmNrH9sNL1s8Azqj2er0pHTnjRMTM\nzGxwVfv03SUl/YpUG/EwsHpW/hNJJ9UwvrryEF4zM7P6qvZZM98DNgW2B94uKr8ZOGCAMeXGiYiZ\nmVl9Vds0szdwQERMlxRF5Q8D6ww8rHz4eTNmZmb1VW2NyPJATw+YW4o0amax5BoRMzOz+qo2EbkH\n+ETReiH5OAqYNqCIcuTnzZiZmdVXtU0z3wCuk7RRdo7js2nZJ5EeXLdYco2ImZlZfVVVIxIRfyN1\nVh0BPAjsCrwITIqIGbULr77cR8TMzKy+KqoRkTQM+CqwJ2lSsVuBj0XEvEGIre5GjYJx4+CNN5yI\nmJmZ1UNhj3ipAAAdLElEQVSlNSLfAL4LvAk8C3wJOL/WQeWp0DzjRMTMzGzwVZqITAa+EBG7RcTe\nwKeAg7KakiGhkIi8/jq8806+sZiZmQ11lSYQqwPXFVYi4mbSiJmVaxlUnoo7rL7ySn5xmJmZNYNK\nE5ERLDqTKsA7wMjahJM/j5wxMzOrn0qH7wr4taT5RWVjgJ9JeqtQEBH71iK4PDgRMTMzq59KE5GL\neyi7tBaBNAoP4TUzM6ufihKRiDh8sAJpFK4RMTMzq58hM9qlVpyImJmZ1Y8TkRJ+3oyZmVn9OBEp\n4RoRMzOz+nEiUsKJiJmZWf04ESmx5JIwZkx67UTEzMxscDkRKSH5eTNmZmb14kSkB4VE5JVXoKsr\n31jMzMyGMiciPSgkIp2d8Npr+cZiZmY2lDkR6YGH8JqZmdVHQyQiklaWdImklyXNlXS/pIn9HLO9\npBmS3pb0mKTJtYrHI2fMzMzqI/dERNLSwJ3AfGA3YEPgy0CvjSKS1gSuBW4BNgXOAS6QtEstYlpl\nle7XjzxSizOamZlZTyp96N1gOAl4JiKOKip7up9jPg88GREnZuuPStoWmALcNNCAttyy+/W0aXDU\nUb3va2ZmZtXLvUYE+BRwj6QrJL0oqV1Sf1/9WwE3l5TdAEyqRUAtLTByZHp95521OKOZmZn1pBES\nkbVJNRyPArsCPwN+LOmQPo6ZALxYUvYiME7S6IEGtMQSMDHrofLoo+6wamZmNlgaoWlmGHB3RJyS\nrd8vaWNScnJpBedR9jP62mnKlCmMHz9+kbLW1lZaW1sXKdtmG/j739Pr6dPhk5+sIBIzM7PFVFtb\nG21tbYuUdXR0DNr1GiEReR6YWVI2E9i3j2NeAFYsKVsBeCMiFvR1sbPPPpuJE/sckAPA1lvDWWel\n13fd5UTEzMyaQ09/nLe3t9PS0jIo12uEppk7gQ1Kyjag7w6r04CdSsp2zcprYlJRbxP3EzEzMxsc\njZCInA1sJenrktaRdBBwFHBuYQdJp0u6uOiYnwHrSPqBpA0kfQH4NHBWrYJaeWVYc830+u674Z13\nanVmMzMzK8g9EYmIe4B9gFbgQeBk4PiI+G3RbisBqxUdMwv4BLAzcB9p2O6REVE6kmZAttkm/Xz7\nbbjvvlqe2czMzKAx+ogQEVOBqX1sP7yHstuBwWmwymy9NVx2WXp9553w4Q8P5tXMzMyaT+41Io1s\n6627X991V35xmJmZDVVORPrwwQ/C2LHp9Z13QvQ5MNjMzMwq5USkD8OHw1ZbpdfPPQfPPJNvPGZm\nZkONE5F+uHnGzMxs8DgR6Udh5Aw4ETEzM6s1JyL92HJLUDZ5vBMRMzOz2nIi0o/x42GTTdLr+++H\nN9/MNx4zM7OhxIlIGQr9RDo70yyrZmZmVhtORMrgfiJmZmaDw4lIGYpHzvgBeGZmZrXjRKQMa68N\nK6yQXk+bBl1d+cZjZmY2VDgRKYPU3TzT0QEzZ+Ybj5mZ2VDhRKRMbp4xMzOrPSciZfIMq2ZmZrXn\nRKRMLS0walR67UTEzMysNpyIlGn0aNhii/T68cdh9ux84zEzMxsKnIhUwM0zZmZmteVEpAJORMzM\nzGrLiUgFnIiYmZnVlhORCqy4IqyzTnr9j3/A/Pn5xmNmZra4cyJSoUKtyPz5cO+9+cZiZma2uHMi\nUiE/AM/MzKx2nIhUyDOsmpmZ1U7uiYikUyV1lSz/7GP/ydk+nUX7z61XvBttBOPGpdd33QUR9bqy\nmZnZ0JN7IpJ5CFgRmJAt2/azf0fRvhOANQY1uiLDh8OkSen1Cy/ArFn1urKZmdnQ0yiJyMKImB0R\nL2XLq/3sHyX713WeUzfPmJmZ1UajJCLrSXpW0hOSLpW0Wj/7j5U0S9Izkq6StFFdosx4PhEzM7Pa\naIREZDpwGLAbcCywFnCHpKV62f9R4AhgT+Bg0nu4S9Iqgx9qsuWWMCy7c05EzMzMqpd7IhIRN0TE\nlRHxUETcBOwBLAPs38v+0yPi0oh4ICL+CuwLzAaOqVfM73sffOhD6fWDD8Ibb9TrymZmZkPLiLwD\nKBURHZIeA9Ytc/+Fku4td/8pU6Ywfvz4RcpaW1tpbW2tKM6tt4b77oOuLvj732GXXSo63MzMrCG1\ntbXR1ta2SFlHR8egXa/hEhFJY4F1gN+Uuf8wYBNgajn7n3322UycOLH6ADNbbw3nn59e33WXExEz\nMxsaevrjvL29nZaWlkG5Xu5NM5LOkLSdpDUkbQ38EVgItGXbfyPp9KL9T5G0i6S1JG0OXEYavntB\nPeP2DKtmZmYD1wg1IqsClwPLkvp6/A3YKiJeKdq+sGj/ZYBfkOYPeQ2YAUyKiEfqFjGwxhqw0krw\n/PMwbRp0dqY5RszMzKx8uSciEdFn54yI2LFk/QTghEENqgxSap658kqYMwcefri7A6uZmZmVJ/em\nmcWZm2fMzMwGxonIAHiGVTMzs4FxIjIAm28Oo0en164RMTMzq5wTkQEYNQo+/OH0+skn00PwzMzM\nrHxORAaouJ/ItGn5xWFmZrY4ciIyQO4nYmZmVj0nIgM0aVL3a/cTMTMzq4wTkQFafnlYf/30esYM\nePvtfOMxMzNbnDgRqYFC88yCBSkZMTMzs/I4EakB9xMxMzOrjhORGigeOfODH7hWxMzMrFxORGpg\nww1hp53S61dfTa+nT883JjMzs8WBE5EakOCPf4SPfjStd3TALrvAHXfkG5eZmVmjcyJSI+97H1x3\nXXfNyJtvwsc/DjffnG9cZmZmjcyJSA0ttRRccw3svntanzcPPvlJmDo137jMzMwalRORGltiidRM\ns9deaX3+fNh7b7j66nzjMjMza0RORAbB6NHw+9/D/vun9XfegU9/Gq64It+4zMzMGo0TkUEyciRc\ndhl89rNpfeFCaG2FSy7JNy4zM7NG4kRkEI0YARddBEcdlda7umDyZLjggnzjMjMzaxRORAbZ8OHw\n85/DF7+Y1iPg6KPhvPPyjcvMzKwROBGpg2HD4Cc/gS9/ubvsuOPgzDPzi8nMzKwROBGpEwnOOANO\nPrm77Ctfge9+N7+YzMzM8uZEpI4k+M534LTTusu++U045ZTUZGNmZtZsnIjk4JvfTLUjBd/5Dpx4\nopMRMzNrPrknIpJOldRVsvyzn2M+I2mmpHmS7pe0e73irZWvfCX1Gyn43/+FL30pjawxMzNrFrkn\nIpmHgBWBCdmybW87SpoEXA78EtgMuAq4StJGdYizpo47Lo2okdL6uefCscc6GTEzs+bRKInIwoiY\nHREvZcurfex7PHBdRJwVEY9GxKlAO3BcfUKtrWOOgV//Oo2sAfjlL+Hww6GzM9ewzMzM6qJREpH1\nJD0r6QlJl0parY99JwGlz7S9IStfLB16KFx+eZpzBOA3v4GDD05Tw5uZmQ1ljZCITAcOA3YDjgXW\nAu6QtFQv+08AXiwpezErX2wdcEB6Ps3IkWn9d79Lz6qZPz/fuMzMzAbTiLwDiIgbilYfknQ38DSw\nP3BRmacRUNaYkylTpjB+/PhFylpbW2ltbS3zUoNnn33Sk3v32y8lIFddBfvuC1deCWPG5B2dmZk1\ng7a2Ntra2hYp6+joGLTrKRpwzGiWjNwUESf3sO1p4MyI+HFR2beAvSJi8z7OORGYMWPGDCZOnDgI\nUdfOzTfDnnvCvHlpfeedU1KyVG91RGZmZoOovb2dlpYWgJaIaK/luRuhaWYRksYC6wDP97LLNGCn\nkrJdsvIhYeed4frrYezYtH7zzbDHHjBnTr5xmZmZ1VruiYikMyRtJ2kNSVsDfwQWAm3Z9t9IOr3o\nkHOA3SWdIGmDrDakBTi33rEPpu22gxtvhHHj0vodd8Cuu8Lrr+cbl5mZWS3lnogAq5LmBXkE+C0w\nG9gqIl4p2v5uR9SImAa0AscA9wH7kppl+pwEbXE0aRLccgsss0xanz4ddtoJHngg37jMzMxqpRE6\nq/bZSzQiduyh7ErgykELqoFssQXcdhvssgvMng3t7bDpprDXXmmq+C22yDtCMzOz6jVCjYj1Y9NN\n4S9/gdWKZle5+mr48Idh993hzjtzC83MzGxAnIgsJjbaCB55BM45B1ZZpbv8+uth221hxx3h1lv9\n4DwzM1u8OBFZjCy5ZHow3hNPwM9+Bmus0b3ttttS/5Ftt4XrrnNCYmZmiwcnIouh0aPhc5+Dxx+H\niy6C9dbr3nbXXWmo74c/nOYe8QP0zMyskTkRWYyNHAmHHQYzZ6Zn1WxU9PzhGTPSTK2bbZami/dD\n9MzMrBE5ERkChg+H1lZ48EH4v/9LyUfBgw/CgQfCxhunh+ktXJhfnGZmZqWciAwhw4al59S0t8O1\n18KWW3Zve/RRmDwZNtgAfvlLWLAgvzjNzMwKnIgMQRJ84hMwbRrcdFOapbXgySfhmGNg3XXh3HO7\nn2djZmaWByciQ5iUnltz++1p2WWX7m3//jf813/B2mvDmWfCW2/lF6eZmTUvJyJNovDsmunT4ZOf\n7C5/4QX4yldgzTXh9NPhjTdyC9HMzJqQE5Ems+WWcM01qR/Jfvt1l7/8Mpx8cpqb5NRT4dVX84vR\nzMyahxORJrX55mmEzUMPwUEHpY6ukJ7u++1vp4TkpJPgpZfyjdPMzIY2JyJNbuON4bLL0vTxhx8O\nI7LHIL75JvzgB6nJZsoUeO65XMM0M7MhyomIAWl21gsvTLO1HnssjBqVyufNgx/9CNZaC77wBXj6\n6XzjNDOzocWJiC1izTXhpz9Nw3yPPx7GjEnlCxak8nXXhSOPhH/9K9cwzcxsiHAiYj1aZZVUEzJr\nFpx4Iowdm8oXLkw1JxtsAIcckqaXNzMzq5YTEevTiiumviKzZsEpp8D48am8qyv1Ldl4Y/jMZ+D+\n+3MN08zMFlNORKwsyy6bRtM8/TR85ztpHSCi+/k2e+0Fd9+db5xmZrZ4cSJiFRk/Ps03MmsWnHFG\nqjEp+NOf0jwlu+0Gf/tbbiGamdliZETeAdjiaezYNCPrF78IF1yQmm+efTZtu/HGtHzsY6k5Z8cd\n03TzVrmuLnj77TR66e23u5fi9XJe97UNYPTo1DF59Oiel762VXrsqFHd89aYmTkRsQFZYon0zJpj\njoGLL4bvfS/VlkD3M2622iolJLvvvngmJBGLfqFXkwhUm0i8807e735wjBw5OElONdtHjVo8P5dm\nQ4UTEauJ0aNTMnL44XD55em5NY89lrZNn56eBjxxInzzm6kvSaV/EUekIcSDXTvQ0+v582t/v5rd\nO++k5c03844kGTVqcGuBKtnuxMiajRMRq6mRI2Hy5DS09/e/h+9+N00jD+n5NvvuC5tskmpJKk0e\nIvJ9b4Op8OU0ZkyqZervdbn79XdMYeK6BQtSwlVIvHpa+tpWy+151AItWJCWOXPqf+2eDLSWp5bH\njhzpxMgGV8MlIpK+DnwX+FFEnNDLPpOBi4AACr8ib0fEkvWJsnm0tbXR2tpa8XHDh8OBB8L++8PV\nV6eRNu3tadtDD3UnJ41k5MjafcHfe28bO+zQWtYxo0fn32ei8KUzblx+MRQ+a11d3YlRuYnMYCZJ\neSRGhWuXpw2o/He0XFJ3jdFgN5OVs23EiIEnRtX+v2aDo6ESEUkfBo4GypmVogNYn+5EZAj/vZyf\ngf7CDhsG++wDe+8N110Hp52Wmmp6M3x45YlALWoKxoxJ166VPfds49Of9n90lSh81oYN6/43aQRd\nXfWpCSp3+8KFpREObiIS0X3tN94YtMuUTRp4kvOnP7Xx+OOt/R47YQJ88IN5v+Ohr2ESEUljgUuB\no4BTyjgkImL24EZltSLBHnukDqtPPJGaXXpKCkY0zCfSLBk2LH1Gl1gi70iSzs5Fm9I++1k477za\nJ0HlHtvZWd/3X9x5fCBOPbX/ffbYA/7854Fdx/rXSP/tnwdcExG3SionERkraRZpLpR24BsR8c/B\nDNAGTkrPqzGz6hRqDQuJ0RJLwPrr5xdPZ2d+SVBPSy0To0aplRvqGiIRkXQgsBmwRZmHPAocATwA\njAe+CtwlaeOIeHZwojQzs1LDh8OSS6alESxc2HcSM38+fPWraQRff4nORhvl/W6aQ+6JiKRVgR8B\nu0REWd3CImI68G5PA0nTgJnAMUBvFW5jAGb6KW0V6ejooL3Qy9TK5vtWOd+z6vi+la+QNI0a1cFK\nK5V3z3xrk6LvzprXEylyHhMpaS/gD0An3R1Ph5M6n3YCo6OMICVdAbwTEQf3sv0g4LKaBG1mZtac\nDo6Iy2t5wtxrRICbgdJ+yb8m1XB8v8wkZBiwCTC1j91uAA4GZgED7OZkZmbWVMYAa5K+S2sq9xqR\nnki6Dbi3MI+IpIuBZyPiG9n6KaSmmX8BSwMnAnsCLRHxSD5Rm5mZWaUaoUakJ6XZ0WqkZpqCZYBf\nABOA14AZwCQnIWZmZouXhqwRMTMzs+bgh3GbmZlZbpyImJmZWW6aIhGR9EVJT0maJ2l69kwbAySd\nKqmrZPln0fbRks6T9LKkOZL+T9IKecacB0kflfQnSc9m92jPHvb5tqTnJM2VdJOkdUu2LyPpMkkd\nkl6TdIGkper3Luqrv3sm6aIePntTS/Zptnv2dUl3S3pD0ouS/ihp/ZJ9+v2dlLSapD9LekvSC5J+\nmI0uHJLKvG9/KfmsdUo6v2Sfprlvko6VdH/2u9Uh6S5JHy/aXrfP2ZC8wcUkHQCcSZrobHPSA/Vu\nkLRcroE1loeAFUmdfycA2xZt+xHwCWA/YDtgZeDKegfYAJYC7gO+SA8PWJT0NeA44HPAR4C3SJ+z\nUUW7XQ5sCOxEuqfbAT8f3LBz1ec9y1zHop+90qe3Nds9+yjwE2BLYGdgJHCjpOIn3fT5O5l9EUwl\nDUbYCpgMHAZ8e/DDz0059y1IgxwKn7eVSCMugaa8b/8Gvga0ZMutwNWSNsy21+9zFhFDeiEN8z2n\naF3Af4AT846tERZSgtbey7ZxwHxgn6KyDYAu4CN5x57jPesC9iwpew6YUnLv5gH7Z+sbZsdtXrTP\nbsBCYELe7ymne3YR8Ic+jvlAM9+z7P0ul92DbYs+V33+TgK7A+8AyxXt8znSCMMReb+nPO5bVnYb\ncFYfx/i+wSvA4fX+nA3pGhFJI0mZ3i2Fskh362ZgUl5xNaD1surzJyRdKmm1rLyFlO0W379HgWfw\n/XuXpLVIf2EV36c3gL/TfZ+2Al6LiHuLDr2Z9FfalnUKtRFtn1WlPyLpfEnvL9o2Cd+zpUnv99Vs\nvZzfya2AByPi5aLz3EB6LtfGgx1wgyi9bwUHS5ot6UFJp5fUmDTtfZM0TOmZb0sC06jz52xIJyKk\nrHg48GJJ+YukLw5LNUaHkf7SPBZYC7gja4efACzIvlSL+f4tagLpP72+PmcTgJeKN0ZEJ+k/yma9\nl9cBhwI7kqrIPwZMlVR41ENT37PsPvwI+Ft0P1m8nN/JCfT8WYTmvW+QHvFxCLA9cDrwWeCSou1N\nd98kbSJpDqn243xSDcgj1Plz1qgTmg020XubdVOJiOLpeh+SdDfwNLA/vU+F7/tXnnLuU9Pey4i4\nomj1YUkPAk+Qvihu6+PQZrln5wMbsWifrd6Ue0+a6b5tU1wYERcUrT4s6QXgFklrRcRT/ZxzqN63\nR4BNSTVI+wG/kbRdH/sPyudsqNeIvEyakXXFkvIVeG8mZ0BEdACPAesCLwCjJI0r2c33b1EvkH5B\n+/qcvZCtv0vScNIswb6XQPZl8DLpswdNfM8knQvsAWwfEc8VbSrnd/IF3vtZLKw30317vp/d/579\nLP68NdV9i4iFEfFkRLRHxMmkwRzHU+fP2ZBORCLiHdL07zsVyrJqu52Au/KKq5FJGgusQ+p8OYPU\nMbD4/q0PrE5qRzTe/QJ9gUXv0zhSP4bC52wasLSkzYsO3YmUwPwdQ9KqwLJA4QukKe9Z9mW6F7BD\nRDxTsrmv38niz9oHS0YG7gp0AMVNFUNKP/etJ5uT/nIv/rw13X0rMQwYTb0/Z3n30q1DL+D9SaMX\nDiX1wv85qWfw8nnH1ggLcAZpaNYawNbATaRsdtls+/nAU6Tq8hbgTuCvecedw31ailSFuRmp5/h/\nZ+urZdtPzD5XnyI9Tfoq4HFgVNE5pgL3AB8mVRs/ClyS93vL455l235IStbWyP7Du4f01O2RTXzP\nzieNOvgo6a/LwjKmZJ9efydJXyb3k/rgfIjU/+tF4LS8319e9w1YG/gmMDH7vO1Jemjqrc1634Dv\nkpr91iA9vf57pORjx3p/znK/GXW64V8AZpESkmnAFnnH1CgL0EYazjyP1CP6cmCtou2jSePzXwbm\nAL8HVsg77hzu08eyL9POkuXCon2+RapJmkvqPb5uyTmWBi4l/cXwGvBLYMm831se94z0SPHrSTVJ\nbwNPAj+l5A+EJrxnPd2vTuDQon36/Z0kJXvXAm9mXw4/AIbl/f7yum/AqsBfgNnZ7+ej2Rfv2Ga9\nb8AF2e/dvOz38EayJKTenzM/9M7MzMxyM6T7iJiZmVljcyJiZmZmuXEiYmZmZrlxImJmZma5cSJi\nZmZmuXEiYmZmZrlxImJmZma5cSJiZmZmuXEiYma5kDRZ0muDcN5TJbXX+rxmNjiciJg1MUkXSeoq\nWl6WdJ2kD1Z4nlMl3VtFCBVP7SxpH0nTJL0u6Q1JD0k6q2iXMyh6WJeZNTYnImZ2HekBYROAHUkP\nvrqmivMM+vMiJO0E/Jb03IsPkx5i9g1g5LtBRMyNiJrXtJjZ4HAiYmbzI2J2RLwUEQ+QHly1mqRl\nCztI+r6kRyW9JekJSd+WNDzbNhk4Fdg0q1XplHRotm28pJ9LekHSPEkPSNqj+OKSdpX0T0lzstqY\nFfuI9ZPA3yLirIh4PCL+FRF/ioj/KjrfIrUzRTEV/3yyaPsmkqZm139B0m+K37uZDS4nImb2Lklj\ngUOAxyPilaJNbwCHAhsCXwKOAqZk234HnAk8TKpZWQn4nSSRnrA7CTgoO/Yk0lNRC5YCvgwcTHqE\n++rA//YR4gvAxpI27uetFNfOTMhimgCsR3r8++3Z+x0P3ALMINWu7AaskL0nM6uDEXkHYGa5+5Sk\nOdnrpYDnSDUP74qI04tWn5F0JnAA8L8R8bakN4GFETG7sJOkXYEtgA9ExBNZ8aySa48APhcRs7Jj\nzgVO6SPWnwDbAg9IegaYTnp8+WURsaCnAyLipaKYfga8DhybFR0HtEfEKUX7HJW9x3Uj4l99xGJm\nNeAaETO7FfgQsCnwEdIX+/WSVivsIOkASX+T9HyWtHyHVHvRl02B/xQlIT2ZW0hCMs+TaiR6lPX/\n+BSwLnAaMIdUG3O3pDF9BSPpe8CWwF4RMb8oxh2zZpk52XubSapRWafPd2dmNeFExMzeioinIuLJ\niLiH1OyyFHA0gKRJwKXAtcAngM2A7wKj+jnvvDKu/U7JegDq76As3gsj4hhgc2AjUg1NjyQdAhwP\n7B0RzxdtGgv8ie5ErLCsB9xRRvxmNkBumjGznnQBS2SvJwGzIuL7hY2S1izZfwEwvKTsAWDVOjRx\nPAPMJSVP75ElUr8Ejo6If5Rsbgf2BZ6OiK5BjNHMeuFExMxGF41UWQb4L9KX+p+ysseB1SUdAPyD\n1H9k75JzzALWkrQp8B9gTkTcIemvwJWSvkzqJPoBoCsibqwmUEmnAksCU4GngaVJNR0jgJt62H9F\n4I9AG3BT0fvsjIiXgfNINUC/lfRD4FVSbcgBwJERMehDks2anZtmzOzjpA6qz5E6f7YAn46IvwJE\nxDXA2aSOovcCWwHfLjnHlaQRMrcBLwEHZuX7kpKXy0mjan7Ae2tOKnE7sBZwMakvx1RSn5JdI+Lx\nHvb/ALA8MLnoPT4H3J29t+eBbUj/F95AqsU5C3jNSYhZfci/a2ZmZpYX14iYmZlZbpyImJmZWW6c\niJiZmVlunIiYmZlZbpyImJmZWW6ciJiZmVlunIiYmZlZbpyImJmZWW6ciJiZmVlunIiYmZlZbpyI\nmJmZWW6ciJiZmVlu/j8TeJVnK12+YAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f409399a890>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(batch_sizes, batch_size_results, label='', linewidth=2)\n",
"plt.xlabel('Batch Size')\n",
"plt.ylabel('Perplexity')\n",
"plt.title(\"Batch Size and Perplexity\")"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Testing number of nodes: 2\n",
"Testing number of nodes: 4\n",
"Testing number of nodes: 8\n",
"Testing number of nodes: 16\n",
"Testing number of nodes: 32\n",
"Testing number of nodes: 64\n",
"Testing number of nodes: 128\n",
"Testing number of nodes: 256\n"
]
}
],
"source": [
"num_nodes = [2, 4, 8, 16, 32, 64, 128, 256]\n",
"num_nodes_results = []\n",
"for nodes in num_nodes:\n",
" print(\"Testing number of nodes: \", nodes)\n",
" result = lstm_model_test(64, nodes, 10, 3001, 10000)\n",
" num_nodes_results.append(result)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f40d95f2a10>"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f40a12a5990>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(num_nodes, num_nodes_results, linewidth=2)\n",
"plt.xlabel('Number of Nodes')\n",
"plt.ylabel('Perplexity')\n",
"plt.title(\"Number of Nodes and Perplexity\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"** Hypothesis ** Increasing the number of unrollings will reduce the validation set perplexity.\n",
"\n",
"** Result ** Correct: Like the number of nodes and batch size, increasing the number of unrollings reduces the validation set perplexity. However, it seems like after a certain point, this effect disapears, and may actually result in an increasing validation set perplexity."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Testing number of unrollings 1\n",
"Testing number of unrollings 2\n",
"Testing number of unrollings 3\n",
"Testing number of unrollings 4\n",
"Testing number of unrollings 5\n",
"Testing number of unrollings 10\n",
"Testing number of unrollings 15\n",
"Testing number of unrollings 20\n",
"Testing number of unrollings 25\n",
"Testing number of unrollings 30\n",
"Testing number of unrollings 50\n"
]
}
],
"source": [
"num_unrollings = [1,2,3,4,5,10,15,20,25,30,50]\n",
"num_unrollings_results = []\n",
"for unrollings in num_unrollings:\n",
" print(\"Testing number of unrollings\", unrollings)\n",
" result = lstm_model_test(64, 64, unrollings, 3001, 10000)\n",
" num_unrollings_results.append(result)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f409b68db50>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAhoAAAGHCAYAAAD2qfsmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3XmYHGW5/vHvnQQSwhJ2gSNrWCQuQMIiKiCgIBwV5Cg6\n7CguKIJBf+wKggvHhSggokfZRAbBA6IedkWQTSCDgCaAQNghYQkJJAGyPL8/3mqnp9Mz0+tUd8/9\nua6+praueqa6Z/rut96qUkRgZmZm1gwj8i7AzMzMOpeDhpmZmTWNg4aZmZk1jYOGmZmZNY2DhpmZ\nmTWNg4aZmZk1jYOGmZmZNY2DhpmZmTWNg4aZmZk1jYOGtTVJO0laImmfvGuphKQ1Jf1W0guSFks6\nMu+aalG033csmnaBpBklyy2R9I2hr7C1SHpc0nl511GLcq91E7ZxiqQlzVq/5ctBwwYl6eDsH818\nSWuXmf8XSffnUVumna6j/yPgg8B3gAOBa8stJGn9bJ8f3c/8r2Xz12teqYMq3e9R4bThqKJ9kL2m\nhcdiSc9Iuk7STs0ucBDNfg0D6BM0JB0vaa8mb9eGgIOGVWM0cFyZ6Xl/kCjn7VdjZ+B3ETElIi6J\niIdrXE+7fIAvB3w77yLazPXAAcBBwE+BdwJ/lvShXKtqrtOAsSXTTgAcNDqAg4ZV4+/AZyWtlXch\nQ01S6T/BWq0JzGnQuhqmgb9fHxHxZkS4Sbw6D2ch9NcR8S1gN1KYPqoRK5e0XCPW00gRsSQi3sy7\nDmsOBw2rVJCa+0dRvlXj34qa/Q8qM6/PMfvCsVlJm0i6WNIrkmZJOjWbv66k30maI+m5fg4lBDBS\n0neyZV6TdJWkt5bZ/naSrs22My877POekmUKNW0u6RJJLwN/HeR33lDS5ZJeytZ7h6Q9i+YfXHQM\n+ohC0/hA66xW1g/g95LeK+lvkhZIelTSgSXLFQ6F7SjpHEkzgaeK5m8l6Zpsn78q6UZJ29VYU3+v\n9/isT8fs7LU4T9KYkueOkXRm1p9lbvY+WKfMOleQ9CNJMyS9LmmmpOslbTlIbetlv/+D2WHBFyVd\nJmn9fvbXeySdkb0/X5N0haTVyqz3JElPZe+DP0maUMu+K4iIfwAvAhuWbOcASfdktb8kqbv0PZ+9\nv++XNFHSLZLmkbUwFb1fPijp3uz98k9JH6ukrsH+lrLXb3r2GF00fZXs7/TWoml9+mhkw2OBQ9R7\n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\ngg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f40d949ead0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(num_unrollings, num_unrollings_results, linewidth=2)\n",
"plt.xlabel('Number of Unrollings')\n",
"plt.ylabel('Perplexity')\n",
"plt.title(\"Number of Unrollings and Perplexity\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"** Hypothesis ** Increasing the number of epochs will reduce the perplexity\n",
"\n",
"** Result ** Correct: Increasing the number of epochs does result in a generally decreasing perplexity, however it is not a monotonically decreasing function."
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Testing number of epochs 1001\n",
"Testing number of epochs 2001\n",
"Testing number of epochs 3001\n",
"Testing number of epochs 4001\n",
"Testing number of epochs 5001\n",
"Testing number of epochs 6001\n",
"Testing number of epochs 7001\n",
"Testing number of epochs 8001\n",
"Testing number of epochs 9001\n",
"Testing number of epochs 10001\n"
]
}
],
"source": [
"epochs = [1001, 2001, 3001, 4001, 5001, 6001, 7001, 8001, 9001, 10001]\n",
"epoch_results = []\n",
"for epoch in epochs:\n",
" print(\"Testing number of epochs\", epoch)\n",
" result = lstm_model_test(64, 64, 10, epoch, 10000)\n",
" epoch_results.append(result)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f40debc0290>"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAisAAAGHCAYAAABxmBIgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XmcXfP9x/HXJ7skkhAiFEEsTfqzJEFFkcYWSUsIQuxV\ntFWaUq211SqqaqutVcQWkiCEEg1BBRVLQuxLJaEJspKERJaZ7++Pzxn3zM2d7c7MPefe+34+Hvcx\nZ7vnfu537sx85rtaCAERERGRtGqRdAAiIiIitVGyIiIiIqmmZEVERERSTcmKiIiIpJqSFREREUk1\nJSsiIiKSakpWREREJNWUrIiIiEiqKVkRERGRVFOyImXNzAaYWaWZDUs6lvows25mdr+ZLTCzCjP7\nRdIx5Ssq92uTjqMpmNlsMxuVdBz5iP0M7NWMr/F7M6tsrvtL6VOyIs3OzI6PfhkuN7ONc5z/t5m9\nnkRskWJac+IaYD/gUuBY4F81XRiVeU2PGwsVcJmo12co63tQYWZzzWySmQ1o7gDr0Nw/AwGolqyY\n2blmNrSZX1dKRKukA5Cy0hY4BxiZdTzpZMESfv2GGAhMCCFcXc/rHwfuzHH8/aYLSRqo6ntiwJbA\nqcBTZvaDEEKNyWeR+yPwp6xj5wH3AQ8VPhwpNkpWpJBeA042sz+FED5LOphCMrP2IYTlTXCrbsCS\nBlz/fgjhniZ4XWk61b4nZjYBeB1P4hudrJjZOiGEFY29T1MKIVQCq5KOQ4qXmoGkUALedNEKr12p\nkZn1iKrJj8txrtLMfhfb/310bBszG21mX5jZfDO7KDq/mZlNMLMlZvapmZ1ZQ2wtzezS6Jovzewh\nM9s0x+t/18z+Fb3OV1ET1u5Z11TF1MvM7jGzxcCzdbznLc3sPjNbFN33BTMbEjt/fKzN/7SqZoTa\n7llfVc1wZtbXzJ6PmutmmtlPcly7oZndamafmdkKM3uthu+TmdnI6L4rou/JY2bWN8e1Q83sDTP7\n2szeNLNBWec7mtk1ZjYrumaemT1uZjvV8b42N7Mbzezd6D0tNLN7zaxH1nVVzZS7m9lVUaxfmtkD\nZtY1x30vMLP/Rd+nJ82sd21x1CWE8CawEK9lib/OMWb2ShT7IjMbk/2ZzPreTTGzr4BLonOzzexh\nM9vPzF6Nvg9vmdkh9Ymrrs+6mbUzs3eiR9vY8fWin6PnYseq9VmJttsDJ1imWWyUmQ2MttdqHjKz\n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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f409b6824d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(epochs, epoch_results, linewidth=2)\n",
"plt.xlabel('Number of Epochs')\n",
"plt.ylabel('Perplexity')\n",
"plt.title(\"Number of Epochs and Perplexity\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"** Question ** How is the model accuracy (validation set perplexity) affected by the joint changing of num_nodes and num_unrollings?\n",
"\n",
"** Result ** Correct: The resulting surfacie is a \"ski slope.\" As you increase both the number of nodes and the number of unrollings, the perplexity decreases."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Testing paramters: (64, 2, 1, 3001, 10000)\n",
"Testing paramters: (64, 2, 2, 3001, 10000)\n",
"Testing paramters: (64, 2, 3, 3001, 10000)\n",
"Testing paramters: (64, 2, 4, 3001, 10000)\n",
"Testing paramters: (64, 2, 5, 3001, 10000)\n",
"Testing paramters: (64, 2, 10, 3001, 10000)\n",
"Testing paramters: (64, 2, 15, 3001, 10000)\n",
"Testing paramters: (64, 2, 20, 3001, 10000)\n",
"Testing paramters: (64, 2, 25, 3001, 10000)\n",
"Testing paramters: (64, 2, 30, 3001, 10000)\n",
"Testing paramters: (64, 2, 50, 3001, 10000)\n",
"Testing paramters: (64, 4, 1, 3001, 10000)\n",
"Testing paramters: (64, 4, 2, 3001, 10000)\n",
"Testing paramters: (64, 4, 3, 3001, 10000)\n",
"Testing paramters: (64, 4, 4, 3001, 10000)\n",
"Testing paramters: (64, 4, 5, 3001, 10000)\n",
"Testing paramters: (64, 4, 10, 3001, 10000)\n",
"Testing paramters: (64, 4, 15, 3001, 10000)\n",
"Testing paramters: (64, 4, 20, 3001, 10000)\n",
"Testing paramters: (64, 4, 25, 3001, 10000)\n",
"Testing paramters: (64, 4, 30, 3001, 10000)\n",
"Testing paramters: (64, 4, 50, 3001, 10000)\n",
"Testing paramters: (64, 8, 1, 3001, 10000)\n",
"Testing paramters: (64, 8, 2, 3001, 10000)\n",
"Testing paramters: (64, 8, 3, 3001, 10000)\n",
"Testing paramters: (64, 8, 4, 3001, 10000)\n",
"Testing paramters: (64, 8, 5, 3001, 10000)\n",
"Testing paramters: (64, 8, 10, 3001, 10000)\n",
"Testing paramters: (64, 8, 15, 3001, 10000)\n",
"Testing paramters: (64, 8, 20, 3001, 10000)\n",
"Testing paramters: (64, 8, 25, 3001, 10000)\n",
"Testing paramters: (64, 8, 30, 3001, 10000)\n",
"Testing paramters: (64, 8, 50, 3001, 10000)\n",
"Testing paramters: (64, 16, 1, 3001, 10000)\n",
"Testing paramters: (64, 16, 2, 3001, 10000)\n",
"Testing paramters: (64, 16, 3, 3001, 10000)\n",
"Testing paramters: (64, 16, 4, 3001, 10000)\n",
"Testing paramters: (64, 16, 5, 3001, 10000)\n",
"Testing paramters: (64, 16, 10, 3001, 10000)\n",
"Testing paramters: (64, 16, 15, 3001, 10000)\n",
"Testing paramters: (64, 16, 20, 3001, 10000)\n",
"Testing paramters: (64, 16, 25, 3001, 10000)\n",
"Testing paramters: (64, 16, 30, 3001, 10000)\n",
"Testing paramters: (64, 16, 50, 3001, 10000)\n",
"Testing paramters: (64, 32, 1, 3001, 10000)\n",
"Testing paramters: (64, 32, 2, 3001, 10000)\n",
"Testing paramters: (64, 32, 3, 3001, 10000)\n",
"Testing paramters: (64, 32, 4, 3001, 10000)\n",
"Testing paramters: (64, 32, 5, 3001, 10000)\n",
"Testing paramters: (64, 32, 10, 3001, 10000)\n",
"Testing paramters: (64, 32, 15, 3001, 10000)\n",
"Testing paramters: (64, 32, 20, 3001, 10000)\n",
"Testing paramters: (64, 32, 25, 3001, 10000)\n",
"Testing paramters: (64, 32, 30, 3001, 10000)\n",
"Testing paramters: (64, 32, 50, 3001, 10000)\n",
"Testing paramters: (64, 64, 1, 3001, 10000)\n",
"Testing paramters: (64, 64, 2, 3001, 10000)\n",
"Testing paramters: (64, 64, 3, 3001, 10000)\n",
"Testing paramters: (64, 64, 4, 3001, 10000)\n",
"Testing paramters: (64, 64, 5, 3001, 10000)\n",
"Testing paramters: (64, 64, 10, 3001, 10000)\n",
"Testing paramters: (64, 64, 15, 3001, 10000)\n",
"Testing paramters: (64, 64, 20, 3001, 10000)\n",
"Testing paramters: (64, 64, 25, 3001, 10000)\n",
"Testing paramters: (64, 64, 30, 3001, 10000)\n",
"Testing paramters: (64, 64, 50, 3001, 10000)\n",
"Testing paramters: (64, 128, 1, 3001, 10000)\n",
"Testing paramters: (64, 128, 2, 3001, 10000)\n",
"Testing paramters: (64, 128, 3, 3001, 10000)\n",
"Testing paramters: (64, 128, 4, 3001, 10000)\n",
"Testing paramters: (64, 128, 5, 3001, 10000)\n",
"Testing paramters: (64, 128, 10, 3001, 10000)\n",
"Testing paramters: (64, 128, 15, 3001, 10000)\n",
"Testing paramters: (64, 128, 20, 3001, 10000)\n",
"Testing paramters: (64, 128, 25, 3001, 10000)\n",
"Testing paramters: (64, 128, 30, 3001, 10000)\n",
"Testing paramters: (64, 128, 50, 3001, 10000)\n",
"Testing paramters: (64, 256, 1, 3001, 10000)\n",
"Testing paramters: (64, 256, 2, 3001, 10000)\n",
"Testing paramters: (64, 256, 3, 3001, 10000)\n",
"Testing paramters: (64, 256, 4, 3001, 10000)\n",
"Testing paramters: (64, 256, 5, 3001, 10000)\n",
"Testing paramters: (64, 256, 10, 3001, 10000)\n",
"Testing paramters: (64, 256, 15, 3001, 10000)\n",
"Testing paramters: (64, 256, 20, 3001, 10000)\n",
"Testing paramters: (64, 256, 25, 3001, 10000)\n",
"Testing paramters: (64, 256, 30, 3001, 10000)\n",
"Testing paramters: (64, 256, 50, 3001, 10000)\n"
]
}
],
"source": [
"num_unrollings = [1,2,3,4,5,10,15,20,25,30,50]\n",
"num_nodes = [2, 4, 8, 16, 32, 64, 128, 256]\n",
"num_epochs = [3001]\n",
"batch_sizes = [64]\n",
"summary = [10000]\n",
"\n",
"params = list(itertools.product(batch_sizes, num_nodes, num_unrollings, num_epochs, summary))\n",
"params_results = []\n",
"for params in params:\n",
" print(\"Testing paramters: \", params)\n",
" result = lstm_model_test(*params)\n",
" params_results.append(result)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"num_unrollings = [1,2,3,4,5,10,15,20,25,30,50]\n",
"num_nodes = [2, 4, 8, 16, 32, 64, 128, 256]\n",
"params = list(itertools.product(num_nodes, num_unrollings))\n",
"\n",
"x = [t[0] for t in params]\n",
"y = [t[1] for t in params]\n",
"z = params_results"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<mpl_toolkits.mplot3d.art3d.Poly3DCollection at 0x7f40a1849310>"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nGu7rZzWH/JgRGhoqiqKIiYmJ0WPMmDHqGD8/P2nQoIHUqFFDevfuLefOnTOaIykpSYYPH646wLFj\nx0pGRsZD2bNjxw6ZMWOG/Pjjj2JiYnJXh9yvXz9JSEiQ+Ph4iY+Pl+TkZKMxffr0kfbt20t4eLgc\nPHhQWrRoIcOHD38oezT+HQUFBZKbmytRUVESGBgoY8aMkaeeekqqVq0qrVu3lpdfflkWLVok4eHh\nkpKSIikpKZKUlCQ3btyQuLg4IycdHx8v169fV/9vcNJpaWkSEBAgtra2Mn36dMnKyirvl/1IkJub\nK++88440atRIduzYIVlZWeLk5CR+fn4i8reDzcnJEUdHR/H391eP7927t5ysrlTc189qecgaFYa7\n5UWPGTOGlJQUNm/efNfn/Pnnnzg5OWl50RUYESElJYXw8HCj3OicnBxcXFzUre6OHTtSu3ZtcnNz\nOXz4MC1atMDS0hLQK42///572rZty+XLl7l58yarV6+mW7dumpiwBNi1axfHjx8nKiqKqVOn0qFD\nBzIzM/Hz8yMsLIw5c+aoKVSXL1+mW7duBAQE8NxzzxnNc/u2t4YRWh6yRuUnNDSUevXq0apVK8aN\nG8etW7fUc4cPH9byois496rTffToUaM63Y6Ojjg7O+Pu7k7//v357rvvMDMzw9LSks6dO+Pm5sbZ\ns2eJjo7mypUreHp68vTTT7NkyZLyfomViruptg8cOMC7777L8ePHadWqFaBPbxo4cCDW1taMHz+e\niIgINV5sZmZGkyZN7phHc8b/kuIso0XbstYoA+4WQ163bp389NNPcvLkSdm6das4OTmJm5ubGvOa\nNWuWtGrV6o656tatK4sXLy4TuzX+Pfn5+bJw4UKxsLAQW1tb8fb2Fnt7e6lRo4a4urpK8+bNxd7e\nXnbv3i1ZWVnyxx9/yLx582To0KESEBBQ3ubfVwshIjJjxgw1FNSzZ887QkFlQV5envr/23UWXl5e\n4uDgIL///rvR8X379kmvXr2kZs2a0qxZM2ncuPEdYzSKhRZD1qg83OuLrCgXLlwQRVHkt99+E5F7\nO+Q6depIYGBgqdipUfLExMRI1apVZfTo0ZKUlCQi+nj01atXZe3atdKjR487tAMViftpIb744gup\nWbOmbNu2TaKjo2XgwIHStGlTI7FkSVNUVHW7wGrcuHHSt29f+eKLL+TkyZMiInLq1Cl58sknxdfX\n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\nYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f40a18997d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure()\n",
"ax = fig.add_subplot(111, projection='3d')\n",
"ax.set_xlabel('Nodes')\n",
"ax.set_ylabel('Unrollings')\n",
"ax.plot_trisurf(x, y, z, linewidth=0)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment