{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "mnist_lstm.ipynb", "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "tYXhqJSiIlC3" }, "source": [ "# Simple LSTM with MNIST" ] }, { "cell_type": "code", "metadata": { "id": "UN5aC7CYBnGR", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "e42502ca-f6f0-43e1-cba1-52336cf82bf1" }, "source": [ "!pip3 install cloudmesh-installer\n", "!pip3 install cloudmesh-common" ], "execution_count": 1, "outputs": [ { "output_type": "stream", "text": [ "Collecting cloudmesh-installer\n", " Downloading https://files.pythonhosted.org/packages/97/bc/25b2c79e608e948999f96a1609c3c91a32483f530b519a327ef6420a06e4/cloudmesh_installer-4.4.19-py2.py3-none-any.whl\n", "Requirement already satisfied: pytest in /usr/local/lib/python3.6/dist-packages (from cloudmesh-installer) (3.6.4)\n", "Requirement already satisfied: wheel in /usr/local/lib/python3.6/dist-packages (from cloudmesh-installer) (0.36.2)\n", "Requirement already satisfied: tabulate in /usr/local/lib/python3.6/dist-packages (from cloudmesh-installer) (0.8.7)\n", "Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from cloudmesh-installer) (2.23.0)\n", "Requirement already satisfied: pip-tools in /usr/local/lib/python3.6/dist-packages (from cloudmesh-installer) (4.5.1)\n", "Collecting cloudmesh-common\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/84/c3/b8c750f5c6edb5b590fdd3b5730fa16b3a19cb239e00272d1347e8aff4b8/cloudmesh_common-4.3.43-py2.py3-none-any.whl (78kB)\n", "\u001b[K |████████████████████████████████| 81kB 3.5MB/s \n", "\u001b[?25hCollecting pytest-cov\n", " Downloading https://files.pythonhosted.org/packages/e3/1a/6affecd2344efee7f2487fac82242474cbac09f9e04929da5944907baf11/pytest_cov-2.11.1-py2.py3-none-any.whl\n", "Collecting pipdeptree\n", " Downloading https://files.pythonhosted.org/packages/fa/22/8f1350b55e4297670813815142425b58829036197f0b4a0fc8f543928717/pipdeptree-2.0.0-py3-none-any.whl\n", "Requirement already satisfied: psutil in /usr/local/lib/python3.6/dist-packages (from cloudmesh-installer) (5.4.8)\n", "Collecting ordered-set\n", " Downloading https://files.pythonhosted.org/packages/f5/ab/8252360bfe965bba31ec05112b3067bd129ce4800d89e0b85613bc6044f6/ordered-set-4.0.2.tar.gz\n", "Collecting oyaml\n", " Downloading https://files.pythonhosted.org/packages/37/aa/111610d8bf5b1bb7a295a048fc648cec346347a8b0be5881defd2d1b4a52/oyaml-1.0-py2.py3-none-any.whl\n", "Collecting flake8\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/d4/ca/3971802ee6251da1abead1a22831d7f4743781e2f743bd266bdd2f46c19b/flake8-3.8.4-py2.py3-none-any.whl (72kB)\n", "\u001b[K |████████████████████████████████| 81kB 4.1MB/s \n", "\u001b[?25hCollecting colorama\n", " Downloading https://files.pythonhosted.org/packages/44/98/5b86278fbbf250d239ae0ecb724f8572af1c91f4a11edf4d36a206189440/colorama-0.4.4-py2.py3-none-any.whl\n", "Collecting python-hostlist\n", " Downloading https://files.pythonhosted.org/packages/2b/4f/f31dd4b4bf1a57a5c29599e1165d0df70dbdddcfa59a7c1d04ee2ff4ccbd/python-hostlist-1.21.tar.gz\n", "Collecting bump2version==1.0.0\n", " Downloading https://files.pythonhosted.org/packages/61/10/560509d9bfe8300e03d268dadec74fac7ae04a430f62e2d06d11d9e4e704/bump2version-1.0.0-py2.py3-none-any.whl\n", "Requirement already satisfied: humanize in /usr/local/lib/python3.6/dist-packages (from cloudmesh-installer) (0.5.1)\n", "Requirement already satisfied: docopt in /usr/local/lib/python3.6/dist-packages (from cloudmesh-installer) (0.6.2)\n", "Requirement already satisfied: coverage in /usr/local/lib/python3.6/dist-packages (from cloudmesh-installer) (3.7.1)\n", "Requirement already satisfied: six>=1.10.0 in /usr/local/lib/python3.6/dist-packages (from pytest->cloudmesh-installer) (1.15.0)\n", "Requirement already satisfied: pluggy<0.8,>=0.5 in /usr/local/lib/python3.6/dist-packages (from pytest->cloudmesh-installer) (0.7.1)\n", "Requirement already satisfied: more-itertools>=4.0.0 in /usr/local/lib/python3.6/dist-packages (from pytest->cloudmesh-installer) (8.7.0)\n", "Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.6/dist-packages (from pytest->cloudmesh-installer) (20.3.0)\n", "Requirement already satisfied: atomicwrites>=1.0 in /usr/local/lib/python3.6/dist-packages (from pytest->cloudmesh-installer) (1.4.0)\n", "Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from pytest->cloudmesh-installer) (53.0.0)\n", "Requirement already satisfied: py>=1.5.0 in /usr/local/lib/python3.6/dist-packages (from pytest->cloudmesh-installer) (1.10.0)\n", "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests->cloudmesh-installer) (2.10)\n", "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests->cloudmesh-installer) (1.24.3)\n", "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests->cloudmesh-installer) (2020.12.5)\n", "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests->cloudmesh-installer) (3.0.4)\n", "Requirement already satisfied: click>=7 in /usr/local/lib/python3.6/dist-packages (from pip-tools->cloudmesh-installer) (7.1.2)\n", "Requirement already satisfied: pathlib in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common->cloudmesh-installer) (1.0.1)\n", "Requirement already satisfied: pytz in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common->cloudmesh-installer) (2018.9)\n", "Collecting pyfiglet\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/33/07/fcfdd7a2872f5b348953de35acce1544dab0c1e8368dca54279b1cde5c15/pyfiglet-0.8.post1-py2.py3-none-any.whl (865kB)\n", "\u001b[K |████████████████████████████████| 870kB 6.2MB/s \n", "\u001b[?25hCollecting simplejson\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/73/96/1e6b19045375890068d7342cbe280dd64ae73fd90b9735b5efb8d1e044a1/simplejson-3.17.2-cp36-cp36m-manylinux2010_x86_64.whl (127kB)\n", "\u001b[K |████████████████████████████████| 133kB 11.7MB/s \n", "\u001b[?25hRequirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common->cloudmesh-installer) (2.8.1)\n", "Requirement already satisfied: pip>=6.0.0 in /usr/local/lib/python3.6/dist-packages (from pipdeptree->cloudmesh-installer) (19.3.1)\n", "Requirement already satisfied: pyyaml in /usr/local/lib/python3.6/dist-packages (from oyaml->cloudmesh-installer) (3.13)\n", "Collecting pyflakes<2.3.0,>=2.2.0\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/69/5b/fd01b0c696f2f9a6d2c839883b642493b431f28fa32b29abc465ef675473/pyflakes-2.2.0-py2.py3-none-any.whl (66kB)\n", "\u001b[K |████████████████████████████████| 71kB 6.3MB/s \n", "\u001b[?25hCollecting mccabe<0.7.0,>=0.6.0\n", " Downloading https://files.pythonhosted.org/packages/87/89/479dc97e18549e21354893e4ee4ef36db1d237534982482c3681ee6e7b57/mccabe-0.6.1-py2.py3-none-any.whl\n", "Requirement already satisfied: importlib-metadata; python_version < \"3.8\" in /usr/local/lib/python3.6/dist-packages (from flake8->cloudmesh-installer) (3.4.0)\n", "Collecting pycodestyle<2.7.0,>=2.6.0a1\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/10/5b/88879fb861ab79aef45c7e199cae3ef7af487b5603dcb363517a50602dd7/pycodestyle-2.6.0-py2.py3-none-any.whl (41kB)\n", "\u001b[K |████████████████████████████████| 51kB 6.6MB/s \n", "\u001b[?25hRequirement already satisfied: typing-extensions>=3.6.4; python_version < \"3.8\" in /usr/local/lib/python3.6/dist-packages (from importlib-metadata; python_version < \"3.8\"->flake8->cloudmesh-installer) (3.7.4.3)\n", "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.6/dist-packages (from importlib-metadata; python_version < \"3.8\"->flake8->cloudmesh-installer) (3.4.0)\n", "Building wheels for collected packages: ordered-set, python-hostlist\n", " Building wheel for ordered-set (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for ordered-set: filename=ordered_set-4.0.2-py2.py3-none-any.whl size=8210 sha256=12140e82cf5fa60992a1ed506e87d49c4c874f2609e6b06166e7ba7ff9c94d48\n", " Stored in directory: /root/.cache/pip/wheels/e1/c6/9b/651d8a21d59b51a75ab9c070838f9231b8126421bc0569af47\n", " Building wheel for python-hostlist (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for python-hostlist: filename=python_hostlist-1.21-cp36-none-any.whl size=38931 sha256=18ed8261e161d894e7d33f4c0521a30da3bcce3cc20f4855d22592ec12994275\n", " Stored in directory: /root/.cache/pip/wheels/0b/5b/55/ddcf52288f0b10f4564ca1b2531594ff7ccc65f487ba8dc437\n", "Successfully built ordered-set python-hostlist\n", "\u001b[31mERROR: pytest-cov 2.11.1 has requirement coverage>=5.2.1, but you'll have coverage 3.7.1 which is incompatible.\u001b[0m\n", "\u001b[31mERROR: pytest-cov 2.11.1 has requirement pytest>=4.6, but you'll have pytest 3.6.4 which is incompatible.\u001b[0m\n", "Installing collected packages: pyfiglet, oyaml, colorama, simplejson, python-hostlist, cloudmesh-common, pytest-cov, pipdeptree, ordered-set, pyflakes, mccabe, pycodestyle, flake8, bump2version, cloudmesh-installer\n", "Successfully installed bump2version-1.0.0 cloudmesh-common-4.3.43 cloudmesh-installer-4.4.19 colorama-0.4.4 flake8-3.8.4 mccabe-0.6.1 ordered-set-4.0.2 oyaml-1.0 pipdeptree-2.0.0 pycodestyle-2.6.0 pyfiglet-0.8.post1 pyflakes-2.2.0 pytest-cov-2.11.1 python-hostlist-1.21 simplejson-3.17.2\n", "Requirement already satisfied: cloudmesh-common in /usr/local/lib/python3.6/dist-packages (4.3.43)\n", "Requirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common) (2.8.1)\n", "Requirement already satisfied: pathlib in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common) (1.0.1)\n", "Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common) (2.23.0)\n", "Requirement already satisfied: python-hostlist in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common) (1.21)\n", "Requirement already satisfied: tabulate in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common) (0.8.7)\n", "Requirement already satisfied: simplejson in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common) (3.17.2)\n", "Requirement already satisfied: pytz in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common) (2018.9)\n", "Requirement already satisfied: colorama in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common) (0.4.4)\n", "Requirement already satisfied: psutil in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common) (5.4.8)\n", "Requirement already satisfied: humanize in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common) (0.5.1)\n", "Requirement already satisfied: oyaml in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common) (1.0)\n", "Requirement already satisfied: pyfiglet in /usr/local/lib/python3.6/dist-packages (from cloudmesh-common) (0.8.post1)\n", "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.6/dist-packages (from python-dateutil->cloudmesh-common) (1.15.0)\n", "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests->cloudmesh-common) (2.10)\n", "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests->cloudmesh-common) (2020.12.5)\n", "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests->cloudmesh-common) (1.24.3)\n", "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests->cloudmesh-common) (3.0.4)\n", "Requirement already satisfied: pyyaml in /usr/local/lib/python3.6/dist-packages (from oyaml->cloudmesh-common) (3.13)\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "Qn-x5O_xBiit" }, "source": [ "from __future__ import absolute_import\n", "from __future__ import division\n", "from __future__ import print_function\n", "\n", "import numpy as np\n", "import tensorflow as tf\n", "from tensorflow.keras.models import Sequential\n", "from tensorflow.keras.layers import Dense, Activation, SimpleRNN, InputLayer, LSTM\n", "from tensorflow.keras.utils import to_categorical, plot_model\n", "from tensorflow.keras.datasets import mnist\n", "from cloudmesh.common.StopWatch import StopWatch" ], "execution_count": 3, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "m44N0arzvqx5" }, "source": [ "## Data Pre-Process" ] }, { "cell_type": "code", "metadata": { "id": "amkZr0dbvt7M" }, "source": [ "StopWatch.start(\"data-load\")\n", "(x_train, y_train), (x_test, y_test) = mnist.load_data()\n", "StopWatch.stop(\"data-load\")\n", "\n", "\n", "StopWatch.start(\"data-pre-process\")\n", "num_labels = len(np.unique(y_train))\n", "\n", "\n", "y_train = to_categorical(y_train)\n", "y_test = to_categorical(y_test)\n", "\n", "\n", "image_size = x_train.shape[1]\n", "x_train = np.reshape(x_train,[-1, image_size, image_size])\n", "x_test = np.reshape(x_test,[-1, image_size, image_size])\n", "x_train = x_train.astype('float32') / 255\n", "x_test = x_test.astype('float32') / 255\n", "StopWatch.stop(\"data-pre-process\")\n", "\n", "input_shape = (image_size, image_size)\n", "batch_size = 128\n", "units = 256\n", "dropout = 0.2" ], "execution_count": 4, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "Ku3FZI9VvvDt" }, "source": [ "## Define Model" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "3Xr1SPagvxpq", "outputId": "710fd539-dd43-4b42-8ab7-926e5e48493b" }, "source": [ "StopWatch.start(\"compile\")\n", "model = Sequential()\n", "model.add(LSTM(units=units, \n", " input_shape=input_shape,\n", " return_sequences=True))\n", "model.add(LSTM(units=units, \n", " dropout=dropout, \n", " return_sequences=True))\n", "model.add(LSTM(units=units, \n", " dropout=dropout, \n", " return_sequences=False))\n", "model.add(Dense(num_labels))\n", "model.add(Activation('softmax'))\n", "model.summary()\n", "plot_model(model, to_file='rnn-mnist.png', show_shapes=True)\n", "\n", "\n", "model.compile(loss='categorical_crossentropy',\n", " optimizer='sgd',\n", " metrics=['accuracy'])\n", "StopWatch.stop(\"compile\")" ], "execution_count": 5, "outputs": [ { "output_type": "stream", "text": [ "Model: \"sequential_1\"\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "lstm_3 (LSTM) (None, 28, 256) 291840 \n", "_________________________________________________________________\n", "lstm_4 (LSTM) (None, 28, 256) 525312 \n", "_________________________________________________________________\n", "lstm_5 (LSTM) (None, 256) 525312 \n", "_________________________________________________________________\n", "dense_1 (Dense) (None, 10) 2570 \n", "_________________________________________________________________\n", "activation_1 (Activation) (None, 10) 0 \n", "=================================================================\n", "Total params: 1,345,034\n", "Trainable params: 1,345,034\n", "Non-trainable params: 0\n", "_________________________________________________________________\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "0hwr9YOzv4aY" }, "source": [ "## Train" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Xe9Mskn7v5cv", "outputId": "056b3d18-4054-4016-ec8e-fa095d6022e0" }, "source": [ "StopWatch.start(\"train\")\n", "model.fit(x_train, y_train, epochs=1, batch_size=batch_size)\n", "StopWatch.stop(\"train\")" ], "execution_count": 6, "outputs": [ { "output_type": "stream", "text": [ "469/469 [==============================] - 378s 796ms/step - loss: 2.2689 - accuracy: 0.2075\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "ZPGR0hNJv6ln" }, "source": [ "## Test" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "-htoQ51sv71v", "outputId": "b1914c0d-b2cb-4950-8bed-1f578a93f0ab" }, "source": [ "StopWatch.start(\"evaluate\")\n", "loss, acc = model.evaluate(x_test, y_test, batch_size=batch_size)\n", "print(\"\\nTest accuracy: %.1f%%\" % (100.0 * acc))\n", "StopWatch.stop(\"evaluate\")\n", "\n", "StopWatch.benchmark()" ], "execution_count": 7, "outputs": [ { "output_type": "stream", "text": [ "79/79 [==============================] - 22s 260ms/step - loss: 1.9646 - accuracy: 0.3505\n", "\n", "Test accuracy: 35.0%\n", "\n", "+---------------------+------------------------------------------------------------------+\n", "| Attribute | Value |\n", "|---------------------+------------------------------------------------------------------|\n", "| BUG_REPORT_URL | \"https://bugs.launchpad.net/ubuntu/\" |\n", "| DISTRIB_CODENAME | bionic |\n", "| DISTRIB_DESCRIPTION | \"Ubuntu 18.04.5 LTS\" |\n", "| DISTRIB_ID | Ubuntu |\n", "| DISTRIB_RELEASE | 18.04 |\n", "| HOME_URL | \"https://www.ubuntu.com/\" |\n", "| ID | ubuntu |\n", "| ID_LIKE | debian |\n", "| NAME | \"Ubuntu\" |\n", "| PRETTY_NAME | \"Ubuntu 18.04.5 LTS\" |\n", "| PRIVACY_POLICY_URL | \"https://www.ubuntu.com/legal/terms-and-policies/privacy-policy\" |\n", "| SUPPORT_URL | \"https://help.ubuntu.com/\" |\n", "| UBUNTU_CODENAME | bionic |\n", "| VERSION | \"18.04.5 LTS (Bionic Beaver)\" |\n", "| VERSION_CODENAME | bionic |\n", "| VERSION_ID | \"18.04\" |\n", "| cpu_count | 2 |\n", "| mem.active | 1.5 GiB |\n", "| mem.available | 11.4 GiB |\n", "| mem.free | 9.3 GiB |\n", "| mem.inactive | 1.7 GiB |\n", "| mem.percent | 10.4 % |\n", "| mem.total | 12.7 GiB |\n", "| mem.used | 1.3 GiB |\n", "| platform.version | #1 SMP Thu Jul 23 08:00:38 PDT 2020 |\n", "| python | 3.6.9 (default, Oct 8 2020, 12:12:24) |\n", "| | [GCC 8.4.0] |\n", "| python.pip | 19.3.1 |\n", "| python.version | 3.6.9 |\n", "| sys.platform | linux |\n", "| uname.machine | x86_64 |\n", "| uname.node | 351ef0f61c92 |\n", "| uname.processor | x86_64 |\n", "| uname.release | 4.19.112+ |\n", "| uname.system | Linux |\n", "| uname.version | #1 SMP Thu Jul 23 08:00:38 PDT 2020 |\n", "| user | collab |\n", "+---------------------+------------------------------------------------------------------+\n", "\n", "+------------------+----------+---------+---------+---------------------+-------+--------------+--------+-------+-------------------------------------+\n", "| Name | Status | Time | Sum | Start | tag | Node | User | OS | Version |\n", "|------------------+----------+---------+---------+---------------------+-------+--------------+--------+-------+-------------------------------------|\n", "| data-load | failed | 0.354 | 0.967 | 2021-02-18 15:27:21 | | 351ef0f61c92 | collab | Linux | #1 SMP Thu Jul 23 08:00:38 PDT 2020 |\n", "| data-pre-process | failed | 0.098 | 0.198 | 2021-02-18 15:27:21 | | 351ef0f61c92 | collab | Linux | #1 SMP Thu Jul 23 08:00:38 PDT 2020 |\n", "| compile | failed | 0.932 | 2.352 | 2021-02-18 15:27:23 | | 351ef0f61c92 | collab | Linux | #1 SMP Thu Jul 23 08:00:38 PDT 2020 |\n", "| train | failed | 377.842 | 377.842 | 2021-02-18 15:27:26 | | 351ef0f61c92 | collab | Linux | #1 SMP Thu Jul 23 08:00:38 PDT 2020 |\n", "| evaluate | failed | 21.689 | 21.689 | 2021-02-18 15:33:44 | | 351ef0f61c92 | collab | Linux | #1 SMP Thu Jul 23 08:00:38 PDT 2020 |\n", "+------------------+----------+---------+---------+---------------------+-------+--------------+--------+-------+-------------------------------------+\n", "\n", "# csv,timer,status,time,sum,start,tag,uname.node,user,uname.system,platform.version\n", "# csv,data-load,failed,0.354,0.967,2021-02-18 15:27:21,,351ef0f61c92,collab,Linux,#1 SMP Thu Jul 23 08:00:38 PDT 2020\n", "# csv,data-pre-process,failed,0.098,0.198,2021-02-18 15:27:21,,351ef0f61c92,collab,Linux,#1 SMP Thu Jul 23 08:00:38 PDT 2020\n", "# csv,compile,failed,0.932,2.352,2021-02-18 15:27:23,,351ef0f61c92,collab,Linux,#1 SMP Thu Jul 23 08:00:38 PDT 2020\n", "# csv,train,failed,377.842,377.842,2021-02-18 15:27:26,,351ef0f61c92,collab,Linux,#1 SMP Thu Jul 23 08:00:38 PDT 2020\n", "# csv,evaluate,failed,21.689,21.689,2021-02-18 15:33:44,,351ef0f61c92,collab,Linux,#1 SMP Thu Jul 23 08:00:38 PDT 2020\n", "\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "k8vqRCcsDEeu" }, "source": [ "# References\n", "\n", "1. [Advance Deep Learning with Keras](https://github.com/PacktPublishing/Advanced-Deep-Learning-with-Keras)" ] } ] }