From e3b2f5aa133fff581e1dd662a6f8c46ada50cdf2 Mon Sep 17 00:00:00 2001
From: "Jean-Luc Parouty Jean-Luc.Parouty@simap.grenoble-inp.fr"
 <paroutyj@f-dahu.u-ga.fr>
Date: Fri, 31 Jan 2020 12:45:51 +0100
Subject: [PATCH] Update LSTM

Former-commit-id: 3e5e007d7909ab1fb8b064db23825fd2af3601d8
---
 IMDB/.~03-LSTM-Keras.ipynb    | 679 ++++++++++++++++++++++++++++++++++
 IMDB/01-Embedding-Keras.ipynb | 105 +-----
 IMDB/03-LSTM-Keras.ipynb      | 440 ----------------------
 3 files changed, 691 insertions(+), 533 deletions(-)
 create mode 100644 IMDB/.~03-LSTM-Keras.ipynb

diff --git a/IMDB/.~03-LSTM-Keras.ipynb b/IMDB/.~03-LSTM-Keras.ipynb
new file mode 100644
index 0000000..db8bfb1
--- /dev/null
+++ b/IMDB/.~03-LSTM-Keras.ipynb
@@ -0,0 +1,679 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Text Embedding - IMDB dataset\n",
+    "=============================\n",
+    "---\n",
+    "Introduction au Deep Learning  (IDLE) - S. Arias, E. Maldonado, JL. Parouty - CNRS/SARI/DEVLOG - 2020  \n",
+    "\n",
+    "## Text classification using **Text embedding** :\n",
+    "\n",
+    "The objective is to guess whether film reviews are **positive or negative** based on the analysis of the text. \n",
+    "\n",
+    "Original dataset can be find **[there](http://ai.stanford.edu/~amaas/data/sentiment/)**  \n",
+    "Note that [IMDb.com](https://imdb.com) offers several easy-to-use [datasets](https://www.imdb.com/interfaces/)  \n",
+    "For simplicity's sake, we'll use the dataset directly [embedded in Keras](https://www.tensorflow.org/api_docs/python/tf/keras/datasets)\n",
+    "\n",
+    "What we're going to do:\n",
+    "\n",
+    " - Retrieve data\n",
+    " - Preparing the data\n",
+    " - Build a model\n",
+    " - Train the model\n",
+    " - Evaluate the result\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Step 1 - Init python stuff"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "IDLE 2020 - Practical Work Module\n",
+      "  Version            : 0.2.4\n",
+      "  Run time           : Wednesday 29 January 2020, 13:22:54\n",
+      "  Matplotlib style   : fidle/talk.mplstyle\n",
+      "  TensorFlow version : 2.0.0\n",
+      "  Keras version      : 2.2.4-tf\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "import tensorflow as tf\n",
+    "import tensorflow.keras as keras\n",
+    "import tensorflow.keras.datasets.imdb as imdb\n",
+    "\n",
+    "import matplotlib.pyplot as plt\n",
+    "import matplotlib\n",
+    "import seaborn as sns\n",
+    "\n",
+    "import os,h5py,json\n",
+    "\n",
+    "import fidle.pwk as ooo\n",
+    "from importlib import reload\n",
+    "\n",
+    "ooo.init()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Step 2 - Retrieve data\n",
+    "\n",
+    "**From Keras :**\n",
+    "This IMDb dataset can bet get directly from [Keras datasets](https://www.tensorflow.org/api_docs/python/tf/keras/datasets)  \n",
+    "\n",
+    "Due to their nature, textual data can be somewhat complex.\n",
+    "\n",
+    "### 2.1 - Data structure :  \n",
+    "The dataset is composed of 2 parts: **reviews** and **opinions** (positive/negative),  with a **dictionary**\n",
+    "\n",
+    "  - dataset = (reviews, opinions)\n",
+    "    - reviews = \\[ review_0, review_1, ...\\]\n",
+    "      - review_i = [ int1, int2, ...] where int_i is the index of the word in the dictionary.\n",
+    "    - opinions = \\[ int0, int1, ...\\] where int_j == 0 if opinion is negative or 1 if opinion is positive.\n",
+    "  - dictionary = \\[ mot1:int1, mot2:int2, ... ]"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### 2.2 - Get dataset\n",
+    "For simplicity, we will use a pre-formatted dataset.  \n",
+    "See : https://www.tensorflow.org/api_docs/python/tf/keras/datasets/imdb/load_data  \n",
+    "\n",
+    "However, Keras offers some usefull tools for formatting textual data.  \n",
+    "See : https://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/text"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "vocab_size = 10000\n",
+    "\n",
+    "# ----- Retrieve x,y\n",
+    "#\n",
+    "(x_train, y_train), (x_test, y_test) = imdb.load_data( num_words  = vocab_size,\n",
+    "                                                       skip_top   = 0,\n",
+    "                                                       maxlen     = None,\n",
+    "                                                       seed       = 42,\n",
+    "                                                       start_char = 1,\n",
+    "                                                       oov_char   = 2,\n",
+    "                                                       index_from = 3, )"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "  Max(x_train,x_test)  :  9999\n",
+      "  x_train : (25000,)  y_train : (25000,)\n",
+      "  x_test  : (25000,)  y_test  : (25000,)\n",
+      "\n",
+      "Review example (x_train[12]) :\n",
+      "\n",
+      " [1, 14, 22, 1367, 53, 206, 159, 4, 636, 898, 74, 26, 11, 436, 363, 108, 7, 14, 432, 14, 22, 9, 1055, 34, 8599, 2, 5, 381, 3705, 4509, 14, 768, 47, 839, 25, 111, 1517, 2579, 1991, 438, 2663, 587, 4, 280, 725, 6, 58, 11, 2714, 201, 4, 206, 16, 702, 5, 5176, 19, 480, 5920, 157, 13, 64, 219, 4, 2, 11, 107, 665, 1212, 39, 4, 206, 4, 65, 410, 16, 565, 5, 24, 43, 343, 17, 5602, 8, 169, 101, 85, 206, 108, 8, 3008, 14, 25, 215, 168, 18, 6, 2579, 1991, 438, 2, 11, 129, 1609, 36, 26, 66, 290, 3303, 46, 5, 633, 115, 4363]\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(\"  Max(x_train,x_test)  : \", ooo.rmax([x_train,x_test]) )\n",
+    "print(\"  x_train : {}  y_train : {}\".format(x_train.shape, y_train.shape))\n",
+    "print(\"  x_test  : {}  y_test  : {}\".format(x_test.shape,  y_test.shape))\n",
+    "\n",
+    "print('\\nReview example (x_train[12]) :\\n\\n',x_train[12])"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### 2.3 - Have a look for humans (optional)\n",
+    "When we loaded the dataset, we asked for using \\<start\\> as 1, \\<unknown word\\> as 2  \n",
+    "So, we shifted the dataset by 3 with the parameter index_from=3"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# ---- Retrieve dictionary {word:index}, and encode it in ascii\n",
+    "\n",
+    "word_index = imdb.get_word_index()\n",
+    "\n",
+    "# ---- Shift the dictionary from +3\n",
+    "\n",
+    "word_index = {w:(i+3) for w,i in word_index.items()}\n",
+    "\n",
+    "# ---- Add <pad>, <start> and unknown tags\n",
+    "\n",
+    "word_index.update( {'<pad>':0, '<start>':1, '<unknown>':2} )\n",
+    "\n",
+    "# ---- Create a reverse dictionary : {index:word}\n",
+    "\n",
+    "index_word = {index:word for word,index in word_index.items()} \n",
+    "\n",
+    "# ---- Add a nice function to transpose :\n",
+    "#\n",
+    "def dataset2text(review):\n",
+    "    return ' '.join([index_word.get(i, '?') for i in review])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Dictionary size     :  88587\n",
+      "\n",
+      "Review example (x_train[12]) :\n",
+      "\n",
+      " [1, 14, 22, 1367, 53, 206, 159, 4, 636, 898, 74, 26, 11, 436, 363, 108, 7, 14, 432, 14, 22, 9, 1055, 34, 8599, 2, 5, 381, 3705, 4509, 14, 768, 47, 839, 25, 111, 1517, 2579, 1991, 438, 2663, 587, 4, 280, 725, 6, 58, 11, 2714, 201, 4, 206, 16, 702, 5, 5176, 19, 480, 5920, 157, 13, 64, 219, 4, 2, 11, 107, 665, 1212, 39, 4, 206, 4, 65, 410, 16, 565, 5, 24, 43, 343, 17, 5602, 8, 169, 101, 85, 206, 108, 8, 3008, 14, 25, 215, 168, 18, 6, 2579, 1991, 438, 2, 11, 129, 1609, 36, 26, 66, 290, 3303, 46, 5, 633, 115, 4363]\n",
+      "\n",
+      "In real words :\n",
+      "\n",
+      " <start> this film contains more action before the opening credits than are in entire hollywood films of this sort this film is produced by tsui <unknown> and stars jet li this team has brought you many worthy hong kong cinema productions including the once upon a time in china series the action was fast and furious with amazing wire work i only saw the <unknown> in two shots aside from the action the story itself was strong and not just used as filler to find any other action films to rival this you must look for a hong kong cinema <unknown> in your area they are really worth checking out and usually never disappoint\n"
+     ]
+    }
+   ],
+   "source": [
+    "print('\\nDictionary size     : ', len(word_index))\n",
+    "print('\\nReview example (x_train[12]) :\\n\\n',x_train[12])\n",
+    "print('\\nIn real words :\\n\\n', dataset2text(x_train[12]))"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### 2.4 - Have a look for neurons"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 864x432 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "plt.figure(figsize=(12, 6))\n",
+    "ax=sns.distplot([len(i) for i in x_train],bins=60)\n",
+    "ax.set_title('Distribution of reviews by size')\n",
+    "plt.xlabel(\"Review's sizes\")\n",
+    "plt.ylabel('Density')\n",
+    "ax.set_xlim(0, 1500)\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Step 3 - Preprocess the data\n",
+    "In order to be processed by an NN, all entries must have the same length.  \n",
+    "We chose a review length of **review_len**  \n",
+    "We will therefore complete them with a padding (of \\<pad\\>\\)  "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Review example (x_train[12]) :\n",
+      "\n",
+      " [   1   14   22 1367   53  206  159    4  636  898   74   26   11  436\n",
+      "  363  108    7   14  432   14   22    9 1055   34 8599    2    5  381\n",
+      " 3705 4509   14  768   47  839   25  111 1517 2579 1991  438 2663  587\n",
+      "    4  280  725    6   58   11 2714  201    4  206   16  702    5 5176\n",
+      "   19  480 5920  157   13   64  219    4    2   11  107  665 1212   39\n",
+      "    4  206    4   65  410   16  565    5   24   43  343   17 5602    8\n",
+      "  169  101   85  206  108    8 3008   14   25  215  168   18    6 2579\n",
+      " 1991  438    2   11  129 1609   36   26   66  290 3303   46    5  633\n",
+      "  115 4363    0    0    0    0    0    0    0    0    0    0    0    0\n",
+      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
+      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
+      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
+      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
+      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
+      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
+      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
+      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
+      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
+      "    0    0    0    0]\n",
+      "\n",
+      "In real words :\n",
+      "\n",
+      " <start> this film contains more action before the opening credits than are in entire hollywood films of this sort this film is produced by tsui <unknown> and stars jet li this team has brought you many worthy hong kong cinema productions including the once upon a time in china series the action was fast and furious with amazing wire work i only saw the <unknown> in two shots aside from the action the story itself was strong and not just used as filler to find any other action films to rival this you must look for a hong kong cinema <unknown> in your area they are really worth checking out and usually never disappoint <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad>\n"
+     ]
+    }
+   ],
+   "source": [
+    "review_len = 256\n",
+    "\n",
+    "x_train = keras.preprocessing.sequence.pad_sequences(x_train,\n",
+    "                                                     value   = 0,\n",
+    "                                                     padding = 'post',\n",
+    "                                                     maxlen  = review_len)\n",
+    "\n",
+    "x_test  = keras.preprocessing.sequence.pad_sequences(x_test,\n",
+    "                                                     value   = 0 ,\n",
+    "                                                     padding = 'post',\n",
+    "                                                     maxlen  = review_len)\n",
+    "\n",
+    "print('\\nReview example (x_train[12]) :\\n\\n',x_train[12])\n",
+    "print('\\nIn real words :\\n\\n', dataset2text(x_train[12]))"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Save dataset and dictionary (can be usefull)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Saved.\n"
+     ]
+    }
+   ],
+   "source": [
+    "os.makedirs('./data',   mode=0o750, exist_ok=True)\n",
+    "\n",
+    "with h5py.File('./data/dataset_imdb.h5', 'w') as f:\n",
+    "    f.create_dataset(\"x_train\",    data=x_train)\n",
+    "    f.create_dataset(\"y_train\",    data=y_train)\n",
+    "    f.create_dataset(\"x_test\",     data=x_test)\n",
+    "    f.create_dataset(\"y_test\",     data=y_test)\n",
+    "\n",
+    "with open('./data/word_index.json', 'w') as fp:\n",
+    "    json.dump(word_index, fp)\n",
+    "\n",
+    "with open('./data/index_word.json', 'w') as fp:\n",
+    "    json.dump(index_word, fp)\n",
+    "\n",
+    "print('Saved.')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Step 4 - Build the model\n",
+    "Few remarks :\n",
+    "1. We'll choose a dense vector size for the embedding output with **dense_vector_size**\n",
+    "2. **GlobalAveragePooling1D** do a pooling on the last dimension : (None, lx, ly) -> (None, ly)  \n",
+    "In other words: we average the set of vectors/words of a sentence\n",
+    "3. L'embedding de Keras fonctionne de manière supervisée. Il s'agit d'une couche de *vocab_size* neurones vers *n_neurons* permettant de maintenir une table de vecteurs (les poids constituent les vecteurs). Cette couche ne calcule pas de sortie a la façon des couches normales, mais renvois la valeur des vecteurs. n mots => n vecteurs (ensuite empilés par le pooling)  \n",
+    "Voir : https://stats.stackexchange.com/questions/324992/how-the-embedding-layer-is-trained-in-keras-embedding-layer\n",
+    "\n",
+    "A SUIVRE : https://www.liip.ch/en/blog/sentiment-detection-with-keras-word-embeddings-and-lstm-deep-learning-networks\n",
+    "### 4.1 - Build\n",
+    "More documentation about :\n",
+    " - [Embedding](https://www.tensorflow.org/api_docs/python/tf/keras/layers/Embedding)\n",
+    " - [GlobalAveragePooling1D](https://www.tensorflow.org/api_docs/python/tf/keras/layers/GlobalAveragePooling1D)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def get_model(dense_vector_size=128):\n",
+    "    \n",
+    "    model = keras.Sequential()\n",
+    "    model.add(keras.layers.Embedding(input_dim    = vocab_size, \n",
+    "                                     output_dim   = dense_vector_size, \n",
+    "                                     input_length = review_len))\n",
+    "    model.add(keras.layers.LSTM(128, dropout=0.2, recurrent_dropout=0.2))\n",
+    "    model.add(keras.layers.Dense(1,                 activation='sigmoid'))\n",
+    "\n",
+    "    model.compile(optimizer = 'adam',\n",
+    "                  loss      = 'binary_crossentropy',\n",
+    "                  metrics   = ['accuracy'])\n",
+    "    return model"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Step 5 - Train the model\n",
+    "### 5.1 - Get it"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Model: \"sequential_1\"\n",
+      "_________________________________________________________________\n",
+      "Layer (type)                 Output Shape              Param #   \n",
+      "=================================================================\n",
+      "embedding_1 (Embedding)      (None, 256, 128)          1280000   \n",
+      "_________________________________________________________________\n",
+      "lstm_1 (LSTM)                (None, 128)               131584    \n",
+      "_________________________________________________________________\n",
+      "dense_1 (Dense)              (None, 1)                 129       \n",
+      "=================================================================\n",
+      "Total params: 1,411,713\n",
+      "Trainable params: 1,411,713\n",
+      "Non-trainable params: 0\n",
+      "_________________________________________________________________\n"
+     ]
+    }
+   ],
+   "source": [
+    "model = get_model()\n",
+    "\n",
+    "model.summary()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### 5.2 - Add callback"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "os.makedirs('./run/models',   mode=0o750, exist_ok=True)\n",
+    "save_dir = \"./run/models/best_model.h5\"\n",
+    "savemodel_callback = tf.keras.callbacks.ModelCheckpoint(filepath=save_dir, verbose=0, save_best_only=True)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### 5.1 - Train it\n",
+    "GPU : batch_size=512 : 305s"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Train on 25000 samples, validate on 25000 samples\n",
+      "Epoch 1/10\n",
+      "25000/25000 [==============================] - 206s 8ms/sample - loss: 0.6684 - accuracy: 0.5654 - val_loss: 0.6667 - val_accuracy: 0.5606\n",
+      "Epoch 2/10\n",
+      " 9120/25000 [=========>....................] - ETA: 1:42 - loss: 0.6228 - accuracy: 0.5968"
+     ]
+    }
+   ],
+   "source": [
+    "%%time\n",
+    "\n",
+    "n_epochs   = 10\n",
+    "batch_size = 32\n",
+    "\n",
+    "history = model.fit(x_train,\n",
+    "                    y_train,\n",
+    "                    epochs          = n_epochs,\n",
+    "                    batch_size      = batch_size,\n",
+    "                    validation_data = (x_test, y_test),\n",
+    "                    verbose         = 1,\n",
+    "                    callbacks       = [savemodel_callback])\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Step 6 - Evaluate\n",
+    "### 6.1 - Training history"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 576x432 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 576x432 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "ooo.plot_history(history)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### 6.2 - Reload and evaluate best model"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "x_test / loss      : 0.4452\n",
+      "x_test / accuracy  : 0.8282\n"
+     ]
+    },
+    {
+     "data": {
+      "text/markdown": [
+       "#### Accuracy donut is :"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Markdown object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x432 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/markdown": [
+       "#### Confusion matrix is :"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Markdown object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<style  type=\"text/css\" >\n",
+       "    #T_7ebbbdc8_4293_11ea_ab68_4df1eb20668drow0_col0 {\n",
+       "            background-color:  #ffa500;\n",
+       "            color:  #000000;\n",
+       "            font-size:  20pt;\n",
+       "        }    #T_7ebbbdc8_4293_11ea_ab68_4df1eb20668drow0_col1 {\n",
+       "            background-color:  #fff6e5;\n",
+       "            color:  #000000;\n",
+       "            font-size:  20pt;\n",
+       "        }    #T_7ebbbdc8_4293_11ea_ab68_4df1eb20668drow1_col0 {\n",
+       "            background-color:  #fff6e5;\n",
+       "            color:  #000000;\n",
+       "            font-size:  20pt;\n",
+       "        }    #T_7ebbbdc8_4293_11ea_ab68_4df1eb20668drow1_col1 {\n",
+       "            background-color:  #ffa500;\n",
+       "            color:  #000000;\n",
+       "            font-size:  20pt;\n",
+       "        }</style><table id=\"T_7ebbbdc8_4293_11ea_ab68_4df1eb20668d\" ><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >0</th>        <th class=\"col_heading level0 col1\" >1</th>    </tr></thead><tbody>\n",
+       "                <tr>\n",
+       "                        <th id=\"T_7ebbbdc8_4293_11ea_ab68_4df1eb20668dlevel0_row0\" class=\"row_heading level0 row0\" >0</th>\n",
+       "                        <td id=\"T_7ebbbdc8_4293_11ea_ab68_4df1eb20668drow0_col0\" class=\"data row0 col0\" >0.81</td>\n",
+       "                        <td id=\"T_7ebbbdc8_4293_11ea_ab68_4df1eb20668drow0_col1\" class=\"data row0 col1\" >0.19</td>\n",
+       "            </tr>\n",
+       "            <tr>\n",
+       "                        <th id=\"T_7ebbbdc8_4293_11ea_ab68_4df1eb20668dlevel0_row1\" class=\"row_heading level0 row1\" >1</th>\n",
+       "                        <td id=\"T_7ebbbdc8_4293_11ea_ab68_4df1eb20668drow1_col0\" class=\"data row1 col0\" >0.15</td>\n",
+       "                        <td id=\"T_7ebbbdc8_4293_11ea_ab68_4df1eb20668drow1_col1\" class=\"data row1 col1\" >0.85</td>\n",
+       "            </tr>\n",
+       "    </tbody></table>"
+      ],
+      "text/plain": [
+       "<pandas.io.formats.style.Styler at 0x7f879daa7750>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "model = keras.models.load_model('./run/models/best_model.h5')\n",
+    "\n",
+    "# ---- Evaluate\n",
+    "reload(ooo)\n",
+    "score  = model.evaluate(x_test, y_test, verbose=0)\n",
+    "\n",
+    "print('x_test / loss      : {:5.4f}'.format(score[0]))\n",
+    "print('x_test / accuracy  : {:5.4f}'.format(score[1]))\n",
+    "\n",
+    "values=[score[1], 1-score[1]]\n",
+    "ooo.plot_donut(values,[\"Accuracy\",\"Errors\"], title=\"#### Accuracy donut is :\")\n",
+    "\n",
+    "# ---- Confusion matrix\n",
+    "\n",
+    "y_pred   = model.predict_classes(x_test)\n",
+    "\n",
+    "ooo.display_confusion_matrix(y_test,y_pred,labels=range(2),color='orange',font_size='20pt')\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/IMDB/01-Embedding-Keras.ipynb b/IMDB/01-Embedding-Keras.ipynb
index 1d5df5e..b5cd9d3 100644
--- a/IMDB/01-Embedding-Keras.ipynb
+++ b/IMDB/01-Embedding-Keras.ipynb
@@ -44,7 +44,7 @@
      "text": [
       "IDLE 2020 - Practical Work Module\n",
       "  Version            : 0.2.4\n",
-      "  Run time           : Monday 27 January 2020, 22:38:12\n",
+      "  Run time           : Monday 27 January 2020, 23:33:47\n",
       "  Matplotlib style   : fidle/talk.mplstyle\n",
       "  TensorFlow version : 2.0.0\n",
       "  Keras version      : 2.2.4-tf\n"
@@ -403,32 +403,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Model: \"sequential\"\n",
-      "_________________________________________________________________\n",
-      "Layer (type)                 Output Shape              Param #   \n",
-      "=================================================================\n",
-      "embedding (Embedding)        (None, 256, 32)           320000    \n",
-      "_________________________________________________________________\n",
-      "global_average_pooling1d (Gl (None, 32)                0         \n",
-      "_________________________________________________________________\n",
-      "dense (Dense)                (None, 32)                1056      \n",
-      "_________________________________________________________________\n",
-      "dense_1 (Dense)              (None, 1)                 33        \n",
-      "=================================================================\n",
-      "Total params: 321,089\n",
-      "Trainable params: 321,089\n",
-      "Non-trainable params: 0\n",
-      "_________________________________________________________________\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "model = get_model(32)\n",
     "\n",
@@ -462,76 +439,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 10,
    "metadata": {},
    "outputs": [
     {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Train on 25000 samples, validate on 25000 samples\n",
-      "Epoch 1/30\n",
-      "25000/25000 [==============================] - 2s 62us/sample - loss: 0.6889 - accuracy: 0.5997 - val_loss: 0.6801 - val_accuracy: 0.7119\n",
-      "Epoch 2/30\n",
-      "25000/25000 [==============================] - 1s 31us/sample - loss: 0.6539 - accuracy: 0.7605 - val_loss: 0.6206 - val_accuracy: 0.7505\n",
-      "Epoch 3/30\n",
-      "25000/25000 [==============================] - 1s 31us/sample - loss: 0.5606 - accuracy: 0.8069 - val_loss: 0.5124 - val_accuracy: 0.8144\n",
-      "Epoch 4/30\n",
-      "25000/25000 [==============================] - 1s 30us/sample - loss: 0.4439 - accuracy: 0.8508 - val_loss: 0.4171 - val_accuracy: 0.8472\n",
-      "Epoch 5/30\n",
-      "25000/25000 [==============================] - 1s 31us/sample - loss: 0.3577 - accuracy: 0.8750 - val_loss: 0.3616 - val_accuracy: 0.8614\n",
-      "Epoch 6/30\n",
-      "25000/25000 [==============================] - 1s 31us/sample - loss: 0.3053 - accuracy: 0.8904 - val_loss: 0.3297 - val_accuracy: 0.8683\n",
-      "Epoch 7/30\n",
-      "25000/25000 [==============================] - 1s 31us/sample - loss: 0.2697 - accuracy: 0.9019 - val_loss: 0.3115 - val_accuracy: 0.8736\n",
-      "Epoch 8/30\n",
-      "25000/25000 [==============================] - 1s 30us/sample - loss: 0.2441 - accuracy: 0.9113 - val_loss: 0.2999 - val_accuracy: 0.8768\n",
-      "Epoch 9/30\n",
-      "25000/25000 [==============================] - 1s 30us/sample - loss: 0.2235 - accuracy: 0.9193 - val_loss: 0.2926 - val_accuracy: 0.8797\n",
-      "Epoch 10/30\n",
-      "25000/25000 [==============================] - 1s 30us/sample - loss: 0.2069 - accuracy: 0.9260 - val_loss: 0.2889 - val_accuracy: 0.8823\n",
-      "Epoch 11/30\n",
-      "25000/25000 [==============================] - 1s 30us/sample - loss: 0.1922 - accuracy: 0.9318 - val_loss: 0.2869 - val_accuracy: 0.8834\n",
-      "Epoch 12/30\n",
-      "25000/25000 [==============================] - 1s 29us/sample - loss: 0.1799 - accuracy: 0.9368 - val_loss: 0.2901 - val_accuracy: 0.8822\n",
-      "Epoch 13/30\n",
-      "25000/25000 [==============================] - 1s 29us/sample - loss: 0.1693 - accuracy: 0.9406 - val_loss: 0.2905 - val_accuracy: 0.8809\n",
-      "Epoch 14/30\n",
-      "25000/25000 [==============================] - 1s 29us/sample - loss: 0.1596 - accuracy: 0.9451 - val_loss: 0.2918 - val_accuracy: 0.8826\n",
-      "Epoch 15/30\n",
-      "25000/25000 [==============================] - 1s 30us/sample - loss: 0.1502 - accuracy: 0.9492 - val_loss: 0.2994 - val_accuracy: 0.8790\n",
-      "Epoch 16/30\n",
-      "25000/25000 [==============================] - 1s 30us/sample - loss: 0.1422 - accuracy: 0.9526 - val_loss: 0.3014 - val_accuracy: 0.8800\n",
-      "Epoch 17/30\n",
-      "25000/25000 [==============================] - 1s 29us/sample - loss: 0.1342 - accuracy: 0.9551 - val_loss: 0.3079 - val_accuracy: 0.8788\n",
-      "Epoch 18/30\n",
-      "25000/25000 [==============================] - 1s 29us/sample - loss: 0.1276 - accuracy: 0.9582 - val_loss: 0.3154 - val_accuracy: 0.8771\n",
-      "Epoch 19/30\n",
-      "25000/25000 [==============================] - 1s 29us/sample - loss: 0.1207 - accuracy: 0.9611 - val_loss: 0.3205 - val_accuracy: 0.8779\n",
-      "Epoch 20/30\n",
-      "25000/25000 [==============================] - 1s 29us/sample - loss: 0.1146 - accuracy: 0.9636 - val_loss: 0.3294 - val_accuracy: 0.8745\n",
-      "Epoch 21/30\n",
-      "25000/25000 [==============================] - 1s 29us/sample - loss: 0.1093 - accuracy: 0.9658 - val_loss: 0.3361 - val_accuracy: 0.8749\n",
-      "Epoch 22/30\n",
-      "25000/25000 [==============================] - 1s 30us/sample - loss: 0.1036 - accuracy: 0.9683 - val_loss: 0.3463 - val_accuracy: 0.8710\n",
-      "Epoch 23/30\n",
-      "25000/25000 [==============================] - 1s 30us/sample - loss: 0.0993 - accuracy: 0.9702 - val_loss: 0.3546 - val_accuracy: 0.8722\n",
-      "Epoch 24/30\n",
-      "25000/25000 [==============================] - 1s 29us/sample - loss: 0.0941 - accuracy: 0.9718 - val_loss: 0.3643 - val_accuracy: 0.8704\n",
-      "Epoch 25/30\n",
-      "25000/25000 [==============================] - 1s 31us/sample - loss: 0.0891 - accuracy: 0.9749 - val_loss: 0.3783 - val_accuracy: 0.8669\n",
-      "Epoch 26/30\n",
-      "25000/25000 [==============================] - 1s 30us/sample - loss: 0.0850 - accuracy: 0.9761 - val_loss: 0.3877 - val_accuracy: 0.8680\n",
-      "Epoch 27/30\n",
-      "25000/25000 [==============================] - 1s 29us/sample - loss: 0.0807 - accuracy: 0.9772 - val_loss: 0.4038 - val_accuracy: 0.8640\n",
-      "Epoch 28/30\n",
-      "25000/25000 [==============================] - 1s 29us/sample - loss: 0.0774 - accuracy: 0.9791 - val_loss: 0.4123 - val_accuracy: 0.8642\n",
-      "Epoch 29/30\n",
-      "25000/25000 [==============================] - 1s 30us/sample - loss: 0.0733 - accuracy: 0.9811 - val_loss: 0.4195 - val_accuracy: 0.8640\n",
-      "Epoch 30/30\n",
-      "25000/25000 [==============================] - 1s 29us/sample - loss: 0.0693 - accuracy: 0.9823 - val_loss: 0.4328 - val_accuracy: 0.8625\n",
-      "CPU times: user 1min 35s, sys: 4.22 s, total: 1min 39s\n",
-      "Wall time: 23.2 s\n"
+     "ename": "NameError",
+     "evalue": "name 'model' is not defined",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
+      "\u001b[0;32m<timed exec>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n",
+      "\u001b[0;31mNameError\u001b[0m: name 'model' is not defined"
      ]
     }
    ],
diff --git a/IMDB/03-LSTM-Keras.ipynb b/IMDB/03-LSTM-Keras.ipynb
index 2f9dadc..e69de29 100644
--- a/IMDB/03-LSTM-Keras.ipynb
+++ b/IMDB/03-LSTM-Keras.ipynb
@@ -1,440 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Text Embedding - IMDB dataset\n",
-    "=============================\n",
-    "---\n",
-    "Introduction au Deep Learning  (IDLE) - S. Arias, E. Maldonado, JL. Parouty - CNRS/SARI/DEVLOG - 2020  \n",
-    "\n",
-    "## Text classification using **Text embedding** :\n",
-    "\n",
-    "The objective is to guess whether film reviews are **positive or negative** based on the analysis of the text. \n",
-    "\n",
-    "Original dataset can be find **[there](http://ai.stanford.edu/~amaas/data/sentiment/)**  \n",
-    "Note that [IMDb.com](https://imdb.com) offers several easy-to-use [datasets](https://www.imdb.com/interfaces/)  \n",
-    "For simplicity's sake, we'll use the dataset directly [embedded in Keras](https://www.tensorflow.org/api_docs/python/tf/keras/datasets)\n",
-    "\n",
-    "What we're going to do:\n",
-    "\n",
-    " - Retrieve data\n",
-    " - Preparing the data\n",
-    " - Build a model\n",
-    " - Train the model\n",
-    " - Evaluate the result\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Step 1 - Init python stuff"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import numpy as np\n",
-    "\n",
-    "import tensorflow as tf\n",
-    "import tensorflow.keras as keras\n",
-    "import tensorflow.keras.datasets.imdb as imdb\n",
-    "\n",
-    "import matplotlib.pyplot as plt\n",
-    "import matplotlib\n",
-    "import seaborn as sns\n",
-    "\n",
-    "import os,h5py,json\n",
-    "\n",
-    "import fidle.pwk as ooo\n",
-    "from importlib import reload\n",
-    "\n",
-    "ooo.init()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Step 2 - Retrieve data\n",
-    "\n",
-    "**From Keras :**\n",
-    "This IMDb dataset can bet get directly from [Keras datasets](https://www.tensorflow.org/api_docs/python/tf/keras/datasets)  \n",
-    "\n",
-    "Due to their nature, textual data can be somewhat complex.\n",
-    "\n",
-    "### 2.1 - Data structure :  \n",
-    "The dataset is composed of 2 parts: **reviews** and **opinions** (positive/negative),  with a **dictionary**\n",
-    "\n",
-    "  - dataset = (reviews, opinions)\n",
-    "    - reviews = \\[ review_0, review_1, ...\\]\n",
-    "      - review_i = [ int1, int2, ...] where int_i is the index of the word in the dictionary.\n",
-    "    - opinions = \\[ int0, int1, ...\\] where int_j == 0 if opinion is negative or 1 if opinion is positive.\n",
-    "  - dictionary = \\[ mot1:int1, mot2:int2, ... ]"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### 2.2 - Get dataset\n",
-    "For simplicity, we will use a pre-formatted dataset.  \n",
-    "See : https://www.tensorflow.org/api_docs/python/tf/keras/datasets/imdb/load_data  \n",
-    "\n",
-    "However, Keras offers some usefull tools for formatting textual data.  \n",
-    "See : https://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/text"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "vocab_size = 10000\n",
-    "\n",
-    "# ----- Retrieve x,y\n",
-    "#\n",
-    "(x_train, y_train), (x_test, y_test) = imdb.load_data( num_words  = vocab_size,\n",
-    "                                                       skip_top   = 0,\n",
-    "                                                       maxlen     = None,\n",
-    "                                                       seed       = 42,\n",
-    "                                                       start_char = 1,\n",
-    "                                                       oov_char   = 2,\n",
-    "                                                       index_from = 3, )"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "print(\"  Max(x_train,x_test)  : \", ooo.rmax([x_train,x_test]) )\n",
-    "print(\"  x_train : {}  y_train : {}\".format(x_train.shape, y_train.shape))\n",
-    "print(\"  x_test  : {}  y_test  : {}\".format(x_test.shape,  y_test.shape))\n",
-    "\n",
-    "print('\\nReview example (x_train[12]) :\\n\\n',x_train[12])"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### 2.3 - Have a look for humans (optional)\n",
-    "When we loaded the dataset, we asked for using \\<start\\> as 1, \\<unknown word\\> as 2  \n",
-    "So, we shifted the dataset by 3 with the parameter index_from=3"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# ---- Retrieve dictionary {word:index}, and encode it in ascii\n",
-    "\n",
-    "word_index = imdb.get_word_index()\n",
-    "\n",
-    "# ---- Shift the dictionary from +3\n",
-    "\n",
-    "word_index = {w:(i+3) for w,i in word_index.items()}\n",
-    "\n",
-    "# ---- Add <pad>, <start> and unknown tags\n",
-    "\n",
-    "word_index.update( {'<pad>':0, '<start>':1, '<unknown>':2} )\n",
-    "\n",
-    "# ---- Create a reverse dictionary : {index:word}\n",
-    "\n",
-    "index_word = {index:word for word,index in word_index.items()} \n",
-    "\n",
-    "# ---- Add a nice function to transpose :\n",
-    "#\n",
-    "def dataset2text(review):\n",
-    "    return ' '.join([index_word.get(i, '?') for i in review])"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "print('\\nDictionary size     : ', len(word_index))\n",
-    "print('\\nReview example (x_train[12]) :\\n\\n',x_train[12])\n",
-    "print('\\nIn real words :\\n\\n', dataset2text(x_train[12]))"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### 2.4 - Have a look for neurons"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "plt.figure(figsize=(12, 6))\n",
-    "ax=sns.distplot([len(i) for i in x_train],bins=60)\n",
-    "ax.set_title('Distribution of reviews by size')\n",
-    "plt.xlabel(\"Review's sizes\")\n",
-    "plt.ylabel('Density')\n",
-    "ax.set_xlim(0, 1500)\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Step 3 - Preprocess the data\n",
-    "In order to be processed by an NN, all entries must have the same length.  \n",
-    "We chose a review length of **review_len**  \n",
-    "We will therefore complete them with a padding (of \\<pad\\>\\)  "
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "review_len = 256\n",
-    "\n",
-    "x_train = keras.preprocessing.sequence.pad_sequences(x_train,\n",
-    "                                                     value   = 0,\n",
-    "                                                     padding = 'post',\n",
-    "                                                     maxlen  = review_len)\n",
-    "\n",
-    "x_test  = keras.preprocessing.sequence.pad_sequences(x_test,\n",
-    "                                                     value   = 0 ,\n",
-    "                                                     padding = 'post',\n",
-    "                                                     maxlen  = review_len)\n",
-    "\n",
-    "print('\\nReview example (x_train[12]) :\\n\\n',x_train[12])\n",
-    "print('\\nIn real words :\\n\\n', dataset2text(x_train[12]))"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Save dataset and dictionary (can be usefull)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "os.makedirs('./data',   mode=0o750, exist_ok=True)\n",
-    "\n",
-    "with h5py.File('./data/dataset_imdb.h5', 'w') as f:\n",
-    "    f.create_dataset(\"x_train\",    data=x_train)\n",
-    "    f.create_dataset(\"y_train\",    data=y_train)\n",
-    "    f.create_dataset(\"x_test\",     data=x_test)\n",
-    "    f.create_dataset(\"y_test\",     data=y_test)\n",
-    "\n",
-    "with open('./data/word_index.json', 'w') as fp:\n",
-    "    json.dump(word_index, fp)\n",
-    "\n",
-    "with open('./data/index_word.json', 'w') as fp:\n",
-    "    json.dump(index_word, fp)\n",
-    "\n",
-    "print('Saved.')"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Step 4 - Build the model\n",
-    "Few remarks :\n",
-    "1. We'll choose a dense vector size for the embedding output with **dense_vector_size**\n",
-    "2. **GlobalAveragePooling1D** do a pooling on the last dimension : (None, lx, ly) -> (None, ly)  \n",
-    "In other words: we average the set of vectors/words of a sentence\n",
-    "3. L'embedding de Keras fonctionne de manière supervisée. Il s'agit d'une couche de *vocab_size* neurones vers *n_neurons* permettant de maintenir une table de vecteurs (les poids constituent les vecteurs). Cette couche ne calcule pas de sortie a la façon des couches normales, mais renvois la valeur des vecteurs. n mots => n vecteurs (ensuite empilés par le pooling)  \n",
-    "Voir : https://stats.stackexchange.com/questions/324992/how-the-embedding-layer-is-trained-in-keras-embedding-layer\n",
-    "\n",
-    "A SUIVRE : https://www.liip.ch/en/blog/sentiment-detection-with-keras-word-embeddings-and-lstm-deep-learning-networks\n",
-    "### 4.1 - Build\n",
-    "More documentation about :\n",
-    " - [Embedding](https://www.tensorflow.org/api_docs/python/tf/keras/layers/Embedding)\n",
-    " - [GlobalAveragePooling1D](https://www.tensorflow.org/api_docs/python/tf/keras/layers/GlobalAveragePooling1D)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "def get_model(dense_vector_size=16):\n",
-    "    \n",
-    "    model = keras.Sequential()\n",
-    "    model.add(keras.layers.Embedding(input_dim    = vocab_size, \n",
-    "                                     output_dim   = dense_vector_size, \n",
-    "                                     input_length = review_len))\n",
-    "    model.add(keras.layers.LSTM(100))\n",
-    "    model.add(keras.layers.Dense(16, activation='relu'))\n",
-    "    model.add(keras.layers.Dense(1,                 activation='sigmoid'))\n",
-    "\n",
-    "    model.compile(optimizer = 'adam',\n",
-    "                  loss      = 'binary_crossentropy',\n",
-    "                  metrics   = ['accuracy'])\n",
-    "    return model"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Step 5 - Train the model\n",
-    "### 5.1 - Get it"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "model = get_model()\n",
-    "\n",
-    "model.summary()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### 5.2 - Add callback"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "os.makedirs('./run/models',   mode=0o750, exist_ok=True)\n",
-    "save_dir = \"./run/models/best_model.h5\"\n",
-    "savemodel_callback = tf.keras.callbacks.ModelCheckpoint(filepath=save_dir, verbose=0, save_best_only=True)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### 5.1 - Train it"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "%%time\n",
-    "\n",
-    "n_epochs   = 5\n",
-    "batch_size = 512\n",
-    "\n",
-    "history = model.fit(x_train,\n",
-    "                    y_train,\n",
-    "                    epochs          = n_epochs,\n",
-    "                    batch_size      = batch_size,\n",
-    "                    validation_data = (x_test, y_test),\n",
-    "                    verbose         = 1,\n",
-    "                    callbacks       = [savemodel_callback])\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Step 6 - Evaluate\n",
-    "### 6.1 - Training history"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "ooo.plot_history(history)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### 6.2 - Reload and evaluate best model"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "model = keras.models.load_model('./run/models/best_model.h5')\n",
-    "\n",
-    "# ---- Evaluate\n",
-    "reload(ooo)\n",
-    "score  = model.evaluate(x_test, y_test, verbose=0)\n",
-    "\n",
-    "print('x_test / loss      : {:5.4f}'.format(score[0]))\n",
-    "print('x_test / accuracy  : {:5.4f}'.format(score[1]))\n",
-    "\n",
-    "values=[score[1], 1-score[1]]\n",
-    "ooo.plot_donut(values,[\"Accuracy\",\"Errors\"], title=\"#### Accuracy donut is :\")\n",
-    "\n",
-    "# ---- Confusion matrix\n",
-    "\n",
-    "y_pred   = model.predict_classes(x_test)\n",
-    "\n",
-    "ooo.display_confusion_matrix(y_test,y_pred,labels=range(2),color='orange',font_size='20pt')\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 3",
-   "language": "python",
-   "name": "python3"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 3
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython3",
-   "version": "3.7.5"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 4
-}
-- 
GitLab