diff --git a/notebooks/neural_networks/convlstm.ipynb b/notebooks/neural_networks/convlstm.ipynb new file mode 100644 index 0000000..d709a9c --- /dev/null +++ b/notebooks/neural_networks/convlstm.ipynb @@ -0,0 +1,321 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Handwritten Digit Classfication using Convolution LSTM" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this example, we are going to use the MNIST dataset to train a simple convolution LSTM model. MNIST is a simple computer vision dataset of handwritten digits. It has 60,000 training examles and 10,000 test examples. \"It is a good database for people who want to try learning techniques and pattern recognition methods on real-world data while spending minimal efforts on preprocessing and formatting.\" For more details, please checkout the website [MNIST](http://yann.lecun.com/exdb/mnist/)." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "%pylab inline\n", + "\n", + "import pandas\n", + "import datetime as dt\n", + "\n", + "from bigdl.nn.layer import *\n", + "from bigdl.nn.criterion import *\n", + "from bigdl.optim.optimizer import *\n", + "from bigdl.util.common import *\n", + "from bigdl.dataset.transformer import *\n", + "from bigdl.dataset import mnist\n", + "\n", + "init_engine()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load MNIST dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Please edit the \"mnist_path\" accordingly. If the \"mnist_path\" directory does not consist of the mnist data, `mnist.read_data_sets` method will download the dataset directly to the directory." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Get and store MNIST into RDD of Sample, please edit the \"mnist_path\" accordingly.\n", + "mnist_path = \"datasets/mnist\"\n", + "def get_mnist(sc, seq_len, data_type=\"train\", location=\"/tmp/mnist\"):\n", + " TRAIN_MEAN = 0.13066047740239506 * 255\n", + " TRAIN_STD = 0.3081078 * 255\n", + " (images, labels) = mnist.read_data_sets(location, data_type)\n", + " dim = images.shape[0]\n", + " features = np.resize(images[0:dim - 100, ...], (dim/seq_len, seq_len, 1, 28, 28))\n", + " labels = np.resize(images[1:dim - 99, ...], (dim/seq_len, seq_len, 1, 28, 28))\n", + "\n", + " features_rdd = sc.parallelize(features)\n", + " labels_rdd = sc.parallelize(labels)\n", + "\n", + " record = features_rdd.zip(labels_rdd).map(lambda features_label:\n", + " Sample.from_ndarray((features_label[0]-TRAIN_MEAN)/TRAIN_STD, (features_label[1]-TRAIN_MEAN)/TRAIN_STD))\n", + " return record" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convolution LSTM Network Setup" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This time we will use a convolution network to predict next images in a sequence. You can checkout this [paper](https://arxiv.org/abs/1506.04214) to get a detailed understanding of conv LSTMs in particular." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('Extracting', 'datasets/mnist/train-images-idx3-ubyte.gz')\n", + "('Extracting', 'datasets/mnist/train-labels-idx1-ubyte.gz')\n", + "('Extracting', 'datasets/mnist/t10k-images-idx3-ubyte.gz')\n", + "('Extracting', 'datasets/mnist/t10k-labels-idx1-ubyte.gz')\n", + "15000\n", + "2500\n" + ] + } + ], + "source": [ + "# Parameters\n", + "output_size = 45\n", + "input_size = 1\n", + "seq_len = 4\n", + "batch_size = 4\n", + "\n", + "train_data = get_mnist(sc, seq_len, \"train\", mnist_path)\n", + "test_data = get_mnist(sc, seq_len, \"test\", mnist_path)\n", + "print train_data.count()\n", + "print test_data.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "creating: createSequential\n", + "creating: createSequential\n", + "creating: createSpatialConvolution\n", + "creating: createTimeDistributed\n", + "creating: createTanh\n", + "creating: createTimeDistributed\n", + "creating: createRecurrent\n", + "creating: createConvLSTMPeephole\n", + "creating: createSequential\n", + "creating: createSpatialConvolution\n", + "creating: createTimeDistributed\n", + "creating: createSigmoid\n" + ] + } + ], + "source": [ + "def build_model(input_size, output_size):\n", + " model = Sequential()\n", + "\n", + " encoder = Sequential()\n", + " encoder.add(TimeDistributed(SpatialConvolution(input_size, 32, 7, 7, 1, 1, 3, 3)))\n", + " encoder.add(TimeDistributed(Tanh()))\n", + " model.add(encoder)\n", + "\n", + " model.add(Recurrent()\n", + " .add(ConvLSTMPeephole(32, output_size, 7, 7, 1, with_peephole=True)))\n", + "\n", + " decoder = Sequential()\n", + " decoder.add(TimeDistributed(SpatialConvolution(output_size, 1, 7, 7, 1, 1, 3, 3)))\n", + " model.add(decoder)\n", + "\n", + " model.add(Sigmoid())\n", + " return model\n", + "\n", + "convlstm_model = build_model(input_size, output_size)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimizer Setup" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "creating: createMSECriterion\n", + "creating: createTimeDistributedCriterion\n", + "creating: createDefault\n", + "creating: createSGD\n", + "creating: createMaxIteration\n", + "creating: createOptimizer\n", + "creating: createSeveralIteration\n", + "creating: createMSECriterion\n", + "creating: createTimeDistributedCriterion\n", + "creating: createLoss\n", + "creating: createTrainSummary\n", + "creating: createSeveralIteration\n", + "creating: createValidationSummary\n", + "saving logs to convlstm-20170716-162006\n" + ] + } + ], + "source": [ + "# Create an Optimizer\n", + "\n", + "optimizer = Optimizer(\n", + " model=convlstm_model,\n", + " training_rdd=train_data,\n", + " criterion=TimeDistributedCriterion(MSECriterion(), size_average=True),\n", + " optim_method=SGD(learningrate=1e-3, learningrate_decay=1e-5),\n", + " end_trigger=MaxIteration(2000),\n", + " batch_size=batch_size)\n", + "\n", + "# Set the validation logic\n", + "optimizer.set_validation(\n", + " batch_size=batch_size,\n", + " val_rdd=test_data,\n", + " trigger=SeveralIteration(200),\n", + " val_method=[Loss(TimeDistributedCriterion(MSECriterion(), size_average=True))]\n", + ")\n", + "\n", + "app_name='convlstm-'+dt.datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n", + "train_summary = TrainSummary(log_dir='/tmp/bigdl_summaries',\n", + " app_name=app_name)\n", + "train_summary.set_summary_trigger(\"Parameters\", SeveralIteration(200))\n", + "val_summary = ValidationSummary(log_dir='/tmp/bigdl_summaries',\n", + " app_name=app_name)\n", + "optimizer.set_train_summary(train_summary)\n", + "optimizer.set_val_summary(val_summary)\n", + "print \"saving logs to \",app_name" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optimization Done.\n", + "CPU times: user 169 ms, sys: 36.4 ms, total: 205 ms\n", + "Wall time: 32min 12s\n" + ] + } + ], + "source": [ + "%%time\n", + "# Boot training process\n", + "trained_model = optimizer.optimize()\n", + "print \"Optimization Done.\"" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAscAAAFZCAYAAAB0coKAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXeYFEX6x9+Z3SWDIItLkCCCYiCpiKjoqqdiwjPc/cAI\nnMBxeIp3hvNEz6ycoiiooIgoCnemU1TEBANIUFSCiqxEiSILCCxhY//+qH3t6uqq6uqenpne3ffz\nPPN0qq6q7q7p/vbbb70VsywLCIIgCIIgCIIAiGe6AgRBEARBEAQRFUgcEwRBEARBEEQlJI4JgiAI\ngiAIohISxwRBEARBEARRCYljgiAIgiAIgqiExDFBEARBEARBVELimCAIIo20a9du/WeffXZOputB\nEARByCFxTBAEkUZisZgVi8UowDxBEEREIXFMEARBEARBEJWQOCYIgsgAJSUltUaMGDGmVatWm1u1\narX5lltuebKkpKQWAEBhYWHuxRdf/H6TJk12NW3adMcZZ5wxF/cbNWrUHYcffvimRo0a7enUqdPK\nWbNmnZ25oyAIgqh+ZGe6AgRBEDUNy7JiDz744Mgvv/zy5GXLlnUFALj00kvfffDBB0fef//994we\nPfrvrVu33lhYWJgLALBo0aJTAAAKCgqOfuaZZ4Z/9dVXJzVv3vznDRs2tCkrK6P7OEEQRIiQ5Zgg\nCCIDTJ069ap77rnn/tzc3MLc3NzCf/3rX/dNmTLlWgCAWrVqlWzdurXF+vXr22VlZZWfdtpp8wEA\nsrKyyouLi2t///33x5WWlua0adNmQ/v27ddm9kgIgiCqFySOCYIgMsCWLVtatm3b9idcbtOmzYYt\nW7a0BAC47bbbHuvQocPq88477+MjjzxyzahRo+4AAOjQocPqMWPGjLj33nvvzcvL29a/f/9pW7du\nbZGpYyAIgqiOkDgmCILIAC1bttyyfv36dri8YcOGNi1bttwCANCgQYOixx9//NY1a9YcOX369L5P\nPPHE39C3uH///tPmzZvX+6effmobi8WsO+64Y1SGDoEgCKJaQuKYIAgiA/Tv33/agw8+OLKwsDC3\nsLAw9/7777/n2muvnQIA8P7771+8evXqDpZlxRo1arQnKyurPCsrq/zHH388atasWWcXFxfXrl27\ndnGdOnUOZmVllWf6WAiCIKoTJI4JgiDSTCwWs0aOHPngSSed9FWXLl2Wd+nSZflJJ5301ciRIx8E\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "loss = np.array(train_summary.read_scalar(\"Loss\"))\n", + "\n", + "plt.figure(figsize = (12,12))\n", + "plt.subplot(2,1,1)\n", + "plt.plot(loss[:,0],loss[:,1],label='loss')\n", + "plt.xlim(0,loss.shape[0]+10)\n", + "plt.grid(True)\n", + "plt.title(\"loss\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +}