From 6af0858a1660289fdca80df231043fa50e4b955e Mon Sep 17 00:00:00 2001
From: deadskull7
Date: Mon, 1 Oct 2018 21:31:34 +0530
Subject: [PATCH 1/2] Adding checkpoint
---
.gitignore | 2 +-
LSTM.ipynb | 469 ++++++-----------------
README.md | 207 +++++-----
checkpoints/checkpoint | 2 +
checkpoints/my_model.data-00000-of-00001 | Bin 0 -> 205904 bytes
checkpoints/my_model.index | Bin 0 -> 949 bytes
checkpoints/my_model.meta | Bin 0 -> 7676023 bytes
lstm.py | 301 +++++++++++++++
8 files changed, 504 insertions(+), 477 deletions(-)
create mode 100644 checkpoints/checkpoint
create mode 100644 checkpoints/my_model.data-00000-of-00001
create mode 100644 checkpoints/my_model.index
create mode 100644 checkpoints/my_model.meta
create mode 100644 lstm.py
diff --git a/.gitignore b/.gitignore
index 1b46987..62c472e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
.ipynb_checkpoints
-___*
+
diff --git a/LSTM.ipynb b/LSTM.ipynb
index 8dbeffc..c16e9af 100644
--- a/LSTM.ipynb
+++ b/LSTM.ipynb
@@ -4,9 +4,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "# LSTMs for Human Activity Recognition\n",
+ "# LSTMs for Human Activity Recognition\n",
"\n",
- "Human Activity Recognition (HAR) using smartphones dataset and an LSTM RNN. Classifying the type of movement amongst six categories:\n",
+ "Human activity recognition using smartphones dataset and an LSTM RNN. Classifying the type of movement amongst six categories:\n",
"- WALKING,\n",
"- WALKING_UPSTAIRS,\n",
"- WALKING_DOWNSTAIRS,\n",
@@ -14,9 +14,7 @@
"- STANDING,\n",
"- LAYING.\n",
"\n",
- "Compared to a classical approach, using a Recurrent Neural Networks (RNN) with Long Short-Term Memory cells (LSTMs) require no or almost no feature engineering. Data can be fed directly into the neural network who acts like a black box, modeling the problem correctly. [Other research](https://archive.ics.uci.edu/ml/machine-learning-databases/00240/UCI%20HAR%20Dataset.names) on the activity recognition dataset can use a big amount of feature engineering, which is rather a signal processing approach combined with classical data science techniques. The approach here is rather very simple in terms of how much was the data preprocessed. \n",
- "\n",
- "Let's use Google's neat Deep Learning library, TensorFlow, demonstrating the usage of an LSTM, a type of Artificial Neural Network that can process sequential data / time series. \n",
+ "Compared to a classical approach, using a Recurrent Neural Networks (RNN) with Long Short-Term Memory cells (LSTMs) require no or almost no feature engineering. Data can be fed directly into the neural network who acts like a black box, modeling the problem correctly. Other research on the activity recognition dataset used mostly use a big amount of feature engineering, which is rather a signal processing approach combined with classical data science techniques. The approach here is rather very simple in terms of how much did the data was preprocessed. \n",
"\n",
"## Video dataset overview\n",
"\n",
@@ -29,24 +27,21 @@
" [Watch video]\n",
"
\n",
"\n",
- "## Details about the input data\n",
+ "## Details about input data\n",
"\n",
"I will be using an LSTM on the data to learn (as a cellphone attached on the waist) to recognise the type of activity that the user is doing. The dataset's description goes like this:\n",
"\n",
"> The sensor signals (accelerometer and gyroscope) were pre-processed by applying noise filters and then sampled in fixed-width sliding windows of 2.56 sec and 50% overlap (128 readings/window). The sensor acceleration signal, which has gravitational and body motion components, was separated using a Butterworth low-pass filter into body acceleration and gravity. The gravitational force is assumed to have only low frequency components, therefore a filter with 0.3 Hz cutoff frequency was used. \n",
"\n",
- "That said, I will use the almost raw data: only the gravity effect has been filtered out of the accelerometer as a preprocessing step for another 3D feature as an input to help learning. If you'd ever want to extract the gravity by yourself, you could fork my code on using a [Butterworth Low-Pass Filter (LPF) in Python](https://github.com/guillaume-chevalier/filtering-stft-and-laplace-transform) and edit it to have the right cutoff frequency of 0.3 Hz which is a good frequency for activity recognition from body sensors.\n",
+ "That said, I will use the almost raw data: only the gravity effect has been filtered out of the accelerometer as a preprocessing step for another 3D feature as an input to help learning. \n",
"\n",
"## What is an RNN?\n",
"\n",
- "As explained in [this article](http://karpathy.github.io/2015/05/21/rnn-effectiveness/), an RNN takes many input vectors to process them and output other vectors. It can be roughly pictured like in the image below, imagining each rectangle has a vectorial depth and other special hidden quirks in the image below. **In our case, the \"many to one\" architecture is used**: we accept time series of [feature vectors](https://www.quora.com/What-do-samples-features-time-steps-mean-in-LSTM/answer/Guillaume-Chevalier-2) (one vector per [time step](https://www.quora.com/What-do-samples-features-time-steps-mean-in-LSTM/answer/Guillaume-Chevalier-2)) to convert them to a probability vector at the output for classification. Note that a \"one to one\" architecture would be a standard feedforward neural network. \n",
- "\n",
- "> \n",
- "> http://karpathy.github.io/2015/05/21/rnn-effectiveness/\n",
+ "As explained in [this article](http://karpathy.github.io/2015/05/21/rnn-effectiveness/), an RNN takes many input vectors to process them and output other vectors. It can be roughly pictured like in the image below, imagining each rectangle has a vectorial depth and other special hidden quirks in the image below. **In our case, the \"many to one\" architecture is used**: we accept time series of feature vectors (one vector per time step) to convert them to a probability vector at the output for classification. Note that a \"one to one\" architecture would be a standard feedforward neural network. \n",
"\n",
- "## What is an LSTM?\n",
+ "\n",
"\n",
- "An LSTM is an improved RNN. It is more complex, but easier to train, avoiding what is called the vanishing gradient problem. I recommend [this article](http://colah.github.io/posts/2015-08-Understanding-LSTMs/) for you to learn more on LSTMs.\n",
+ "An LSTM is an improved RNN. It is more complex, but easier to train, avoiding what is called the vanishing gradient problem. \n",
"\n",
"\n",
"## Results \n",
@@ -56,7 +51,7 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": null,
"metadata": {
"collapsed": true
},
@@ -75,8 +70,10 @@
},
{
"cell_type": "code",
- "execution_count": 3,
- "metadata": {},
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
"outputs": [],
"source": [
"# Useful Constants\n",
@@ -114,45 +111,9 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "/home/ubuntu/pynb/LSTM-Human-Activity-Recognition\n",
- "data\t LSTM_files LSTM_OLD.ipynb README.md\n",
- "LICENSE LSTM.ipynb lstm.py\t screenlog.0\n",
- "/home/ubuntu/pynb/LSTM-Human-Activity-Recognition/data\n",
- "download_dataset.py source.txt\n",
- "\n",
- "Downloading...\n",
- "--2017-05-24 01:49:53-- https://archive.ics.uci.edu/ml/machine-learning-databases/00240/UCI%20HAR%20Dataset.zip\n",
- "Resolving archive.ics.uci.edu (archive.ics.uci.edu)... 128.195.10.249\n",
- "Connecting to archive.ics.uci.edu (archive.ics.uci.edu)|128.195.10.249|:443... connected.\n",
- "HTTP request sent, awaiting response... 200 OK\n",
- "Length: 60999314 (58M) [application/zip]\n",
- "Saving to: ‘UCI HAR Dataset.zip’\n",
- "\n",
- "100%[======================================>] 60,999,314 1.69MB/s in 38s \n",
- "\n",
- "2017-05-24 01:50:31 (1.55 MB/s) - ‘UCI HAR Dataset.zip’ saved [60999314/60999314]\n",
- "\n",
- "Downloading done.\n",
- "\n",
- "Extracting...\n",
- "Extracting successfully done to /home/ubuntu/pynb/LSTM-Human-Activity-Recognition/data/UCI HAR Dataset.\n",
- "/home/ubuntu/pynb/LSTM-Human-Activity-Recognition/data\n",
- "download_dataset.py __MACOSX source.txt UCI HAR Dataset UCI HAR Dataset.zip\n",
- "/home/ubuntu/pynb/LSTM-Human-Activity-Recognition\n",
- "data\t LSTM_files LSTM_OLD.ipynb README.md\n",
- "LICENSE LSTM.ipynb lstm.py\t screenlog.0\n",
- "\n",
- "Dataset is now located at: data/UCI HAR Dataset/\n"
- ]
- }
- ],
+ "outputs": [],
"source": [
"# Note: Linux bash commands start with a \"!\" inside those \"ipython notebook\" cells\n",
"\n",
@@ -181,8 +142,10 @@
},
{
"cell_type": "code",
- "execution_count": 6,
- "metadata": {},
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
"outputs": [],
"source": [
"TRAIN = \"train/\"\n",
@@ -248,25 +211,14 @@
"\n",
"Here are some core parameter definitions for the training. \n",
"\n",
- "For example, the whole neural network's structure could be summarised by enumerating those parameters and the fact that two LSTM are used one on top of another (stacked) output-to-input as hidden layers through time steps. "
+ "The whole neural network's structure could be summarised by enumerating those parameters and the fact an LSTM is used. "
]
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Some useful info to get an insight on dataset's shape and normalisation:\n",
- "(X shape, y shape, every X's mean, every X's standard deviation)\n",
- "(2947, 128, 9) (2947, 1) 0.0991399 0.395671\n",
- "The dataset is therefore properly normalised, as expected, but not yet one-hot encoded.\n"
- ]
- }
- ],
+ "outputs": [],
"source": [
"# Input Data \n",
"\n",
@@ -308,7 +260,7 @@
},
{
"cell_type": "code",
- "execution_count": 16,
+ "execution_count": null,
"metadata": {
"collapsed": true
},
@@ -328,7 +280,7 @@
" _X = tf.reshape(_X, [-1, n_input]) \n",
" # new shape: (n_steps*batch_size, n_input)\n",
" \n",
- " # ReLU activation, thanks to Yu Zhao for adding this improvement here:\n",
+ " # Linear activation\n",
" _X = tf.nn.relu(tf.matmul(_X, _weights['hidden']) + _biases['hidden'])\n",
" # Split data because rnn cell needs a list of inputs for the RNN inner loop\n",
" _X = tf.split(_X, n_steps, 0) \n",
@@ -341,7 +293,7 @@
" # Get LSTM cell output\n",
" outputs, states = tf.contrib.rnn.static_rnn(lstm_cells, _X, dtype=tf.float32)\n",
"\n",
- " # Get last time step's output feature for a \"many-to-one\" style classifier, \n",
+ " # Get last time step's output feature for a \"many to one\" style classifier, \n",
" # as in the image describing RNNs at the top of this page\n",
" lstm_last_output = outputs[-1]\n",
" \n",
@@ -364,14 +316,13 @@
" return batch_s\n",
"\n",
"\n",
- "def one_hot(y_, n_classes=n_classes):\n",
- " # Function to encode neural one-hot output labels from number indexes \n",
- " # e.g.: \n",
- " # one_hot(y_=[[5], [0], [3]], n_classes=6):\n",
- " # return [[0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0]]\n",
+ "def one_hot(y_):\n",
+ " # Function to encode output labels from number indexes \n",
+ " # e.g.: [[5], [0], [3]] --> [[0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0]]\n",
" \n",
" y_ = y_.reshape(len(y_))\n",
- " return np.eye(n_classes)[np.array(y_, dtype=np.int32)] # Returns FLOATS\n"
+ " n_values = int(np.max(y_)) + 1\n",
+ " return np.eye(n_values)[np.array(y_, dtype=np.int32)] # Returns FLOATS\n"
]
},
{
@@ -383,7 +334,7 @@
},
{
"cell_type": "code",
- "execution_count": 17,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -424,171 +375,36 @@
},
{
"cell_type": "code",
- "execution_count": 19,
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "if not os.path.exists('checkpoints/'): # making the directory to save the best model weights if not made\n",
+ " os.makedirs('checkpoints/')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "prev_loss = 100000 # prev_loss is the loss for the previous step, initialized with a big number\n",
+ " # so as to make the condition true for the first step, considering test loss for\n",
+ " # first step will not get greater than 100000."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
"metadata": {
- "scrolled": true
+ "scrolled": false
},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "WARNING:tensorflow:From :9: initialize_all_variables (from tensorflow.python.ops.variables) is deprecated and will be removed after 2017-03-02.\n",
- "Instructions for updating:\n",
- "Use `tf.global_variables_initializer` instead.\n",
- "Training iter #1500: Batch Loss = 5.416760, Accuracy = 0.15266665816307068\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 4.880829811096191, Accuracy = 0.05632847175002098\n",
- "Training iter #30000: Batch Loss = 3.031930, Accuracy = 0.607333242893219\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 3.0515167713165283, Accuracy = 0.6067186594009399\n",
- "Training iter #60000: Batch Loss = 2.672764, Accuracy = 0.7386666536331177\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 2.780435085296631, Accuracy = 0.7027485370635986\n",
- "Training iter #90000: Batch Loss = 2.378301, Accuracy = 0.8366667032241821\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 2.6019773483276367, Accuracy = 0.7617915868759155\n",
- "Training iter #120000: Batch Loss = 2.127290, Accuracy = 0.9066667556762695\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 2.3625404834747314, Accuracy = 0.8116728663444519\n",
- "Training iter #150000: Batch Loss = 1.929805, Accuracy = 0.9380000233650208\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 2.306251049041748, Accuracy = 0.8276212215423584\n",
- "Training iter #180000: Batch Loss = 1.971904, Accuracy = 0.9153333902359009\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 2.0835530757904053, Accuracy = 0.8771631121635437\n",
- "Training iter #210000: Batch Loss = 1.860249, Accuracy = 0.8613333702087402\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.9994492530822754, Accuracy = 0.8788597583770752\n",
- "Training iter #240000: Batch Loss = 1.626292, Accuracy = 0.9380000233650208\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.879166603088379, Accuracy = 0.8944689035415649\n",
- "Training iter #270000: Batch Loss = 1.582758, Accuracy = 0.9386667013168335\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 2.0341007709503174, Accuracy = 0.8361043930053711\n",
- "Training iter #300000: Batch Loss = 1.620352, Accuracy = 0.9306666851043701\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.8185184001922607, Accuracy = 0.8639293313026428\n",
- "Training iter #330000: Batch Loss = 1.474394, Accuracy = 0.9693333506584167\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.7638503313064575, Accuracy = 0.8747878670692444\n",
- "Training iter #360000: Batch Loss = 1.406998, Accuracy = 0.9420000314712524\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.5946787595748901, Accuracy = 0.902273416519165\n",
- "Training iter #390000: Batch Loss = 1.362515, Accuracy = 0.940000057220459\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.5285792350769043, Accuracy = 0.9046487212181091\n",
- "Training iter #420000: Batch Loss = 1.252860, Accuracy = 0.9566667079925537\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.4635565280914307, Accuracy = 0.9107565879821777\n",
- "Training iter #450000: Batch Loss = 1.190078, Accuracy = 0.9553333520889282\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.442753553390503, Accuracy = 0.9093992710113525\n",
- "Training iter #480000: Batch Loss = 1.159610, Accuracy = 0.9446667432785034\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.4130011796951294, Accuracy = 0.8971834778785706\n",
- "Training iter #510000: Batch Loss = 1.100551, Accuracy = 0.9593333601951599\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.3075592517852783, Accuracy = 0.9117745757102966\n",
- "Training iter #540000: Batch Loss = 1.123470, Accuracy = 0.9240000247955322\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.2605488300323486, Accuracy = 0.9165251851081848\n",
- "Training iter #570000: Batch Loss = 1.103454, Accuracy = 0.909333348274231\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.2327136993408203, Accuracy = 0.9009160399436951\n",
- "Training iter #600000: Batch Loss = 1.083368, Accuracy = 0.8966666460037231\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.2683708667755127, Accuracy = 0.8890395164489746\n",
- "Training iter #630000: Batch Loss = 0.939185, Accuracy = 0.9700000882148743\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.2147629261016846, Accuracy = 0.8866642713546753\n",
- "Training iter #660000: Batch Loss = 0.881242, Accuracy = 0.9806667566299438\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.1068334579467773, Accuracy = 0.9151678681373596\n",
- "Training iter #690000: Batch Loss = 0.831674, Accuracy = 0.9853334426879883\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.0885852575302124, Accuracy = 0.9121139645576477\n",
- "Training iter #720000: Batch Loss = 0.866615, Accuracy = 0.9573334455490112\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.0513516664505005, Accuracy = 0.9158465266227722\n",
- "Training iter #750000: Batch Loss = 0.858979, Accuracy = 0.940000057220459\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.0598633289337158, Accuracy = 0.9063453674316406\n",
- "Training iter #780000: Batch Loss = 0.750040, Accuracy = 0.9593334197998047\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.010966420173645, Accuracy = 0.9155071973800659\n",
- "Training iter #810000: Batch Loss = 0.732136, Accuracy = 0.9620000123977661\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.9865696430206299, Accuracy = 0.9161858558654785\n",
- "Training iter #840000: Batch Loss = 0.758945, Accuracy = 0.9406667351722717\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 1.0347753763198853, Accuracy = 0.8958262205123901\n",
- "Training iter #870000: Batch Loss = 0.710809, Accuracy = 0.9660000205039978\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.9786491990089417, Accuracy = 0.893111526966095\n",
- "Training iter #900000: Batch Loss = 0.705978, Accuracy = 0.9553333520889282\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.9204542636871338, Accuracy = 0.9002374410629272\n",
- "Training iter #930000: Batch Loss = 0.759181, Accuracy = 0.9066667556762695\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.9086415767669678, Accuracy = 0.9036307334899902\n",
- "Training iter #960000: Batch Loss = 0.705333, Accuracy = 0.9286667108535767\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.850454568862915, Accuracy = 0.9080419540405273\n",
- "Training iter #990000: Batch Loss = 0.599754, Accuracy = 0.9693333506584167\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.8451057076454163, Accuracy = 0.9114353656768799\n",
- "Training iter #1020000: Batch Loss = 0.585689, Accuracy = 0.9700000286102295\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.8170899152755737, Accuracy = 0.9110959768295288\n",
- "Training iter #1050000: Batch Loss = 0.553970, Accuracy = 0.984000027179718\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.8555561304092407, Accuracy = 0.9114352464675903\n",
- "Training iter #1080000: Batch Loss = 0.601349, Accuracy = 0.9693334102630615\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.8512595891952515, Accuracy = 0.8781810998916626\n",
- "Training iter #1110000: Batch Loss = 0.601967, Accuracy = 0.937999963760376\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.7551606297492981, Accuracy = 0.9087206721305847\n",
- "Training iter #1140000: Batch Loss = 0.597223, Accuracy = 0.9353333711624146\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.7431289553642273, Accuracy = 0.909060001373291\n",
- "Training iter #1170000: Batch Loss = 0.523300, Accuracy = 0.9500000476837158\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.745741605758667, Accuracy = 0.9093992710113525\n",
- "Training iter #1200000: Batch Loss = 0.500816, Accuracy = 0.9600000381469727\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.6978224515914917, Accuracy = 0.9138105511665344\n",
- "Training iter #1230000: Batch Loss = 0.495834, Accuracy = 0.9546667337417603\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.6866210699081421, Accuracy = 0.9178825616836548\n",
- "Training iter #1260000: Batch Loss = 0.480467, Accuracy = 0.9813334345817566\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.6883729100227356, Accuracy = 0.9100779294967651\n",
- "Training iter #1290000: Batch Loss = 0.516874, Accuracy = 0.9326666593551636\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.6925369501113892, Accuracy = 0.9032914042472839\n",
- "Training iter #1320000: Batch Loss = 0.570053, Accuracy = 0.9080000519752502\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.743996798992157, Accuracy = 0.8978621363639832\n",
- "Training iter #1350000: Batch Loss = 0.491792, Accuracy = 0.9580000638961792\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.6543726921081543, Accuracy = 0.8951475024223328\n",
- "Training iter #1380000: Batch Loss = 0.423705, Accuracy = 0.9760000705718994\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.6256207227706909, Accuracy = 0.91788250207901\n",
- "Training iter #1410000: Batch Loss = 0.399226, Accuracy = 0.9840000867843628\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.6232836246490479, Accuracy = 0.9205971360206604\n",
- "Training iter #1440000: Batch Loss = 0.415493, Accuracy = 0.972000002861023\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.6083709001541138, Accuracy = 0.9104173183441162\n",
- "Training iter #1470000: Batch Loss = 0.499316, Accuracy = 0.9306666851043701\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5882848501205444, Accuracy = 0.9117745757102966\n",
- "Training iter #1500000: Batch Loss = 0.478666, Accuracy = 0.9346666932106018\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5803182125091553, Accuracy = 0.91652512550354\n",
- "Training iter #1530000: Batch Loss = 0.366041, Accuracy = 0.968666672706604\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5783829689025879, Accuracy = 0.9114352464675903\n",
- "Training iter #1560000: Batch Loss = 0.377644, Accuracy = 0.9506667256355286\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5899279117584229, Accuracy = 0.9070240259170532\n",
- "Training iter #1590000: Batch Loss = 0.485060, Accuracy = 0.9133333563804626\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.7430599927902222, Accuracy = 0.8649473190307617\n",
- "Training iter #1620000: Batch Loss = 0.386228, Accuracy = 0.9633333683013916\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5264637470245361, Accuracy = 0.9070240259170532\n",
- "Training iter #1650000: Batch Loss = 0.416933, Accuracy = 0.9193333983421326\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5343363881111145, Accuracy = 0.914489209651947\n",
- "Training iter #1680000: Batch Loss = 0.421477, Accuracy = 0.9300000667572021\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5374469757080078, Accuracy = 0.9243297576904297\n",
- "Training iter #1710000: Batch Loss = 0.403527, Accuracy = 0.9300000071525574\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5439008474349976, Accuracy = 0.905666708946228\n",
- "Training iter #1740000: Batch Loss = 0.331851, Accuracy = 0.9753334522247314\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5405154228210449, Accuracy = 0.9093992710113525\n",
- "Training iter #1770000: Batch Loss = 0.337737, Accuracy = 0.9780000448226929\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5582258701324463, Accuracy = 0.9026126861572266\n",
- "Training iter #1800000: Batch Loss = 0.332086, Accuracy = 0.9600000381469727\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5655900835990906, Accuracy = 0.8995587825775146\n",
- "Training iter #1830000: Batch Loss = 0.400998, Accuracy = 0.9480000734329224\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.47865116596221924, Accuracy = 0.9144891500473022\n",
- "Training iter #1860000: Batch Loss = 0.364531, Accuracy = 0.9493333697319031\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.49166250228881836, Accuracy = 0.9158465266227722\n",
- "Training iter #1890000: Batch Loss = 0.316529, Accuracy = 0.9593334197998047\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5186017751693726, Accuracy = 0.9104173183441162\n",
- "Training iter #1920000: Batch Loss = 0.309109, Accuracy = 0.9626667499542236\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5222393274307251, Accuracy = 0.9002374410629272\n",
- "Training iter #1950000: Batch Loss = 0.427720, Accuracy = 0.9193333387374878\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5457150340080261, Accuracy = 0.9070240259170532\n",
- "Training iter #1980000: Batch Loss = 0.330174, Accuracy = 0.9526667594909668\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.5917137861251831, Accuracy = 0.8812350034713745\n",
- "Training iter #2010000: Batch Loss = 0.371541, Accuracy = 0.906000018119812\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.53951495885849, Accuracy = 0.8802171349525452\n",
- "Training iter #2040000: Batch Loss = 0.382413, Accuracy = 0.9206666946411133\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.42567864060401917, Accuracy = 0.9324736595153809\n",
- "Training iter #2070000: Batch Loss = 0.342763, Accuracy = 0.9326667189598083\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.4292983412742615, Accuracy = 0.9273836612701416\n",
- "Training iter #2100000: Batch Loss = 0.259442, Accuracy = 0.9873334169387817\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.44131210446357727, Accuracy = 0.9273836612701416\n",
- "Training iter #2130000: Batch Loss = 0.284630, Accuracy = 0.9593333601951599\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.46982717514038086, Accuracy = 0.9093992710113525\n",
- "Training iter #2160000: Batch Loss = 0.299012, Accuracy = 0.9686667323112488\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.48389002680778503, Accuracy = 0.9138105511665344\n",
- "Training iter #2190000: Batch Loss = 0.287106, Accuracy = 0.9700000286102295\n",
- "PERFORMANCE ON TEST SET: Batch Loss = 0.4670214056968689, Accuracy = 0.9216151237487793\n",
- "Optimization Finished!\n",
- "FINAL RESULT: Batch Loss = 0.45611169934272766, Accuracy = 0.9165252447128296\n"
- ]
- }
- ],
+ "outputs": [],
"source": [
"# To keep track of training's performance\n",
"test_losses = []\n",
@@ -597,13 +413,16 @@
"train_accuracies = []\n",
"\n",
"# Launch the graph\n",
+ "saver = tf.train.Saver()\n",
"sess = tf.InteractiveSession(config=tf.ConfigProto(log_device_placement=True))\n",
"init = tf.global_variables_initializer()\n",
"sess.run(init)\n",
"\n",
+ "\n",
"# Perform Training steps with \"batch_size\" amount of example data at each loop\n",
"step = 1\n",
"while step * batch_size <= training_iters:\n",
+ " \n",
" batch_xs = extract_batch_size(X_train, step, batch_size)\n",
" batch_ys = one_hot(extract_batch_size(y_train, step, batch_size))\n",
"\n",
@@ -634,16 +453,38 @@
" y: one_hot(y_test)\n",
" }\n",
" )\n",
+ " \n",
+ " \n",
" test_losses.append(loss)\n",
" test_accuracies.append(acc)\n",
" print(\"PERFORMANCE ON TEST SET: \" + \\\n",
" \"Batch Loss = {}\".format(loss) + \\\n",
" \", Accuracy = {}\".format(acc))\n",
+ " \n",
+ " # Saving the model weights only when the validation loss of a step is least out of the all the steps done before.\n",
+ " # The least validation loss till now is stored in prev_loss\n",
+ " # 'loss' is the test loss of the step being done right now.\n",
+ " \n",
+ " if prev_loss > loss:\n",
+ " prev_loss = loss\n",
+ " saver.save(sess, './checkpoints/my_model')\n",
+ " print(\"Model is saved\")\n",
"\n",
" step += 1\n",
"\n",
"print(\"Optimization Finished!\")\n",
"\n",
+ "# Restoring the best saved model by passing the directory name to search for.\n",
+ "\n",
+ "new_saver = tf.train.import_meta_graph('checkpoints/my_model.meta')\n",
+ "new_saver.restore(sess, tf.train.latest_checkpoint('./checkpoints/'))\n",
+ "all_vars = tf.get_collection('vars')\n",
+ "for v in all_vars:\n",
+ " v_ = sess.run(v)\n",
+ " print(v_)\n",
+ "\n",
+ "print(\"Model weights are loaded!\")\n",
+ " \n",
"# Accuracy for test data\n",
"\n",
"one_hot_predictions, accuracy, final_loss = sess.run(\n",
@@ -673,20 +514,11 @@
},
{
"cell_type": "code",
- "execution_count": 20,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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\nvkUxXS3dfoQQQghRDCZNmsSwYcOsvvhBQUE0b94cb29vVqxYwZkzZ8jOzmbw4MFUr17duko9ffp0\nEhISrK47lSpVomHDhqSlpbF//352795NVtaFsTzq1atH9+7dWbVqFUlJSYDR7adTp074+/sDWH8L\nQilFREQEkZGRhIaG4uPjQ3JyMhs2bCArKwutNV988QVdu3bl3nvvtfKNHDmSsWPHWvV29F2vU6cO\nGRkZrFmzJte6unXrxpIlS1BKobVGKUWdOnWIiooiJSWF9evXF7LVC2fatGl4e3tTt25dKlWqxNat\nW23LAwMDqV27NqGhoYSEhHDmzBk2bdrEkSNHANizZw+DBw/m+++/t/Js376drl27kpaWZrVFcHAw\nDRo0IDQ0lK1bt9q6jjlztIGz9PR02rdvz99//20tq127NjVq1CAxMZFt27YBsGnTJrp168bKlSut\nvKNHj7by+Pj4WL8kHT58mL179+a6p0VcouI++7iUCbkKJIQQJYZ85hdcQa/8Z2Vl6Ztuusm6wlq7\ndm195MgRa/nhw4d1hQoVrKuwDRo0sJYNHz7cdlU2MzPTVvaZM2f07NmzrSvUDj179rTVLTk5udDb\nd+7cOb1z5063yzZs2GC7etynTx9rWWpqqg4MDLRd2Xa94puenq6nTp1qvZ4zZ47tF4tSpUrp33//\n3ZYnJSVF//TTT9brorzyr5TSQUFBevHixbY058+f11prvWPHjlxtr7XWmZmZunHjxlZbBwYG6oyM\nDGv5/fffb6vD3XffrVNTU21lLF++XCckJFivHVf+Hfmcr/yPHTvWVt6nn35qK2vUqFG2vP/973+1\n1lrn5OTY8n300Ue5tmXbtm16woQJueYXBeTKvxBCCHF9UqOK7+ZSPUIX27rzsmrVKlJSUqyr/kop\n4uLi3KbVWrNlyxYOHDhAxYoVqVKlirXs2LFjDBkyhJYtW1KzZk2io6MJDg6ma9eul6XegYGBKKX4\n5z//ybJly0hMTLR+oQBsV+gTEi7cNrhgwQLS09OtbW3Xrh2DBg2yle3v788jjzxivf7xxx+t7VdK\n8dprr3HHHXfY8pQtW5bOnTtflm1VSvH0009z11132eZ7e3sDEBkZyeeff85PP/3E9u3bOX78uK1f\nvaMtMjIySExMpFatWmRlZTF//nxrmY+PD5MnTyY8PNy2jhYtWhS4no57LBzt9Ouvv7JkyRJr+YkT\nJ6z6AMybN4/77rsPpRQVK1bkwIEDKKX4+uuvCQgIoFatWkRHR1OpUiViY2NzjVYlLp4E/0IIIUqE\nqzUAL06JiReenam1JiEhwRYsu7Nnzx4qVqxIz549+fDDD9m5cydaa8aNG2fdKOvl5UXDhg3p1asX\nzz33HH5+fkVa7/nz59OtW7dcQa5rVxStNadOnbJeO7bXEaDefrvrI4Vyc24jgJYtW15K1QvFUc9W\nrVq5XX769On/Z+/Ow+ye7/6PP99JJplkkiARBCkRVELt+1JRoqiitlpba7U/FK1W676VqrutWkpL\nq6jirqXRIqiltST2JVFua2pJrCERpMnIns/vj+/smeV8Z86Z9fm4rnOd893fM3K5Xuczn4Xtt9++\npksNND+VavXv4sMPP6zX3WfkyJEMHz68TbVOmzat5n4pJW6//fZGz8sa0anXpejss8/mhBNOAODF\nF1/kxBNPrDk2dOhQdt99d77//e+z+eabt6lGZQz/kiT1UNVBrFpLU29GBJWVlUDWP/yZZ57hd7/7\nHRMmTOD555/ns88+q7nvs88+y7PPPssLL7zAn/70p6LWfeKJJ7Jo0aKaeocPH86mm27KgAEDWLZs\nGbfeemtNq3bdn7Hhz1uI1lzT0JIlS+pt5+3D3lQw//Wvf81LL71U83vo27cv2267LSuvvDIRwZNP\nPsm7775bc371z1KMn6mhuvcsZArX6n8rAMcddxyjR4/mqquuYtKkSfVWrP7444+56aabmDBhAs88\n8wyjR48ubuE9UGeY6lOSJHWAtddeu+ZzRHDyySezdOnSJl9Llixh9913r7mmoqKCH/zgBzz66KPM\nnTuXGTNmcP/997PddtvVnHP99dczd+7ces9pixkzZtRrjd9mm214++23ueuuuxg/fjwXXXRRk9eO\nHDmyXg2PPPJIi8+rvqZaIdc0/EvH7Nmzc9+jrl69Go9rjz32GFAbvKdMmcJDDz3ELbfcwvjx4xk1\nalSj16222mqUl5fXbE+bNq3elJ6tsfbaa9d82erVqxczZ85s9t9Sde3VdthhB6699lqmTZtGZWUl\nL730Er/+9a+B7L/X/Pnzufrqq9tUozKGf0mSeqhtt92WoUOHAlmAvOaaa+r10672wQcfcPnll3P6\n6afX7JsyZQrXXHNNvWC7yiqrsMsuu9QL/1C/i0f//v3rHXvvvfdy1dywFb1fv3414XjRokWcccYZ\nTV775S9/uWZGoZQS9913HxdffHG9VutFixZx44031mzvs88+QG3f+Z///Oc89NBD9e47e/Zs7rzz\nzprtVVddtaamlBKTJk3ijTfeAOC1116rmV2prS3wDX8XdX+3t956K4888kijX7bKysrYY489aroV\nLV26lG984xvMmjWr3nlPPfUUr7zySkG17L333kD2e1q2bBknnnhivdZ9gGXLljFp0iSOPfZYnn/+\n+Zr9l156KU888UTN76O8vJwNNtiAI444ot4XqaZmH1I+dvuRJKmbaqmVvaysjJ/97Gc1i1DNmzeP\nXXbZhY022oi1116bRYsW8cYbb/Dmm2+SUqo3Zebrr7/OcccdxwknnMD666/PWmutRb9+/XjnnXd4\n9tlna8Jt37596/2FYf31169X21577cU222xDWVkZO++8MyeddFKzNY8YMYLhw4czY8YMACZNmsTo\n0aMZNWoUzz33HB988EGTP/ewYcP4wQ9+wHnnnQdkwfz000/n0ksvZcMNN2Tx4sVMmTKF8vJyDjvs\nMCAL/zvttFNNa/1//vMfdt1115rf0ezZs5kyZQr7779/zaDfAQMGsNVWW/HUU08REXzyySeMHj2a\n1VdfvWaa00L++7Rk66235qGHHqq5z+abb84OO+zAzJkzmTx5cpN/MYBses377ruP+fPnA9kiW6NG\njWKTTTZhpZVWYurUqbz22mvce++9y3W1aazub3/721x22WU1f5UZP3489913H5ttthmDBw9m1qxZ\nvPDCC8ybN4+IqOnjD3DFFVdw2mmnMWTIEMaMGcPQoUNZsGABTz/9dM24joio+bejNuro6Yba8sJp\n3ySpx/D/+YXLu8jXueeem/r06dPoAlF1F1zaZ599aq65+eabGz2/4TUXXHBBvWdNmzYtDRgwoNHr\njjzyyIJ+vhtuuKHJWn/5y1/W2zd69Ojlrj/llFOaXBCrV69eyy3yNXv27LTLLrs0e03dRb5SSumf\n//xnKisra/Tck046qd6+pqb6rD6/4XSp1WbOnJnWXHPNRp+x3Xbbpf3226/Z+/zjH/9Iw4YNa/a/\nY2OLfDU21WdKtYt8tfTvonfv3mny5Mk1122wwQYtXjNq1Kg0c+bMZv5VtA49cKpPu/1IktQNNTfr\nS0NnnXUWzz33HCeeeCIbbbQRgwcPpk+fPqy44opsvPHGHH300dx8882MHz++5povfelLXH755Rx6\n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\nbwFNGxMAAAAASUVORK5CYII=\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
"source": [
"# (Inline plots: )\n",
"%matplotlib inline\n",
@@ -730,50 +562,11 @@
},
{
"cell_type": "code",
- "execution_count": 21,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Testing Accuracy: 91.65252447128296%\n",
- "\n",
- "Precision: 91.76286479743305%\n",
- "Recall: 91.65252799457076%\n",
- "f1_score: 91.6437546304815%\n",
- "\n",
- "Confusion Matrix:\n",
- "[[466 2 26 0 2 0]\n",
- " [ 5 441 25 0 0 0]\n",
- " [ 1 0 419 0 0 0]\n",
- " [ 1 1 0 396 87 6]\n",
- " [ 2 1 0 87 442 0]\n",
- " [ 0 0 0 0 0 537]]\n",
- "\n",
- "Confusion matrix (normalised to % of total test data):\n",
- "[[ 15.81269073 0.06786563 0.88225317 0. 0.06786563 0. ]\n",
- " [ 0.16966406 14.96437073 0.84832031 0. 0. 0. ]\n",
- " [ 0.03393281 0. 14.21784878 0. 0. 0. ]\n",
- " [ 0.03393281 0.03393281 0. 13.43739319 2.95215464\n",
- " 0.20359688]\n",
- " [ 0.06786563 0.03393281 0. 2.95215464 14.99830341 0. ]\n",
- " [ 0. 0. 0. 0. 0. 18.22192001]]\n",
- "Note: training and testing data is not equally distributed amongst classes, \n",
- "so it is normal that more than a 6th of the data is correctly classifier in the last category.\n"
- ]
- },
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0UAAANGCAYAAAAyEyUbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XecXFX9//HXOyH0gIL0liAgTUHpYEhAoyKiVAENJPK1\n0UXFH4pAQOwNCwgiVZRiAQsoqJAC0i2gtAhBOlJDb9nP749zJnv3ZmZ2ZnezO5v7fj4e85iZe869\n99wzd2fvZ065igjMzMzMzMyqasRQF8DMzMzMzGwoOSgyMzMzM7NKc1BkZmZmZmaV5qDIzMzMzMwq\nzUGRmZmZmZlVmoMiMzMzMzOrNAdFZmZmZmZWaQ6KzMzMzMwqZIwUGvrHvfXKJulwSRdJukdSV+Gx\nf4P8+0v6k6RHJb0i6QVJd0r6kaSxrdaJfPNWMzMzM7PqkDTkEYCAiNB8y6WngGXqrPKRiDi3lPfb\nwBH5bfmQBDwNbBERd/dWHrcUmZmZmZlZp7gFOAM4CHiMFNzMR9ISwCGkYCiAXwHvAj4KvJCXLZvf\n92qR/pbazMzMzMyGmZFD3DYyt6vu4ogYX3st6agmW1gSGFVbDZgaEbfl9XYHds7LF22lOG4pMjMz\nMzOzYSUingD+Tne3uRMkvVPS/wET8vJXgQta2Z5biszMzMzMqmZk3V5pg2fugGxlN+AsYAdg9/yA\nFBDdBBwRETe2siG3FJmZmZmZ2XD0HPAf4GW6xxbVWo42AT4sqaXuc24pMjMzMzOzBWpaVzCta+Dm\nvJM0EpgBbEgKhI4BvgcsD/wM2A74JClg+nSv2/OU3GZmZmZm1SEpYolRvWdckGV48dW6U3L3yCPN\nBtYiBT09puSWtCPw55z2dEQsX0h7P3BJTnskIlbrrTzuPmdmZmZmZsPNCvlZwGKSilHe6wppy7ay\nMXefMzMzMzOrmkWGeKKFBiRNJE23TeEZ4G2S5uTXM4F/FtKWAC6UdBopWPpSIe2Glvbr7nNmZmZm\nZtUhKWJ0S/MPLLgyPPtK3e5zku4F1uxl9QkRMUPSj4CP11Yt5QnSTVx3iIibeiuPu8+ZmZmZmVmn\n6KLnTHLlx7y7vkbEgcAk4ArgUdJ9iV4CZgGnA29tJSACtxSZmZmZmVWKpIjXLT60ZXj6pV4nWhhM\nbikyMzMzM7NK80QLZmZmZmZVM7JjGmk6gluKzMzMzMys0hwUmZmZmZlZpbn7nJmZmZlZ1Yx020iR\na8PMzMzMzCrNLUVmZmZmZlXjlqIeXBtmZmZmZlZpDorMzMzMzKzS3H3OzMzMzKxqfJ+iHtxSZGZm\nZmZmleaWIjMzMzOzqvFECz24NszMzMzMrNIcFJmZmZmZWaW5+5yZmZmZWdV4ooUe3FJkZmZmZmaV\n5pYiMzMzM7OqWcRtI0WuDTMzMzMzqzQHRWZmZmZmVmnuPmdmZmZmVjWeaKEHtxSZmZmZmVmluaXI\nzMzMzKxqRrptpMi1YWZmZmZmleagyMzMzMzMKs3d58zMzMzMqsbd53pwbZiZmZmZWaW5pcjMzMzM\nrGo8JXcPbikyMzMzM7NKc1BkZmZmZmaV5u5zZmZmZmZV44kWenBtmJmZmZlZpbmlyMzMzMysajzR\nQg9uKTIzMzMzs0pzUGRmZkNG0p6SLpQ0W9Lz+XG3pAsk7S5pSP9PSdpR0nRJcyR1SZorac1B2vf4\nvM8rB2N/VSdpaq7vY4e6LGY2+Nx9zszMBp2k1YFfA5sDXcAtwI359drAnsAHgZuALYewjJcASwLT\ngPtz+Z4bxGJEflgTkrqAiIiR/diM69qqxRMt9OCgyMzMBpWk5YFrgNWBPwMHRsTdpTwrA18A9h38\nEs4zEVgaOCciPjIE+78e2AB4YQj2XUU/AM4HHh/qgpjZ4HNQZGZmg+1UYA1S68tOETG3nCEiHgEO\nk3ThIJetaI38PHsodh4RLwF3DcW+qygingSeHOpymA0aT7TQg9vNzMxs0EhaB9id1E3p4HoBUVFE\nXFNnGytI+rakOyW9KOmpPO5nvwb7PDuPFdlf0psk/UrSY5JekHSzpA+W8k/O3bGm5kW1sSZdks4s\n5qm9r7PP4+qNT5E0IpfjakkPSXpJ0sOSrpN0oqRFC3mbjimSNE7SJZIelfSypAck/VTSRg3yd0ma\nm1/vJ+nGPIbrCUm/kLR2vfUaKdaBpOUknSLp/lyv/5S0TyHv2yVdLulJSc9KulTSm+psc5Fctgvy\n5/tsfvxD0jGSlqxXBtL5pMLnNO9Yc75544UkrS3pvFz/r0k6rJynsN76kp7Ln9Nb65T3vXmdhyWt\n2E79mVlncUuRmZkNpvcBAv4REbe3u7Kk9YCrgFVIY3wuAZYBdgDGSXpXRJSDo9pYkc2Ak4H/An8C\nxpLGK50vaUREXJDz/wc4G9g0P/6RHwBXt1HceuNTzgYmAc/nbT0BrAisB3we+D7wv942LOlQ4KT8\n9lrgXmBD4MPAnpL2iojfN1j3y8BngenApcDWwB7ANpLeHBFPtXZ4QDrG1+cyLJGPaWVgHPAzpYky\nXiJ1S7sJuJw0jmwn4G2SNsotNDUrAeeQ6uV24GZgOdLndDywi6RxEfFyzl/7rKbkspxTKlvxdQBv\nyuV4Jh//UnR3T5xvTFFE3CHpEOBM0nnytoh4AUDSKnl/XcD+EdHr52ZmnctBkZmZDaa3kS48b+rj\n+j8jXXSfBXwiIl4DkLQuKVj6kKSrI+K00noCDgE+FxHfnrdQ+jTwLeBE4AKY1zp1jaTjSEHRJRFx\nQh/K2qNvitKsdZNIAczmpWAASVuTLtabb1TaBPgO8CqwW0T8oZB2EPBD4KeS1ouIx+ps4v+ATWtB\naW59+Qsp8DiYVBetEvB+UtAzpfB5fBT4MfB1UrC0Z0T8LqeNIgVH4/P+vlTY3hxS4Hx5sRVR0mjg\n58B7gcOBb0CPz2pKfn9AL2XdBzidxq2U8/UnioizJU0kjW87BZgiSaRzcTngGxHxpyb7NetMnmih\nB9eGmZkNpjfk53oX601JGkdq7XkSOKx2AQ4QEbOAL5Iuaj/TYBPXFQOi7PvAU8BYSWvUWWcg1bpX\n/aMcEAFExHV5HFFvDif9/z67GBDlbZxCagFZBvhYg/WPKbbS5ZaPb5HqbocW9l/2DHBo8fMgtaw8\nDqwKXFoLiPL+XiW1cgmYUCr/cxFxWTlgiYhngSPyOnv0oYw1TwCf7q3bZh2fAO4G9pM0CTiGVPbr\nSeedmQ1zbikyM7PhYvv8fHFEPF8n/afAacAbJa0SEQ8X0gL4Y3mFiHhN0mzgraQL+PsHuMxFd5Cm\n895Z0ueAn0fEA33Yzrj8fG6D9LNIrTDjga/USZ+vHoA78/OqfSjPzeUudxHRJem/wPKkropltdkG\n6+5P0uakAG0t0pToorsVZ70+lLHmT7Xub+2IiOck7Q38FfgRsDipVWvfPgRYZp3BEy304KDIzMwG\nU2264xX6sO5qpOCm7mxwETFX0n2k+xytBjxcytIo4Hk2Py/WhzK1LF9YTwZ+AnwV+Jqk+0njcH4D\n/KrFC+zV8nOjWfHuLuUrl6NePfSnDhoFds81Sa+l9difpKWAC0nd5BrdM2iZdgtYcF9fV4yIv0n6\nKnAc3ROF/LcfZTGzDuLuc2ZmNpj+RvrFf/M+rNvKz5rN8nT1YZ99Vff/a0RcTJrgYRJpgoBXSONc\nLgD+lsfO9Ndg//zbW722U+9fJwVEtwI7k8aPLZpvyrp434rXw4t9XVHSYsBudAdrQ3JTYTNbMBwU\nmZnZYLqUdFG5iaQN2lz3AdIFf92poyWNpPveQg/2uYSteSU/L90gfQ0atHRExDMRcX5EHBAR6wIb\nkSae2Bg4qoV9146t0RTaY0v5hpM9SPW2T0T8MSIeK7SerTOE5QL4LvAW4ApSK+Shkt43tEUy64eR\nI4b20WE6r0RmZrbQyhMiXEwKbk7OgUxDkrYrvJ2Rn3fL3azKJgGjgP+UxhMtCA/l53r32hlFaQKB\nZiLiDronHnhLC6vMyHn3b5B+ACmwmNZqGTrIcvm5Xpe7DzVZ71VI94Ea8BKl7e4GfJLUBfNDwH6k\nOj4zT81tZsOcgyIzMxtsB5IuescDf1S6oWsPklaUdBJprA0AETGTdN+a1wM/kLRIIf+6wJdJF6rl\nGeb6o9G4lhtJ9xraWNLuhXKMAr4HjCmvIGlTSXvlblhl783PrYxR+T4wF5gsaafSPg4k1esc4IwW\nttVp7sjPBxUXSnon8Okm69VaxZq1Pjb6LJvmkbQ6qS7nApMi4qmIuIrU1e8NpKm5zYYftxT14IkW\nzMxsUEXEY5K2BX4N7AjcKemfpBtxdpG6f21Gag25rrT6h4ArgcnAOyT9lTTwfkdgUdKMbj8ewOLW\nHZ8TES/kQfdfAi6SNJM0tffmpP+tZ5JabIrWIk0i8Lykm0kX8ovnddYgdcn6Zm8Fioh/SjqC1Lp0\naa6De0k3b92UdLPU4Xoz0dr9or4q6YOkIGkM6QazXyPd4Laei4FPAVdKupI8kUNEFKclb3tMWm55\nOh9YFvhSDsxrjiXNkDde0jERUbzfkpkNM50XppmZ2UIvIh6IiC2BvYFfkrpN7QzsQprG+UJg14jY\nrrTeLNL02d8lXfzvCmxHul/M5IjYr69FarK80digr5BuCHsH6aJ9W1LAtjmpm1V53etIF/UzgTVz\n2ceT7p1zPLBJndnM6u4/In5I6qL3G2BdYE/SfZDOA7aIiN+3eZxNj7Uf67S1v4j4BTCR1EVwDOlG\nriIFeUc32ebRpBvaPkuaDOEA4CNtlrXeto8jfa7XkD6jYlnnkm7oOgc4ptTV08yGGUW0+/1nZmZm\nZmbDlaSIXeYbEjm4ZfjdnUREx9wsyS1FZmZmZmZWaQ6KzMzMzMys0jzRgpmZmZlZ1XTgDHBDybVh\nZmZmZmaV5pYiMzMzM7OqGdkxcxx0BLcUmZmZmZlZpTkoMrNKk/ROSV2SPj3UZRkOJK2V6+ueVpZ3\nAkln57LtP9RlaUbSlpJmSnpB0qOSTpa0ZIO8y0p6WNJlg1xGSTpW0h2SXs71euVglmFBkzR+YTyu\n/sp1Mneoy9GIpOUkzZH066Euiw1PDorMrLLy3eq/AzwInDzExVkY9OXmn4Oh7XJJmpYvArdfQGUq\n729V0o1fNwUuBx4FDgQuarDK14BlgIMGo3wFhwNTgTcAlwBnA3/sbaUFVZ+dcqEuaXIuy5lDWIZh\nE8wtiPMhIp4Evgd8QNL4gdruQm3kiKF9NCDpcEkXSbonnye1R8MftiRtIukcSfdKeknSE5L+KelU\nScu1Uh0eU2RmVTYZ2Bg4IiJeHurCDHMPAhsArw51QQbIYAd4/w9YApgQETNzwP5nYCdJm0XEzbWM\nkrYGPgYcExH3DmIZAXYj1cseETG9jfU6NWC2obGgzodvA58GvglsuQC2b4NjKulHH2jhPJF0CHAS\nqbGnlv91+bEx8H3gyd6246DIzKrsENJF/HlDXZDhLiJeA+4a6nIMY28FZkXETICI6JL0E2ACsA1w\nM4CkkcCpwB2kC7/Btnp+nj0E++5knTBivRPKMKQiYo6kS4B9JW0VEdcPdZk6WudOtHALcCfpe+94\nYEUaBEeSJpJaCAFeBk4DpgHPkr6vtgOeb2Wn7j5nZpUkaQvShegfIuKJOulTc3P9sZJWkXRWHsPx\noqR/Szq4ybaXlnScpFskPS/pGUk3SDpU0nw/RpX2tbak8yQ9JOk1SYfVybNmzvOIpOckXZv/MdS2\n9/48NmWOpCclnS9plQbl/ISk30j6Tx7LMkfS9ZIOyxfgrdZnwzFFuVvDzyXNyvt4UtKduU43rZN/\nlKRDJF0j6alc57dJOkHS0g32P0rSF/J2X5T0QO428YZWj6F4HMB40kVmrZtP7bF9Kf84SZcojQF6\nOe/3p5I2ame/wPLM/0tm7bxcvLDsCODNwIE5EO0zJVPyuVKr5zskfUPS8qW8V+V6GUuql3sb1Ulp\nvQVSn8rd1UgXSiptc24h3wqSPiXpckmz8zE+KWm6pP36U3/FugHOzGWZUirLmaW8bZ3bkkZI2l/S\n1fk74SWl76HrJJ0oadGc7yxS98sAJpTK0HJ3OqXvn/MlPab03fUPSZ/sZZ13SDpFqavSE/mY7pb0\nI0lrlvK2dD5IWkTSfpIuyH/Tz+bHPyQdowZj7bJz87YPbPW4rbNExPiI+HhEnAa82Ev2r9D9g8DH\nI+JTEXFJRPwlIs7J2/lvK/t1S5GZVdUHSBcQVzVIr3XvWIv0a9WLOe/KwDjgB5JGR8TXiitJWoH0\nK9UGwGPApcAoYEfSr1m7StopIl6ps683ATcBzwDTgaWAF0p5xuY8T5EugtYGtgJ+rxQYbUrqQjKD\nNDZlW2Bv4M2S3hoRxe5tmwA/Ah4m/Sp3PekXuW1JXRHekeupzyS9C/g9MBL4Wy774sCawCTgduAf\nhfzLAn8AtiYFBdfnOtgC+CKp/raPiKcL64wAfgu8G3gOuIL0i+HuwETg1jaK/BxpnMxOpLq4HHgk\np0XhNZIOJdUTwLXAvcCGwIeBPSXtFRG/b3G/9wKbSxoZEbWL+g3zPmfn/a0JHAecU2tR6qcLgL2A\nl0jn9jOkX1U/C+wtaYeIqAW5f8jl2AtYEvgVqa561EkdC6o+/5O3OyVv55zCPou/KL+LNG7wv8As\n4K/AaqRzfJykLSPi0Cblb8UfSOf323O5ri6kzXvdl3M7H+Mk0i/dV+f1VgTWAz5P6hb0P2AmsBLw\nHlKdFsd53dHKQUh6M+l7Z1ngHtLf0cqk77o3NVn1VGBV4N+k76RRpO+WTwB7SdomImblvK2eDyuR\nPtMnSN8RNwPLkbrEHQ/sImlcg27PM4HXgPe1ctw2fElaDdiMdO68BKws6VbgjcDTpL+DYyLiwZY2\nGBF++OGHH5V7kC4w5gJbNUg/DujKeU4CVEjbPafNAZYorffLnHYZsFRh+Uqki/O5wFeb7OtUYGQv\n5fl6Ke3EnHYH6SJiy0LaMsBteb39SuutBoyvs68VSMHLXOCDpbS18r7uaXH5VXk7e9bZz8rA+qVl\nF+XtnAssXVi+KHBWTju7tM6n8vK7gFULy0eTLpBq9bZ/G+dHrdzbN0jfhNT18iVgp1LaQXmfTwEr\ntLi/T+Z1vkW6KN2CNE7raWD5nOc3pEB7+QE4/w/J+5sNjC0sHwX8NKddW2e92ble1mxzfwukPmuf\nbZP9vgnYrM7ysaSga27x7yWnjc/bvbKN45uc1zmzSZ62zm3SDwddpABluTrb2xpYvD/lLm3v77k+\nfkjP77vtSMFM3boGdgFGl5YJODavc1kfzoelgfdS+i4k/U3/Lq/7uSbHcnPO85b+/q0srA8gYtIm\nQ/oAooVyzqbBd3g+R2ppXYXXcwvLHmr1+8rd58ysqmrdtm7vJd99wJGRv4EBIuLXwL9I/7g3ry3P\nv+TvBrwCfCIini+s8yjpQlTAQbVuLyVPAJ+O7paCemYDR5eW1caWrAv8MCJuKOz3GVKgJdL4FApp\nD0adwfIR8RhwVF5njyZlacUK+fmKOvt5JCLm/YotaUNgT1Kr1QER8Vwh7yuki+NHSeMFXlfY1GGk\nXwo/HxEPFdZ5Nq+zIAZ0H07qgn52RPyhmBARp5B+cV+GNCFCK04ntY4cQbr4v54UNB4ZEU9I2o10\n8fm5KHT3lLR4vY214Ai662ze+KBILYmHkAL+LSVt28ftt2ug67O27p1RmKSisHw26ceEgTjHe9XH\nc3vF/PyPSDOr9RAR10XESwNUvnGkwPRx4LOl77trSN8hdUXE7/LfWnFZRMQJpMB+oqSl2ilPRDwX\nEZeVvwvzfo6g98+t9r0+X/dcW6i8rvT+QWAfYF9SD4gg/SD5NVrg7nNmVjm5P/qSwGs5aGjmyujZ\n5azmLmAjUreRmnGkf9YzIuL+8goRMV3SbGAMqcn/2lKWP0XEC+X1SqZFaSxJpMHFT5C6l/ypzjp3\n5+dV66SR+/GPy+lL5GMYnZPX66U8vbmJ1AXqZ5K+DNwQEV0N8r4nP/+ufIwAEfGipJtIvw5uDvxZ\n0uqk+nwpIn5VZ51bJd0CvKWfx1E2Lj+f2yD9LNIv9+NJfd6bioi5StMI7086tueAX0XE9fmC8nvA\n1RFxFqQxNaQZmtaS9AJwIXBYMRBvJHc5GUvqYnhhnbLMkXQxqfVjPKnL2YI2oPVZpDSO752klpWV\ngMVI53htnF1/z/FWtH1uk1p+nwN2lvQ54OcR8cACKt/4/HxJg0Drp6RZ3erKPwjtTKrL0aTuhJBa\nHkcA6wD/bLdQkjYHdiC1RC9J+txq40eafW61Hw5WbJLHBnmihWmPPMu0R57rPWPraueqSAHQlyLi\nFwCSXk/qHg7p76pXDorMrIpqvy618u08X3CT1X4ZXaywbLX83GxmrntIF/Gr1Um7r4XyNLooeo4U\nFNVLrx1nsaxIWonUJWtLGremLNNgeauOInVhei/pouk5STeQLvrOiYiHC3nXzs+flfTZJtsMulug\navXY6HOC1E1qoIOi3j7ru0v5epUvls/Mj6IT6R4vUhundRap9e0w0oQhx5C6YbUyeUCtTPcVWwTq\nlF/tlL+fBrw+ASStTzrH16X+OR70/xxvRdvndkQ8l4PfnwBfBb4m6X5S19/fkILmgbpH02p53/c2\nSG+0HEknkqaUr9f7qHax2lYd5x8CLiR9b/Tlu+mZvO9yS4INoQkrj2bCyqPnvT/+n4/2d5PlCRRm\nN3hdd4KeMgdFZlZFT+XnVr4oG7Vq1NPKz27N8vQ2yw70Xp52ynsGKSCaThqzdCswJ9J00OuSuvr0\n66fEiHgE2EbS20mDq7cnDUjfEThG0p6F7lK1X5evp/dujeV/hguii1x/DMhPsJLeSurO9q2IuC0v\n/iIpKN8jtwz9TtIbgUmSWrl3UX/P06HQ1/L8ktRK8Wvg66QW3mciIvLEJJf3Y9vt6NO5HREXS/oL\n6QeFiaQWtVr3oFslvb3cda2fGv0d1V0uaU/gC6TuloeTJpl5uNa6LukaUgtdu3X8dVJAdCsp4LoZ\neDK3qI4itXI2s2wu89O95LPh7RbSZ1wLfscU0sYWXrfUwuqgyMwqJ3dVeR5YUtIyLXSha1Xti3ft\nJnlqX9StzYazgOQuhO8hzdK0S3GMQ7bOQO4vIq4mz8SVpx7+fH6cTve9b2qtPVdExHEtbrpWj2s2\nyTOmrcK2vt+18+PhOun9/pwliXTPjfuAEwpJGwK3l7rKXU+apWwjmvyqn9XO0zUlqUFr0VjSReVg\nnacDXp95xrQNSTOa7VXnOAf0HO9FX85tYN64wPPzo9b6dS6pC+5RzD/GsC8eJAUuYxqkj22wfA/S\nefKFiKjX9bGvdVzb7j4RUQ4iW9nmcvn5f33cfzWM7MypBfIPFrVp14vTr79N0pz8emZEPCnpNFLg\nLOCLOV10/10E8LNW9tuZtWFmtuDVpoHecAC3OZP0Bbx9+f4cMG/szlhSd7b5Bn8PsmVJ/wOerRMQ\nAXxoQe04D6I+mvRr7yrqvidObRrh3drY1gOkIGAxSbuX0yVtTN+6ztWmTG/04+EM0j/e/RukH0A6\nF6b1Yd81B5MufA+NiHIrYnngeu3CodeWwkjT084mdbfbp5wuaRm6P4P5JuLoowVVn7UWiXrXM7UL\n44cbBH77NipsH/R2fG2f243kyUlOItVX8dzurQzNzMjPu0parE76pAbr1ep4vl/iJb2D7m6uZb2V\nteF2ae27qfa9/vcW8lrnOR24OD9q55BI3YVryzfOy48HriF9P6xOutXA+fl1ANeRuiD3ykGRmVXV\ntPy8dZM8bXXJioj7SF/Wo4BTizMu5fE7P8zbPDl63qeo1X0NZBexR8ndDiT1uDCWNIl04dHv/Un6\ndB7YX17+btIYpzm5HETE30j3G9pY6Wav8w2SlrSSpI+WFv+A9A/zq8V95Yv7U/pY9FqLxAYN0r9P\nmvJ1sqSdSmU8kDRwfQ6pi2LbJK1M+kd+cURcVkq+BdhA0tty3lGkC/wgzYrYiu/SXWfzWjbztk4m\ndUe5PiIGapKFBVWfzbY7ixQkbpy7bxa3+QVSN86B+ptqenx9ObclbSpprwZBSm3geLEbaa0M6zQI\nEhuKiBmk82oF4JvF9SVtR5oyvp47SOfRx1S4MbWkMaS/vUb129v5UJuV8qDiQknvpMmEDznPEqQL\n5icjop17lFXPSA3to7HajZkbPeb9+JMnBnkHqbXon6R7f71I+uHzKGBCnR+V6nL3OTOrqt+Smtd3\npPuGkWV9GWtwILA+6Uai90iaTvfNW5cm3Z9jah/3NWBjH/K4oa+Q+u7/XNLBpG5aG5J+ff4aqXtb\nfx1Dusi6jXSh8wqptWwruqeELg4Wn0z6bPYG3i/pH6QLv8VJs01tSAroflJY5/uk+p4I3JHHYLxC\nmrXqGdJ9Td7fZrkvJt0Y9Ft5YoNaN5xvRMSsiPinpCNI586lkv5K981GNyXNirR/RPS1+873ST9c\nHlYn7UvAX4Cr8rFuQKqbM+vNetjAyaSgYC/gX5KuovvmrauTzoVGrQN9saDq82LSfaqulHQleVKR\niPhYRDwu6VTS3+RVkqaR7vO0Gekc/CZw5AAd33Wkbnpvk3Qj6UamrwLXRMTZOU+75/ZapMkGnpd0\nMymQWJw0O90apG6Gten4iYj7JP2dVF+35nVeBu6MiG+1cAz7k76fDgZ2ysexImkc4MmkMUNl38/r\n7QzMypOoLEMKYq8n1fc2ddZrej6QfhC4gBS0f5D03TGG9CNWb99N40nXt63eONk6TEQ064JeL/8r\npHu8tXKeN+SWIjOrpIi4kdS14t2S3tAoG+23Fj1GuuA/nnSBszPpV6w7SRcV76nTStTqvnrL01ta\nj/R8obQPcAMpENoJeJL0K/SPm+yvneUH0z3N8o7AB4A3kC54touI00plmkMKZj5Cmgp6PdL9XbYh\n/fr3bdLNc4vrzCXdw+cY0o363g1sS7rw2po0sUa7n+PvSBfTt5M+vwPyY5VCnh+S7v1Um91sT9JF\n5HnAFhHRp4uy3Iq2B3BsFO67VNjvVaRgZjbps1qWFEwc0uo+8n1k9snHdBMpGNqVVMffJN3w9J5G\nq7d+NPM3BTs6AAAgAElEQVT2t6Dq82jgO6SJJ3bL2/xIYZuHkM7Bf5HOhYmkC+y3k26w3O453uj4\nXiGdd5eSLt4/nMuyfSFPu+f2daSL/5mkMXO7ki74nyB9v2wSEeUJR3Yj3ST29aS/7QNocTriiLiF\nNPHKRaSWwg+QWo4Oj4gjatlK69xNCjJ/SQpE3kcK5r4KvIsUGM5Xj72dD3la5Ymkbn1j8nZFCoyL\nY0Xq2T+n/ahBulldajwbp5nZwk3SFNL0x5+NiO8McXHMzKwfJC1LalH7d0RsNdTl6WSSIj65xdCW\n4dQbiYiOmenSLUVmVmXnkn5B/kyDfvtmZjZ8fJZ0A+rPDXVBbPhxUGRmlRURXaRBuyvTRtcjMzPr\nLJKWI43BuyQiBmrWxIXbyBFD++gwnmjBzCotIv5M940VzcxsGIqIJ0nj68z6xEGRmQ0YSR6kaGZm\n1gedNL6mihwUmdmAio9uNtRFqGvqzQ8xdbNVh7oY85n6k5uGuggNTWMqE+rOHj70Hlm3M+Pvm56Y\nyubLTx3qYtS18qzOvd7q5HOtU7nO2tfJdXb8wN1xoXUjOvc7YSh0Xoc+MzMzMzOzQeSWIjMzMzOz\nqunAyQ6GkmvDzCphwiqjh7oIw84YJgx1EYadVZeYMNRFGJZ8rrXPddY+15k146DIzCphwqoOitrl\nC4j2rbrkhKEuwrDkc619rrP2uc6sGXefMzMzMzOrmpGeaKHILUVmZmZmZlZpbikyMzMzM6saT7TQ\ng2vDzMzMzMwqzUGRmZmZmZlVmrvPmZmZmZlVjSda6MEtRWZmZmZmVmluKTIzMzMzq5oRbhspcm2Y\nmZmZmVmlOSgyMzMzM7NKc/c5MzMzM7Oq8UQLPbilyMzMzMzMKs0tRWZmZmZmVTPSbSNFrg0zMzMz\nM6s0B0VmZmZmZlZp7j5nZmZmZlY1nmihB7cUmZmZmZlZpbmlyMzMzMysaka4baTItWFmZmZmZpXm\noMjMzMzMzCrN3efMzMzMzKrGEy304JYiMzMzMzOrNLcUmZmZmZlVzUi3jRS5NszMzMzMrNIcFJmZ\nmZmZWaW5+5yZmZmZWdWM8EQLRW4psmFP0r6SuvLj/jrptxbSf1FKGy3ptUL6RqX0SYW0LkkvSnpd\ng3KcVch3ZS9lHl/a7pql9BMKaXMlHZyXTy4uL60zrbTNfZrsc66kReuUa7SkwyT9UdJDkl6S9LSk\nuyRdLukISWObHZuZmZnZcOOWIlsYzMjPAawqaWxEzAbIAcyGOQ1gXGndbUk/DgTwVET8u5Q+ubAu\nwKLAvsCPmpQnmqT1mlfS14Ejc1oAn4iIM1rYR5SWHy/poojoaqV8kiYC5wIrlfKNAkYDbwQmAlsA\nH2p0QGZmZjYMeKKFHlwbNuxFxIPAbKDWDrx9IXm7wnIBK0hat5BezHtNcbuSVgd2KC7Kjyn9L3WP\nbRb3+V1SQATQBXykTkA033p1lgtYB/hIK+tKejvwW2BFUjD0BPBlYBdgR1IgeBIwX0ucmZmZ2XDn\noMgWFjMLr8fVeT0LeLFJenkbkFqJan8jFwNz8uvNJa3f96LWNULSKcDh+f1rwKSI+Gkftxek4OdY\nSaOaZZQk4DRSK5iAB4FNI+LYiLgsIqZHxEUR8RlgLPDVPpbJzMzMrCM5KLKFxYzC63LQE8BfgBtI\nF/3jAPKYmi0KectB0X6F12cAvyy8n9K/4s5T66J2MvDJ/PoVYO+IuLAf270uP68OHNRL3i2ADQrl\nOTq3vs0nIroi4tZ+lMvMzMw6wQgN7aPDOCiyhUUtoBGwjqSVJC0ObFZIrwVOtaBpK2Cx/PpF4Oba\nxiRtC6yX3z4OXA78rLC/SbmFZaDslJ9fBvaMiIv7ub3pwBWk+vi8pCWb5K3VUe14Lq8lSFpK0nZ1\nHovNvxkzMzOz4ckTLdhCISJmSXqU7kkCxgGPkbqEBSkoeiynjZW0Ct3BUQDXR8RrhU1OKaRdkCcr\nmCbpAVLryyrAuygEEAPkYQrBWT8dTSrjCsCnKI2ZKnh96f3jhdfrM38LWpBalu4agDKamZmZDTkH\nRbYwmQnsmV/XgiKAeyPiQUlPkcbqjCRNsFB3PFFuYdqrkPbzwuvz6Z4IYQoDFxR1kVpuxwAzJO0Q\nEQ/0Z4MRcbOkS4Bdgc8CtzXI+nTp/fJ01x30nK2u19axqTc/NO/1hFVGM2HV0S2V18zMrCruZRr3\nMm1oC+HZ53pwUGQLkxl0B0XjgUfz65kAEfGCpL+RxtBMIE3HTTFPtjuwLN2TFVxbp6ecgA9IWjYi\n5pQT26C8n08C3wOWIE19PU3SjhFxXz+2DXAM8H7S8RzZIE+tZaoW/EwkB4IRcTMwUtJapBn+ejV1\ns1X7XFgzM7MqGMMExjBh3vvpHD90hTHAY4ps4VIMbDYmTccdpeUzSYHIh0n33gGYC1xbyLN/4XU0\neEAaj7T3AJX9CtL018/n92uTAqN+3Sg133fpfNIxb0P9exTdANxO95TjJ0paqU4+MzMzW1h4ooUe\n3FJkC5NbSNNmL0O6uF+S+YOiGcBngKXoDhD+HhEvAEhaFXhnIe3zzN+9bAKwT349BfhxnbKsLane\n1NX/jojz6hU+Iq6UtDPwe2BpUle6WovR3fXWadFxpOBtZIP9hqSDSIHZqLzfv0s6GbgReBXYsh/7\nNzMzM+toDopsoZEv7q8B3ltY/FhEFCcEuJrubnEwf9BUvDfRHRHxjfJ+JF1NCooEbCVpvdI+BKwJ\n/L86xbwEqBsU5WOYIWkn4FJScLcGMD0HRn2a2CAi7pF0JvDxJnmmS9oVOIc0pmgl4EvlbPm5izQ2\ny8zMzGyh4O5ztrCZQc9ubj1mTouIp4B/lfJcXciyf2F58b5ExW3cBtxBd5AwpZjcwqNe3uL2rwHe\nQ2r1CtJMd1dJelOz9Qpp9ZxAmna84boR8QdgXVIwN5002cKrwAvAPaRA7XPAGyPingb7MTMzs+Fg\n5IihfXQYRTS6hjIza4+kiI9u1ntGm2fqT24a6iIMS4+s6/9d7Vp5Vuf14Tez5HhERAzaH6mkiNN3\nH6zd1S/Dx349qMfcG3efMzMzMzOrmg6c7GAodV7blZmZmZmZ2SByUGRmZmZmZpXm7nNmZmZmZlXT\ngZMdDCXXhpmZmZmZVZpbiszMzMzMqsYTLfTgliIzMzMzM+sIkg6XdJGkeyR1FR7797LeCEnXtLNO\nkVuKzMzMzMysU0wFlsmv27kp3eeBbdpcZx4HRWZmZmZmVdO5Ey3cAtwJ3AwcD6xIL4GOpLcCxwJd\nwCvA4r2tU+agyMzMzMzMOkJEjK+9lnRUb/klLQacR4prvgvsAazV7n4dFJmZmZmZVc3CM9HC14EN\ngFuBL5CCorZ1bLuZmZmZmZlZI5LeARwKvAxMiohX+rotB0VmZmZmZjasSFoWODu/PSYibu3P9tx9\nzszMzMysakYMbtvItH8/yrTbHh3ITX4ZWA2YERHf6u/GHBSZmZmZmdkCNWGjlZiw0Urz3h//y341\n7EAKiAC2l9TVIM/Zks4GNo2IW5ptzEGRmZmZmVnVjFwoJlpoNO22ekmfj4MiMzMzMzPrCJImAkvm\nt0sWkt4maU5+fTXwE+CqOps4Dnh9fn0+cAPwYG/7dVBkZmZmZmad4nRgzdIyAYflB8CEiLi03sqS\njqA7KLoiIs5tZacOiszMzMzMqmaQJ1poQxfNu7210iWu5W5zNQ6KzMzMzMysI0TE2v1cf2xf1nNQ\nZGZmZmZWNSMWiokWBkzHtpuZmZmZmZkNBgdFZmZmZmZWae4+Z2ZmZmZWNQvHfYoGjFuKzMzMzMys\n0txSZGZmZmZWNZ07JfeQcG2YmZmZmVmlOSgyMzMzM7NKc/c5MzMzM7OK6fJ9inpwS5GZmZmZmVWa\nW4rMzMzMzCqmyxMt9OCgyMwG1BfPvXGoizCsnPiVdw11EYalg35y+VAXwczMFiIOEc3MzMzMrNLc\nUmRmZmZmVjGeaKEntxSZmZmZmVmluaXIzMzMzKxi5o5020iRa8PMzMzMzCrNQZGZmZmZmVWau8+Z\nmZmZmVWMJ1royS1FZmZmZmZWaW4pMjMzMzOrmBjhtpEi14aZmZmZmVWagyIzMzMzM6s0d58zMzMz\nM6sYT7TQk1uKzMzMzMys0txSZGZmZmZWMW4p6sktRWZmZmZmVmkOiszMzMzMrNLcfc7MzMzMrGK6\nfJ+iHlwbZmZmZmZWaW4pMjMzMzOrGE+00JNbiszMzMzMrNIcFJmZmZmZWaW5+5yZmZmZWcXMldtG\nilwbZmZmZmZWaW4pMjMzMzOrGE+00JNbiszMzMzMrNIcFJmZmZmZWaW5+5yZmZmZWcW4+1xPbiky\nMzMzM7NKc1BkZmZmZmaV5u5zZmZmZmYVEyPcNlLk2jAzMzMzs0pzUFQiaV9JXflxf530Wwvpvyil\njZb0WiF9o1L6pEJal6QXJb2uQTnOKuS7spcyjy9td81S+gmFtLmSDs7LJxeXl9aZVtrmPk32OVfS\nonXKNVrSYZL+KOkhSS9JelrSXZIul3SEpLHNjq3B8d5b2PexddKL5d6/sHxyKa32eFnSA5J+KWl8\nne0tJukoSTdJeibnfzSfCxdIOrRJvfX22L/O/srb+FmDehhZyvehQtr/NdjfC5JmSTpD0voNtruB\npLMlzc6f2XOS7pN0taSTJW3V+6dkZmZmnaxrhIb00WncfW5+M/JzAKtKGhsRswFyALNhTgMYV1p3\nW1KgGcBTEfHvUvrkwroAiwL7Aj9qUp5oktZrXklfB47MaQF8IiLOaGEfUVp+vKSLIqKrlfJJmgic\n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\npfFGTTkoMjMzMzOzBWqLbcayxTZj570/9XvTBmzbkr4DfIo069zTwK7t3KMIHBSZmZmZmVVOl4b/\n1AKSFgXOA/YkBUT3ATu1Oo6oyEGRmZmZmZl1BEkTgSXz2yULSW+TNCe/ngm8AFwOjKO7hehIYHlJ\n2xXWuysiHuttvw6KzMzMzMwqpoMnWjgdWLO0TMBh+QEwAfgvKSCqpb8euKjO9qYA5/a2UwdFZmZm\nZmbWKbpILT+NRIPXveVtykGRmZmZmZl1hIhYu43sIwdqvw6KzMzMzMwqpksd231uSAz/aSfMzMzM\nzMz6wS1FZmZmZmYVM3eE20aKXBtmZmZmZlZpDorMzMzMzKzS3H3OzMzMzKxiPNFCT24pMjMzMzOz\nSnNLkZmZmZlZxbilqCe3FJmZmZmZWaU5KDIzMzMzs0pz9zkzMzMzs4oJ36eoB9eGmZmZmZlVmluK\nzMzMzMwqxhMt9OSWIjMzMzMzqzQHRWZmZmZmVmnuPmdmZmZmVjHuPteTW4rMzMzMzKzS3FJkZgNq\nkVf8y1M7pn7hiqEuwrB0yrl7D3URhp2p+1841EUwsw7ilqKe3FJkZmZmZmaV5qDIzMzMzMwqzd3n\nzMzMzMwqpktuGylybZiZmZmZWaW5pcjMzMzMrGI80UJPbikyMzMzM7NKc1BkZmZmZmaV5u5zZmZm\nZmYVM3eEu88VuaXIzMzMzMwqzS1FZmZmZmYV4ym5e3JtmJmZmZlZpTkoMjMzMzOzSnP3OTMzMzOz\nignfp6gHtxSZmZmZmVmlOSgyMzMzM7NKc/c5MzMzM7OK6cLd54rcUmRmZmZmZpXmliIzMzMzs4rp\n8kQLPbilyMzMzMzMKs1BkZmZmZmZVZq7z5mZmZmZVUyX3DZS5NowMzMzM7NKc0uRmZmZmVnFeKKF\nntxSZGZmZmZmleagyMzMzMzMKs3d58zMzMzMKmauu8/14JYiMzMzMzOrNLcUmZmZmZlVjCda6Mkt\nRWZmZmZmVmkOiszMzMzMrNLcfc7MzMzMrGK63DbSw5DWhqR9JXXlx/110m8tpP+ilDZa0muF9I1K\n6ZMKaV2SXpT0ugblOKuQ78peyjy+tN01S+knFNLmSjo4L59cXF5aZ1ppm/s02edcSYvWKddoSYdJ\n+qOkhyS9JOlpSXdJulzSEZLGNju2Bsd7b6lsr0iaI+k/ki6TdKikZXrZxlsknSbpdknP5M/iv5J+\n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\ntf8HGEwmAny82PIAAAAASUVORK5CYII=\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
"source": [
"# Results\n",
"\n",
@@ -820,7 +613,7 @@
},
{
"cell_type": "code",
- "execution_count": 22,
+ "execution_count": null,
"metadata": {
"collapsed": true
},
@@ -837,86 +630,50 @@
"\n",
"Outstandingly, **the final accuracy is of 91%**! And it can peak to values such as 92.73%, at some moments of luck during the training, depending on how the neural network's weights got initialized at the start of the training, randomly. \n",
"\n",
- "This means that the neural networks is almost always able to correctly identify the movement type! Remember, the phone is attached on the waist and each series to classify has just a 128 sample window of two internal sensors (a.k.a. 2.56 seconds at 50 FPS), so it amazes me how those predictions are extremely accurate given this small window of context and raw data. I've validated and re-validated that there is no important bug, and the community used and tried this code a lot. (Note: be sure to report something in the issue tab if you find bugs, otherwise [Quora](https://www.quora.com/), [StackOverflow](https://stackoverflow.com/questions/tagged/tensorflow?sort=votes&pageSize=50), and other [StackExchange](https://stackexchange.com/sites#science) sites are the places for asking questions.)\n",
+ "This means that the neural networks is almost always able to correctly identify the movement type! Remember, the phone is attached on the waist and each series to classify has just a 128 sample window of two internal sensors (a.k.a. 2.56 seconds at 50 FPS), so those predictions are extremely accurate.\n",
"\n",
- "I specially did not expect such good results for guessing between the labels \"SITTING\" and \"STANDING\". Those are seemingly almost the same thing from the point of view of a device placed at waist level according to how the dataset was originally gathered. Thought, it is still possible to see a little cluster on the matrix between those classes, which drifts away just a bit from the identity. This is great.\n",
+ "I specially did not expect such good results for guessing between \"SITTING\" and \"STANDING\". Those are seemingly almost the same thing from the point of view of a device placed at waist level according to how the dataset was gathered. Thought, it is still possible to see a little cluster on the matrix between those classes, which drifts away from the identity. This is great.\n",
"\n",
"It is also possible to see that there was a slight difficulty in doing the difference between \"WALKING\", \"WALKING_UPSTAIRS\" and \"WALKING_DOWNSTAIRS\". Obviously, those activities are quite similar in terms of movements. \n",
"\n",
- "I also tried my code without the gyroscope, using only the 3D accelerometer's 6 features (and not changing the training hyperparameters), and got an accuracy of 87%. In general, gyroscopes consumes more power than accelerometers, so it is preferable to turn them off. \n",
+ "I also tried my code without the gyroscope, using only the two 3D accelerometer's features (and not changing the training hyperparameters), and got an accuracy of 87%. In general, gyroscopes consumes more power than accelerometers, so it is preferable to turn them off. \n",
"\n",
"\n",
"## Improvements\n",
"\n",
- "In [another open-source repository of mine](https://github.com/guillaume-chevalier/HAR-stacked-residual-bidir-LSTMs), the accuracy is pushed up to nearly 94% using a special deep LSTM architecture which combines the concepts of bidirectional RNNs, residual connections, and stacked cells. This architecture is also tested on another similar activity dataset. It resembles the nice architecture used in \"[Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation](https://arxiv.org/pdf/1609.08144.pdf)\", without an attention mechanism, and with just the encoder part - as a \"many to one\" architecture instead of a \"many to many\" to be adapted to the Human Activity Recognition (HAR) problem. I also worked more on the problem and came up with the [LARNN](https://github.com/guillaume-chevalier/Linear-Attention-Recurrent-Neural-Network), however it's complicated for just a little gain. Thus the current, original activity recognition project is simply better to use for its outstanding simplicity. \n",
+ "In [another open-source repository of mine](https://github.com/guillaume-chevalier/HAR-stacked-residual-bidir-LSTMs), the accuracy is pushed up to 94% using a special deep LSTM architecture which combines the concepts of bidirectional RNNs, residual connections and stacked cells. This architecture is also tested on another similar activity dataset. It resembles to the architecture used in \"[Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation](https://arxiv.org/pdf/1609.08144.pdf)\" without an attention mechanism and with just the encoder part - still as a \"many to one\" architecture which is adapted to the Human Activity Recognition (HAR) problem.\n",
"\n",
- "If you want to learn more about deep learning, I have also built a list of the learning ressources for deep learning which have revealed to be the most useful to me [here](https://github.com/guillaume-chevalier/Awesome-Deep-Learning-Resources). \n",
+ "If you want to learn more about deep learning, I have also built a list of the learning ressources for deep learning which have revealed to be the most useful to me [here](https://github.com/guillaume-chevalier/awesome-deep-learning-resources). You could as well learn to [learn to learn by gradient descent by gradient descent](https://arxiv.org/pdf/1606.04474.pdf) (not for the faint of heart). Ok, I pushed the joke deep enough... \n",
"\n",
"\n",
"## References\n",
"\n",
- "The [dataset](https://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones) can be found on the UCI Machine Learning Repository: \n",
+ "The [dataset](https://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones) can be found on the UCI Machine Learning Repository. \n",
"\n",
"> Davide Anguita, Alessandro Ghio, Luca Oneto, Xavier Parra and Jorge L. Reyes-Ortiz. A Public Domain Dataset for Human Activity Recognition Using Smartphones. 21th European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning, ESANN 2013. Bruges, Belgium 24-26 April 2013.\n",
"\n",
- "The RNN image for \"many-to-one\" is taken from Karpathy's post: \n",
- "\n",
- "> Andrej Karpathy, The Unreasonable Effectiveness of Recurrent Neural Networks, 2015, \n",
- "> http://karpathy.github.io/2015/05/21/rnn-effectiveness/\n",
- "\n",
- "## Citation\n",
- "\n",
- "Copyright (c) 2016 Guillaume Chevalier. To cite my code, you can point to the URL of the GitHub repository, for example: \n",
- "\n",
- "> Guillaume Chevalier, LSTMs for Human Activity Recognition, 2016, \n",
+ "To cite my work, point to the URL of the GitHub repository: \n",
+ "> Guillaume Chevalier, LSTMs for Human Activity Recognition, 2016\n",
"> https://github.com/guillaume-chevalier/LSTM-Human-Activity-Recognition\n",
"\n",
- "My code is available for free and even for private usage for anyone under the [MIT License](https://github.com/guillaume-chevalier/LSTM-Human-Activity-Recognition/blob/master/LICENSE), however I ask to cite for using the code. \n",
+ "My code is available under the [MIT License](https://github.com/guillaume-chevalier/LSTM-Human-Activity-Recognition/blob/master/LICENSE). \n",
"\n",
- "## Extra links\n",
+ "## Connect with me\n",
"\n",
- "### Connect with me\n",
- "\n",
- "- [LinkedIn](https://ca.linkedin.com/in/chevalierg)\n",
- "- [Twitter](https://twitter.com/guillaume_che)\n",
- "- [GitHub](https://github.com/guillaume-chevalier/)\n",
- "- [Quora](https://www.quora.com/profile/Guillaume-Chevalier-2)\n",
- "- [YouTube](https://www.youtube.com/c/GuillaumeChevalier)\n",
- "- [Dev/Consulting](http://www.neuraxio.com/en/)\n",
- "\n",
- "### Liked this project? Did it help you? Leave a [star](https://github.com/guillaume-chevalier/LSTM-Human-Activity-Recognition/stargazers), [fork](https://github.com/guillaume-chevalier/LSTM-Human-Activity-Recognition/network/members) and share the love!\n",
- "\n",
- "This activity recognition project has been seen in:\n",
- "\n",
- "- [Hacker News 1st page](https://news.ycombinator.com/item?id=13049143)\n",
- "- [Awesome TensorFlow](https://github.com/jtoy/awesome-tensorflow#tutorials)\n",
- "- [TensorFlow World](https://github.com/astorfi/TensorFlow-World#some-useful-tutorials)\n",
- "- And more.\n",
- "\n",
- "---\n"
+ "- https://ca.linkedin.com/in/chevalierg \n",
+ "- https://twitter.com/guillaume_che\n",
+ "- https://github.com/guillaume-chevalier/\n"
]
},
{
"cell_type": "code",
- "execution_count": 23,
+ "execution_count": null,
"metadata": {
- "scrolled": true
+ "collapsed": true
},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[NbConvertApp] Converting notebook LSTM.ipynb to markdown\n",
- "[NbConvertApp] Support files will be in LSTM_files/\n",
- "[NbConvertApp] Making directory LSTM_files\n",
- "[NbConvertApp] Making directory LSTM_files\n",
- "[NbConvertApp] Writing 38654 bytes to LSTM.md\n"
- ]
- }
- ],
+ "outputs": [],
"source": [
- "# Let's convert this notebook to a README automatically for the GitHub project's title page:\n",
+ "# Let's convert this notebook to a README for the GitHub project's title page:\n",
"!jupyter nbconvert --to markdown LSTM.ipynb\n",
"!mv LSTM.md README.md"
]
@@ -939,7 +696,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.6.6"
+ "version": "3.6.3"
}
},
"nbformat": 4,
diff --git a/README.md b/README.md
index efa6a17..fbc02a8 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-# LSTMs for Human Activity Recognition
+# LSTMs for Human Activity Recognition
-Human Activity Recognition (HAR) using smartphones dataset and an LSTM RNN. Classifying the type of movement amongst six categories:
+Human activity recognition using smartphones dataset and an LSTM RNN. Classifying the type of movement amongst six categories:
- WALKING,
- WALKING_UPSTAIRS,
- WALKING_DOWNSTAIRS,
@@ -9,9 +9,7 @@ Human Activity Recognition (HAR) using smartphones dataset and an LSTM RNN. Clas
- STANDING,
- LAYING.
-Compared to a classical approach, using a Recurrent Neural Networks (RNN) with Long Short-Term Memory cells (LSTMs) require no or almost no feature engineering. Data can be fed directly into the neural network who acts like a black box, modeling the problem correctly. [Other research](https://archive.ics.uci.edu/ml/machine-learning-databases/00240/UCI%20HAR%20Dataset.names) on the activity recognition dataset can use a big amount of feature engineering, which is rather a signal processing approach combined with classical data science techniques. The approach here is rather very simple in terms of how much was the data preprocessed.
-
-Let's use Google's neat Deep Learning library, TensorFlow, demonstrating the usage of an LSTM, a type of Artificial Neural Network that can process sequential data / time series.
+Compared to a classical approach, using a Recurrent Neural Networks (RNN) with Long Short-Term Memory cells (LSTMs) require no or almost no feature engineering. Data can be fed directly into the neural network who acts like a black box, modeling the problem correctly. Other research on the activity recognition dataset used mostly use a big amount of feature engineering, which is rather a signal processing approach combined with classical data science techniques. The approach here is rather very simple in terms of how much did the data was preprocessed.
## Video dataset overview
@@ -19,34 +17,31 @@ Follow this link to see a video of the 6 activities recorded in the experiment w
[Watch video]
-## Details about the input data
+## Details about input data
I will be using an LSTM on the data to learn (as a cellphone attached on the waist) to recognise the type of activity that the user is doing. The dataset's description goes like this:
-> The sensor signals (accelerometer and gyroscope) were pre-processed by applying noise filters and then sampled in fixed-width sliding windows of 2.56 sec and 50% overlap (128 readings/window). The sensor acceleration signal, which has gravitational and body motion components, was separated using a Butterworth low-pass filter into body acceleration and gravity. The gravitational force is assumed to have only low frequency components, therefore a filter with 0.3 Hz cutoff frequency was used.
+> The sensor signals (accelerometer and gyroscope) were pre-processed by applying noise filters and then sampled in fixed-width sliding windows of 2.56 sec and 50% overlap (128 readings/window). The sensor acceleration signal, which has gravitational and body motion components, was separated using a Butterworth low-pass filter into body acceleration and gravity. The gravitational force is assumed to have only low frequency components, therefore a filter with 0.3 Hz cutoff frequency was used.
-That said, I will use the almost raw data: only the gravity effect has been filtered out of the accelerometer as a preprocessing step for another 3D feature as an input to help learning. If you'd ever want to extract the gravity by yourself, you could fork my code on using a [Butterworth Low-Pass Filter (LPF) in Python](https://github.com/guillaume-chevalier/filtering-stft-and-laplace-transform) and edit it to have the right cutoff frequency of 0.3 Hz which is a good frequency for activity recognition from body sensors.
+That said, I will use the almost raw data: only the gravity effect has been filtered out of the accelerometer as a preprocessing step for another 3D feature as an input to help learning.
## What is an RNN?
-As explained in [this article](http://karpathy.github.io/2015/05/21/rnn-effectiveness/), an RNN takes many input vectors to process them and output other vectors. It can be roughly pictured like in the image below, imagining each rectangle has a vectorial depth and other special hidden quirks in the image below. **In our case, the "many to one" architecture is used**: we accept time series of [feature vectors](https://www.quora.com/What-do-samples-features-time-steps-mean-in-LSTM/answer/Guillaume-Chevalier-2) (one vector per [time step](https://www.quora.com/What-do-samples-features-time-steps-mean-in-LSTM/answer/Guillaume-Chevalier-2)) to convert them to a probability vector at the output for classification. Note that a "one to one" architecture would be a standard feedforward neural network.
-
->
-> http://karpathy.github.io/2015/05/21/rnn-effectiveness/
+As explained in [this article](http://karpathy.github.io/2015/05/21/rnn-effectiveness/), an RNN takes many input vectors to process them and output other vectors. It can be roughly pictured like in the image below, imagining each rectangle has a vectorial depth and other special hidden quirks in the image below. **In our case, the "many to one" architecture is used**: we accept time series of feature vectors (one vector per time step) to convert them to a probability vector at the output for classification. Note that a "one to one" architecture would be a standard feedforward neural network.
-## What is an LSTM?
+
-An LSTM is an improved RNN. It is more complex, but easier to train, avoiding what is called the vanishing gradient problem. I recommend [this article](http://colah.github.io/posts/2015-08-Understanding-LSTMs/) for you to learn more on LSTMs.
+An LSTM is an improved RNN. It is more complex, but easier to train, avoiding what is called the vanishing gradient problem.
-## Results
+## Results
-Scroll on! Nice visuals awaits.
+Scroll on! Nice visuals awaits.
```python
@@ -80,17 +75,17 @@ INPUT_SIGNAL_TYPES = [
# Output classes to learn how to classify
LABELS = [
- "WALKING",
- "WALKING_UPSTAIRS",
- "WALKING_DOWNSTAIRS",
- "SITTING",
- "STANDING",
+ "WALKING",
+ "WALKING_UPSTAIRS",
+ "WALKING_DOWNSTAIRS",
+ "SITTING",
+ "STANDING",
"LAYING"
-]
+]
```
-## Let's start by downloading the data:
+## Let's start by downloading the data:
```python
@@ -118,7 +113,7 @@ print("\n" + "Dataset is now located at: " + DATASET_PATH)
LICENSE LSTM.ipynb lstm.py screenlog.0
/home/ubuntu/pynb/LSTM-Human-Activity-Recognition/data
download_dataset.py source.txt
-
+
Downloading...
--2017-05-24 01:49:53-- https://archive.ics.uci.edu/ml/machine-learning-databases/00240/UCI%20HAR%20Dataset.zip
Resolving archive.ics.uci.edu (archive.ics.uci.edu)... 128.195.10.249
@@ -126,13 +121,13 @@ print("\n" + "Dataset is now located at: " + DATASET_PATH)
HTTP request sent, awaiting response... 200 OK
Length: 60999314 (58M) [application/zip]
Saving to: ‘UCI HAR Dataset.zip’
-
+
100%[======================================>] 60,999,314 1.69MB/s in 38s
-
+
2017-05-24 01:50:31 (1.55 MB/s) - ‘UCI HAR Dataset.zip’ saved [60999314/60999314]
-
+
Downloading done.
-
+
Extracting...
Extracting successfully done to /home/ubuntu/pynb/LSTM-Human-Activity-Recognition/data/UCI HAR Dataset.
/home/ubuntu/pynb/LSTM-Human-Activity-Recognition/data
@@ -140,7 +135,7 @@ print("\n" + "Dataset is now located at: " + DATASET_PATH)
/home/ubuntu/pynb/LSTM-Human-Activity-Recognition
data LSTM_files LSTM_OLD.ipynb README.md
LICENSE LSTM.ipynb lstm.py screenlog.0
-
+
Dataset is now located at: data/UCI HAR Dataset/
@@ -156,7 +151,7 @@ TEST = "test/"
def load_X(X_signals_paths):
X_signals = []
-
+
for signal_type_path in X_signals_paths:
file = open(signal_type_path, 'r')
# Read dataset from disk, dealing with text files' syntax
@@ -166,7 +161,7 @@ def load_X(X_signals_paths):
]]
)
file.close()
-
+
return np.transpose(np.array(X_signals), (1, 2, 0))
X_train_signals_paths = [
@@ -188,12 +183,12 @@ def load_y(y_path):
y_ = np.array(
[elem for elem in [
row.replace(' ', ' ').strip().split(' ') for row in file
- ]],
+ ]],
dtype=np.int32
)
file.close()
-
- # Substract 1 to each output class for friendly 0-based indexing
+
+ # Substract 1 to each output class for friendly 0-based indexing
return y_ - 1
y_train_path = DATASET_PATH + TRAIN + "y_train.txt"
@@ -206,13 +201,13 @@ y_test = load_y(y_test_path)
## Additionnal Parameters:
-Here are some core parameter definitions for the training.
+Here are some core parameter definitions for the training.
-For example, the whole neural network's structure could be summarised by enumerating those parameters and the fact that two LSTM are used one on top of another (stacked) output-to-input as hidden layers through time steps.
+The whole neural network's structure could be summarised by enumerating those parameters and the fact an LSTM is used.
```python
-# Input Data
+# Input Data
training_data_count = len(X_train) # 7352 training series (with 50% overlap between each serie)
test_data_count = len(X_test) # 2947 testing series
@@ -226,7 +221,7 @@ n_hidden = 32 # Hidden layer num of features
n_classes = 6 # Total classes (should go up, or should go down)
-# Training
+# Training
learning_rate = 0.0025
lambda_loss_amount = 0.0015
@@ -255,23 +250,23 @@ print("The dataset is therefore properly normalised, as expected, but not yet on
```python
def LSTM_RNN(_X, _weights, _biases):
- # Function returns a tensorflow LSTM (RNN) artificial neural network from given parameters.
- # Moreover, two LSTM cells are stacked which adds deepness to the neural network.
- # Note, some code of this notebook is inspired from an slightly different
- # RNN architecture used on another dataset, some of the credits goes to
+ # Function returns a tensorflow LSTM (RNN) artificial neural network from given parameters.
+ # Moreover, two LSTM cells are stacked which adds deepness to the neural network.
+ # Note, some code of this notebook is inspired from an slightly different
+ # RNN architecture used on another dataset, some of the credits goes to
# "aymericdamien" under the MIT license.
# (NOTE: This step could be greatly optimised by shaping the dataset once
# input shape: (batch_size, n_steps, n_input)
_X = tf.transpose(_X, [1, 0, 2]) # permute n_steps and batch_size
# Reshape to prepare input to hidden activation
- _X = tf.reshape(_X, [-1, n_input])
+ _X = tf.reshape(_X, [-1, n_input])
# new shape: (n_steps*batch_size, n_input)
-
- # ReLU activation, thanks to Yu Zhao for adding this improvement here:
+
+ # Linear activation
_X = tf.nn.relu(tf.matmul(_X, _weights['hidden']) + _biases['hidden'])
# Split data because rnn cell needs a list of inputs for the RNN inner loop
- _X = tf.split(_X, n_steps, 0)
+ _X = tf.split(_X, n_steps, 0)
# new shape: n_steps * (batch_size, n_hidden)
# Define two stacked LSTM cells (two recurrent layers deep) with tensorflow
@@ -281,17 +276,17 @@ def LSTM_RNN(_X, _weights, _biases):
# Get LSTM cell output
outputs, states = tf.contrib.rnn.static_rnn(lstm_cells, _X, dtype=tf.float32)
- # Get last time step's output feature for a "many-to-one" style classifier,
+ # Get last time step's output feature for a "many to one" style classifier,
# as in the image describing RNNs at the top of this page
lstm_last_output = outputs[-1]
-
+
# Linear activation
return tf.matmul(lstm_last_output, _weights['out']) + _biases['out']
def extract_batch_size(_train, step, batch_size):
- # Function to fetch a "batch_size" amount of data from "(X|y)_train" data.
-
+ # Function to fetch a "batch_size" amount of data from "(X|y)_train" data.
+
shape = list(_train.shape)
shape[0] = batch_size
batch_s = np.empty(shape)
@@ -299,19 +294,18 @@ def extract_batch_size(_train, step, batch_size):
for i in range(batch_size):
# Loop index
index = ((step-1)*batch_size + i) % len(_train)
- batch_s[i] = _train[index]
+ batch_s[i] = _train[index]
return batch_s
-def one_hot(y_, n_classes=n_classes):
- # Function to encode neural one-hot output labels from number indexes
- # e.g.:
- # one_hot(y_=[[5], [0], [3]], n_classes=6):
- # return [[0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0]]
-
+def one_hot(y_):
+ # Function to encode output labels from number indexes
+ # e.g.: [[5], [0], [3]] --> [[0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0]]
+
y_ = y_.reshape(len(y_))
- return np.eye(n_classes)[np.array(y_, dtype=np.int32)] # Returns FLOATS
+ n_values = int(np.max(y_)) + 1
+ return np.eye(n_values)[np.array(y_, dtype=np.int32)] # Returns FLOATS
```
@@ -373,24 +367,24 @@ while step * batch_size <= training_iters:
_, loss, acc = sess.run(
[optimizer, cost, accuracy],
feed_dict={
- x: batch_xs,
+ x: batch_xs,
y: batch_ys
}
)
train_losses.append(loss)
train_accuracies.append(acc)
-
- # Evaluate network only at some steps for faster training:
+
+ # Evaluate network only at some steps for faster training:
if (step*batch_size % display_iter == 0) or (step == 1) or (step * batch_size > training_iters):
-
+
# To not spam console, show training accuracy/loss in this "if"
print("Training iter #" + str(step*batch_size) + \
": Batch Loss = " + "{:.6f}".format(loss) + \
", Accuracy = {}".format(acc))
-
+
# Evaluation on the test set (no learning made here - just evaluation for diagnosis)
loss, acc = sess.run(
- [cost, accuracy],
+ [cost, accuracy],
feed_dict={
x: X_test,
y: one_hot(y_test)
@@ -620,7 +614,7 @@ plt.show()
```
-![LSTM Training Testing Comparison Curve](LSTM_files/LSTM_16_0.png)
+![png](LSTM_files/LSTM_16_0.png)
## And finally, the multi-class confusion matrix and metrics!
@@ -650,13 +644,13 @@ print(normalised_confusion_matrix)
print("Note: training and testing data is not equally distributed amongst classes, ")
print("so it is normal that more than a 6th of the data is correctly classifier in the last category.")
-# Plot Results:
+# Plot Results:
width = 12
height = 12
plt.figure(figsize=(width, height))
plt.imshow(
- normalised_confusion_matrix,
- interpolation='nearest',
+ normalised_confusion_matrix,
+ interpolation='nearest',
cmap=plt.cm.rainbow
)
plt.title("Confusion matrix \n(normalised to % of total test data)")
@@ -671,11 +665,11 @@ plt.show()
```
Testing Accuracy: 91.65252447128296%
-
+
Precision: 91.76286479743305%
Recall: 91.65252799457076%
f1_score: 91.6437546304815%
-
+
Confusion Matrix:
[[466 2 26 0 2 0]
[ 5 441 25 0 0 0]
@@ -683,7 +677,7 @@ plt.show()
[ 1 1 0 396 87 6]
[ 2 1 0 87 442 0]
[ 0 0 0 0 0 537]]
-
+
Confusion matrix (normalised to % of total test data):
[[ 15.81269073 0.06786563 0.88225317 0. 0.06786563 0. ]
[ 0.16966406 14.96437073 0.84832031 0. 0. 0. ]
@@ -692,12 +686,12 @@ plt.show()
0.20359688]
[ 0.06786563 0.03393281 0. 2.95215464 14.99830341 0. ]
[ 0. 0. 0. 0. 0. 18.22192001]]
- Note: training and testing data is not equally distributed amongst classes,
+ Note: training and testing data is not equally distributed amongst classes,
so it is normal that more than a 6th of the data is correctly classifier in the last category.
-![Confusion Matrix](LSTM_files/LSTM_18_1.png)
+![png](LSTM_files/LSTM_18_1.png)
@@ -707,76 +701,49 @@ sess.close()
## Conclusion
-Outstandingly, **the final accuracy is of 91%**! And it can peak to values such as 92.73%, at some moments of luck during the training, depending on how the neural network's weights got initialized at the start of the training, randomly.
+Outstandingly, **the final accuracy is of 91%**! And it can peak to values such as 92.73%, at some moments of luck during the training, depending on how the neural network's weights got initialized at the start of the training, randomly.
-This means that the neural networks is almost always able to correctly identify the movement type! Remember, the phone is attached on the waist and each series to classify has just a 128 sample window of two internal sensors (a.k.a. 2.56 seconds at 50 FPS), so it amazes me how those predictions are extremely accurate given this small window of context and raw data. I've validated and re-validated that there is no important bug, and the community used and tried this code a lot. (Note: be sure to report something in the issue tab if you find bugs, otherwise [Quora](https://www.quora.com/), [StackOverflow](https://stackoverflow.com/questions/tagged/tensorflow?sort=votes&pageSize=50), and other [StackExchange](https://stackexchange.com/sites#science) sites are the places for asking questions.)
+This means that the neural networks is almost always able to correctly identify the movement type! Remember, the phone is attached on the waist and each series to classify has just a 128 sample window of two internal sensors (a.k.a. 2.56 seconds at 50 FPS), so those predictions are extremely accurate.
-I specially did not expect such good results for guessing between the labels "SITTING" and "STANDING". Those are seemingly almost the same thing from the point of view of a device placed at waist level according to how the dataset was originally gathered. Thought, it is still possible to see a little cluster on the matrix between those classes, which drifts away just a bit from the identity. This is great.
+I specially did not expect such good results for guessing between "SITTING" and "STANDING". Those are seemingly almost the same thing from the point of view of a device placed at waist level according to how the dataset was gathered. Thought, it is still possible to see a little cluster on the matrix between those classes, which drifts away from the identity. This is great.
-It is also possible to see that there was a slight difficulty in doing the difference between "WALKING", "WALKING_UPSTAIRS" and "WALKING_DOWNSTAIRS". Obviously, those activities are quite similar in terms of movements.
+It is also possible to see that there was a slight difficulty in doing the difference between "WALKING", "WALKING_UPSTAIRS" and "WALKING_DOWNSTAIRS". Obviously, those activities are quite similar in terms of movements.
-I also tried my code without the gyroscope, using only the 3D accelerometer's 6 features (and not changing the training hyperparameters), and got an accuracy of 87%. In general, gyroscopes consumes more power than accelerometers, so it is preferable to turn them off.
+I also tried my code without the gyroscope, using only the two 3D accelerometer's features (and not changing the training hyperparameters), and got an accuracy of 87%. In general, gyroscopes consumes more power than accelerometers, so it is preferable to turn them off.
## Improvements
-In [another open-source repository of mine](https://github.com/guillaume-chevalier/HAR-stacked-residual-bidir-LSTMs), the accuracy is pushed up to nearly 94% using a special deep LSTM architecture which combines the concepts of bidirectional RNNs, residual connections, and stacked cells. This architecture is also tested on another similar activity dataset. It resembles the nice architecture used in "[Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation](https://arxiv.org/pdf/1609.08144.pdf)", without an attention mechanism, and with just the encoder part - as a "many to one" architecture instead of a "many to many" to be adapted to the Human Activity Recognition (HAR) problem. I also worked more on the problem and came up with the [LARNN](https://github.com/guillaume-chevalier/Linear-Attention-Recurrent-Neural-Network), however it's complicated for just a little gain. Thus the current, original activity recognition project is simply better to use for its outstanding simplicity.
+In [another open-source repository of mine](https://github.com/guillaume-chevalier/HAR-stacked-residual-bidir-LSTMs), the accuracy is pushed up to 94% using a special deep LSTM architecture which combines the concepts of bidirectional RNNs, residual connections and stacked cells. This architecture is also tested on another similar activity dataset. It resembles to the architecture used in "[Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation](https://arxiv.org/pdf/1609.08144.pdf)" without an attention mechanism and with just the encoder part - still as a "many to one" architecture which is adapted to the Human Activity Recognition (HAR) problem.
+
+If you want to learn more about deep learning, I have also built a list of the learning ressources for deep learning which have revealed to be the most useful to me [here](https://github.com/guillaume-chevalier/awesome-deep-learning-resources). You could as well learn to [learn to learn by gradient descent by gradient descent](https://arxiv.org/pdf/1606.04474.pdf) (not for the faint of heart). Ok, I pushed the joke deep enough...
-If you want to learn more about deep learning, I have also built a list of the learning ressources for deep learning which have revealed to be the most useful to me [here](https://github.com/guillaume-chevalier/Awesome-Deep-Learning-Resources).
+## Checkpoint
+The checkpoint will save the best model weights according to the validation loss. In other words, weights in a step would be saved only if the validation loss evaluated would be least out of all the steps done before.
## References
-The [dataset](https://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones) can be found on the UCI Machine Learning Repository:
+The [dataset](https://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones) can be found on the UCI Machine Learning Repository.
> Davide Anguita, Alessandro Ghio, Luca Oneto, Xavier Parra and Jorge L. Reyes-Ortiz. A Public Domain Dataset for Human Activity Recognition Using Smartphones. 21th European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning, ESANN 2013. Bruges, Belgium 24-26 April 2013.
-The RNN image for "many-to-one" is taken from Karpathy's post:
-
-> Andrej Karpathy, The Unreasonable Effectiveness of Recurrent Neural Networks, 2015,
-> http://karpathy.github.io/2015/05/21/rnn-effectiveness/
-
-## Citation
-
-Copyright (c) 2016 Guillaume Chevalier. To cite my code, you can point to the URL of the GitHub repository, for example:
-
-> Guillaume Chevalier, LSTMs for Human Activity Recognition, 2016,
+To cite my work, point to the URL of the GitHub repository:
+> Guillaume Chevalier, LSTMs for Human Activity Recognition, 2016
> https://github.com/guillaume-chevalier/LSTM-Human-Activity-Recognition
-My code is available for free and even for private usage for anyone under the [MIT License](https://github.com/guillaume-chevalier/LSTM-Human-Activity-Recognition/blob/master/LICENSE), however I ask to cite for using the code.
-
-## Extra links
-
-### Connect with me
+My code is available under the [MIT License](https://github.com/guillaume-chevalier/LSTM-Human-Activity-Recognition/blob/master/LICENSE).
-- [LinkedIn](https://ca.linkedin.com/in/chevalierg)
-- [Twitter](https://twitter.com/guillaume_che)
-- [GitHub](https://github.com/guillaume-chevalier/)
-- [Quora](https://www.quora.com/profile/Guillaume-Chevalier-2)
-- [YouTube](https://www.youtube.com/c/GuillaumeChevalier)
-- [Dev/Consulting](http://www.neuraxio.com/en/)
+## Connect with me
-### Liked this project? Did it help you? Leave a [star](https://github.com/guillaume-chevalier/LSTM-Human-Activity-Recognition/stargazers), [fork](https://github.com/guillaume-chevalier/LSTM-Human-Activity-Recognition/network/members) and share the love!
-
-This activity recognition project has been seen in:
-
-- [Hacker News 1st page](https://news.ycombinator.com/item?id=13049143)
-- [Awesome TensorFlow](https://github.com/jtoy/awesome-tensorflow#tutorials)
-- [TensorFlow World](https://github.com/astorfi/TensorFlow-World#some-useful-tutorials)
-- And more.
-
----
+- https://ca.linkedin.com/in/chevalierg
+- https://twitter.com/guillaume_che
+- https://github.com/guillaume-chevalier/
```python
-# Let's convert this notebook to a README automatically for the GitHub project's title page:
+# Let's convert this notebook to a README for the GitHub project's title page:
!jupyter nbconvert --to markdown LSTM.ipynb
!mv LSTM.md README.md
```
-
- [NbConvertApp] Converting notebook LSTM.ipynb to markdown
- [NbConvertApp] Support files will be in LSTM_files/
- [NbConvertApp] Making directory LSTM_files
- [NbConvertApp] Making directory LSTM_files
- [NbConvertApp] Writing 38654 bytes to LSTM.md
diff --git a/checkpoints/checkpoint b/checkpoints/checkpoint
new file mode 100644
index 0000000..5557995
--- /dev/null
+++ b/checkpoints/checkpoint
@@ -0,0 +1,2 @@
+model_checkpoint_path: "my_model"
+all_model_checkpoint_paths: "my_model"
diff --git a/checkpoints/my_model.data-00000-of-00001 b/checkpoints/my_model.data-00000-of-00001
new file mode 100644
index 0000000000000000000000000000000000000000..c7bb197cbec8eac19732dfca65acc03cf606d2a0
GIT binary patch
literal 205904
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