diff --git a/Amazon_product_data_transfer_learning.ipynb b/Amazon_product_data_transfer_learning.ipynb index 5fb44e4..cbb8415 100644 --- a/Amazon_product_data_transfer_learning.ipynb +++ b/Amazon_product_data_transfer_learning.ipynb @@ -1,1877 +1,3128 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "colab_type": "text", + "id": "view-in-github" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "YXAL6gpkijkz", + "outputId": "3ebd7658-10b0-4ba8-d5c4-99fb95044f4b" + }, + "outputs": [], + "source": [ + "!pip install transformers --quiet" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "id": "Kd0xo5RHVbg-" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import pickle\n", + "import random\n", + "from sklearn.metrics import classification_report\n", + "from sklearn.model_selection import train_test_split\n", + "import tensorflow as tf\n", + "from tensorflow import keras\n", + "from transformers import BertTokenizer, TFBertForSequenceClassification " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "YXAL6gpkijkz", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "3ebd7658-10b0-4ba8-d5c4-99fb95044f4b" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "\u001b[K |████████████████████████████████| 4.4 MB 5.1 MB/s \n", - "\u001b[K |████████████████████████████████| 6.6 MB 69.6 MB/s \n", - "\u001b[K |████████████████████████████████| 596 kB 78.2 MB/s \n", - "\u001b[K |████████████████████████████████| 101 kB 10.5 MB/s \n", - "\u001b[?25h" - ] - } - ], - "source": [ - "!pip install transformers --quiet" - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:From /tmp/ipykernel_26990/337460670.py:1: is_gpu_available (from tensorflow.python.framework.test_util) is deprecated and will be removed in a future version.\n", + "Instructions for updating:\n", + "Use `tf.config.list_physical_devices('GPU')` instead.\n" + ] }, { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "Kd0xo5RHVbg-" - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "from sklearn.metrics import classification_report\n", - "from sklearn.model_selection import train_test_split\n", - "import tensorflow as tf\n", - "from tensorflow import keras\n", - "from transformers import BertTokenizer, TFBertForSequenceClassification " - ] + "name": "stderr", + "output_type": "stream", + "text": [ + "2022-07-19 03:19:47.074301: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:936] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", + "2022-07-19 03:19:47.075066: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:936] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", + "2022-07-19 03:19:47.075674: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:936] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", + "2022-07-19 03:19:47.076445: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:936] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", + "2022-07-19 03:19:47.077085: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:936] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", + "2022-07-19 03:19:47.077471: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1525] Created device /device:GPU:0 with 1" + ] }, { - "cell_type": "code", - "source": [ - "# Code for helping save models to GDrive after training:\n", - "\n", - "import datetime\n", - "import os\n", - "\n", - "from google.colab import drive\n", - "\n", - "# Mount Google Drive:\n", - "drive.mount(\"/content/gdrive\")\n", - "\n", - "# Directory where models will be stored in GDrive:\n", - "MODEL_DIR = \"/content/gdrive/MyDrive/models\"\n", - "\n", - "# Make the directories for storing results if they don't exist yet:\n", - "if not os.path.exists(MODEL_DIR):\n", - " os.mkdir(MODEL_DIR)\n", - "\n", - "\n", - "def gdrive_save_dir(*subdir: str, model_name: str = \"test_model\"): \n", - " \"\"\"Create timestamped directory in GDrive for storing checkpoints or models.\n", - " \n", - " Args:\n", - " subdir: optional subdirectories of the main model directory\n", - " (e.g. `checkpoints`, `final_model`, etc.)\n", - " model_name: main name for directory specifying the model being saved.\n", - " \"\"\"\n", - " model_dir = f\"{MODEL_DIR}/{model_name}\"\n", - " if not os.path.exists(model_dir):\n", - " os.mkdir(model_dir)\n", - " for s in subdir:\n", - " model_dir = f\"{model_dir}/{s}\"\n", - " if not os.path.exists(model_dir):\n", - " os.mkdir(model_dir)\n", - " now = datetime.datetime.now()\n", - " now_str = now.strftime(\"%Y_%m_%d__%H_%M_%S\")\n", - " dir_path = f\"{model_dir}/{now_str}\"\n", - " os.mkdir(dir_path)\n", - " print(f\"Created checkpoint dir: {dir_path}\")\n", - " return dir_path\n", - "\n", - "\n", - "gdrive_save_dir(\"checkpoints\", model_name = \"test_model\")" - ], - "metadata": { - "id": "Ms69Utx-0kHS", - "outputId": "4e1d4e86-e6c1-49dd-c03f-46ac7bf770fa", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 70 - } - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Mounted at /content/gdrive\n", - "Created checkpoint dir: /content/gdrive/MyDrive/models/test_model/checkpoints/2022_07_17__20_21_56\n" - ] - }, - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "'/content/gdrive/MyDrive/models/test_model/checkpoints/2022_07_17__20_21_56'" - ], - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "string" - } - }, - "metadata": {}, - "execution_count": 3 - } + "data": { + "text/plain": [ + "True" ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" }, { - "cell_type": "markdown", - "metadata": { - "id": "JVa_1CPEIMv0" - }, - "source": [ - "## Create train and test data" - ] - }, + "name": "stderr", + "output_type": "stream", + "text": [ + "3823 MB memory: -> device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5\n" + ] + } + ], + "source": [ + "tf.test.is_gpu_available()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ { - "cell_type": "code", - "source": [ - "# Using the datasets created in a separate notebook and saved to Github:\n", - "train_url = \"https://raw.githubusercontent.com/toby-p/w266-final-project/main/data/amazon/train.csv\"\n", - "test_url = \"https://raw.githubusercontent.com/toby-p/w266-final-project/main/data/amazon/test.csv\"\n", - "val_url = \"https://raw.githubusercontent.com/toby-p/w266-final-project/main/data/amazon/val.csv\"\n", - "\n", - "amazon_train = pd.read_csv(train_url, encoding=\"latin1\")\n", - "amazon_test = pd.read_csv(test_url, encoding=\"latin1\")\n", - "amazon_val = pd.read_csv(val_url, encoding=\"latin1\")" - ], - "metadata": { - "id": "DDJUbITGk83S" - }, - "execution_count": null, - "outputs": [] + "name": "stdout", + "output_type": "stream", + "text": [ + "Created dir: /home/tp/models/test_model/checkpoints/2022_07_19__03_19_47\n" + ] }, { - "cell_type": "code", - "source": [ - "amazon_train.tail()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 206 - }, - "id": "-IDQWfD-oet_", - "outputId": "0c639ca9-acbf-4188-8a57-3aa906406465" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " id sentence label\n", - "7995 89260 Easy access off the 101 lots of parking in the... 0\n", - "7996 62116 Meh. I went in for some accessories and a part... 0\n", - "7997 11115 Worst customer service ever. I called the stor... 0\n", - "7998 11885 I had my Canon Rebel T1i repaired after I drop... 0\n", - "7999 53295 Great store a little short on boys youth sizes... 0" - ], - "text/html": [ - "\n", - "
\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
idsentencelabel
799589260Easy access off the 101 lots of parking in the...0
799662116Meh. I went in for some accessories and a part...0
799711115Worst customer service ever. I called the stor...0
799811885I had my Canon Rebel T1i repaired after I drop...0
799953295Great store a little short on boys youth sizes...0
\n", - "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "
\n", - " " - ] - }, - "metadata": {}, - "execution_count": 5 - } + "data": { + "text/plain": [ + "'/home/tp/models/test_model/checkpoints/2022_07_19__03_19_47'" ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Code for helping save models locally after training:\n", + "\n", + "import datetime\n", + "import os\n", + "\n", + "# Directory where models will be stored in GDrive:\n", + "MODEL_DIR = os.path.join(os.path.expanduser(\"~\"), \"models\")\n", + "\n", + "# Make the directories for storing results if they don't exist yet:\n", + "if not os.path.exists(MODEL_DIR):\n", + " os.mkdir(MODEL_DIR)\n", + "\n", + "\n", + "def local_save_dir(*subdir: str, model_name: str = \"test_model\"): \n", + " \"\"\"Create timestamped directory local for storing checkpoints or models.\n", + " \n", + " Args:\n", + " subdir: optional subdirectories of the main model directory\n", + " (e.g. `checkpoints`, `final_model`, etc.)\n", + " model_name: main name for directory specifying the model being saved.\n", + " \"\"\"\n", + " model_dir = f\"{MODEL_DIR}/{model_name}\"\n", + " if not os.path.exists(model_dir):\n", + " os.mkdir(model_dir)\n", + " for s in subdir:\n", + " model_dir = f\"{model_dir}/{s}\"\n", + " if not os.path.exists(model_dir):\n", + " os.mkdir(model_dir)\n", + " now = datetime.datetime.now()\n", + " now_str = now.strftime(\"%Y_%m_%d__%H_%M_%S\")\n", + " dir_path = f\"{model_dir}/{now_str}\"\n", + " os.mkdir(dir_path)\n", + " print(f\"Created dir: {dir_path}\")\n", + " return dir_path\n", + "\n", + "\n", + "local_save_dir(\"checkpoints\", model_name = \"test_model\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "JVa_1CPEIMv0" + }, + "source": [ + "## Create train and test data" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "id": "DDJUbITGk83S" + }, + "outputs": [], + "source": [ + "# Using the datasets created in a separate notebook and saved to Github:\n", + "train_url = \"https://raw.githubusercontent.com/toby-p/w266-final-project/main/data/amazon/train.csv\"\n", + "test_url = \"https://raw.githubusercontent.com/toby-p/w266-final-project/main/data/amazon/test.csv\"\n", + "val_url = \"https://raw.githubusercontent.com/toby-p/w266-final-project/main/data/amazon/val.csv\"\n", + "\n", + "\n", + "def shuffle(df: pd.DataFrame):\n", + " \"Make sure data is shuffled (deterministically).\"\n", + " ix = list(df.index)\n", + " random.seed(42)\n", + " random.shuffle(ix)\n", + " return df.loc[ix].reset_index(drop=True)\n", + "\n", + "\n", + "amazon_train = shuffle(pd.read_csv(train_url, encoding=\"latin1\"))\n", + "amazon_test = shuffle(pd.read_csv(test_url, encoding=\"latin1\"))\n", + "amazon_val = shuffle(pd.read_csv(val_url, encoding=\"latin1\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 }, + "id": "-IDQWfD-oet_", + "outputId": "0c639ca9-acbf-4188-8a57-3aa906406465" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "amazon_test.tail()" + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
reviewerIDasinreviewerNamehelpfulreviewTextoverallsummaryunixReviewTimereviewTimehelpful_numeratorhelpful_denominatorhelpful_categoryhelpful_ratiolabel
47995A3ISCCD1ON4O9E1606991612Jed Palmer[0, 0]Great historic comic read. Still full of fun a...5.0Captain Easy - an easy read138464640011 17, 201300unhelpfulNaN0
47996A5EOOYAS6VRO9B00GZ8MHNOsteve[0, 0]This book tell the story about Marilyn Monroe ...4.0marilyn monroe grow up138827520012 29, 201300unhelpfulNaN0
47997A3NW9Y963QZ8WIB00B6BRCL2Lorraine[0, 0]No real in-depth story here. It seemed to be ...2.0ok139570560003 25, 201400unhelpfulNaN0
47998AFWFBMKH8O76X0399152008ann strouhal From: Ann Strouhal/ Tx[0, 0]C.J.Box has out done himself with this novel. ...5.0Trophy Hunt by C.J. Box: A seat of the edge st...139838400004 25, 201400unhelpfulNaN0
47999A1HR0IK78TXDEB0316211222Jo Thomas[0, 0]Enjoyed it from start to finish. Keeps you gue...5.0Another good James Patterson book138991680001 17, 201400unhelpfulNaN0
\n", + "
" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 206 - }, - "id": "UbGZScrEof99", - "outputId": "ecd44fe7-805c-403d-bf9b-242995a2ab1f" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " id sentence label\n", - "1995 63354 Big sale this week. All sort of little gadets ... 0\n", - "1996 45423 The new owner and management are great. I didn... 0\n", - "1997 12024 Came here to check out their Patio Furniture. ... 0\n", - "1998 89218 I brought in a flash drive with a 3-page docum... 0\n", - "1999 45672 Super helpful. Taught me exactly how to gel st... 0" - ], - "text/html": [ - "\n", - "
\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
idsentencelabel
199563354Big sale this week. All sort of little gadets ...0
199645423The new owner and management are great. I didn...0
199712024Came here to check out their Patio Furniture. ...0
199889218I brought in a flash drive with a 3-page docum...0
199945672Super helpful. Taught me exactly how to gel st...0
\n", - "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "
\n", - " " - ] - }, - "metadata": {}, - "execution_count": 6 - } + "text/plain": [ + " reviewerID asin reviewerName \\\n", + "47995 A3ISCCD1ON4O9E 1606991612 Jed Palmer \n", + "47996 A5EOOYAS6VRO9 B00GZ8MHNO steve \n", + "47997 A3NW9Y963QZ8WI B00B6BRCL2 Lorraine \n", + "47998 AFWFBMKH8O76X 0399152008 ann strouhal From: Ann Strouhal/ Tx \n", + "47999 A1HR0IK78TXDEB 0316211222 Jo Thomas \n", + "\n", + " helpful reviewText overall \\\n", + "47995 [0, 0] Great historic comic read. Still full of fun a... 5.0 \n", + "47996 [0, 0] This book tell the story about Marilyn Monroe ... 4.0 \n", + "47997 [0, 0] No real in-depth story here. It seemed to be ... 2.0 \n", + "47998 [0, 0] C.J.Box has out done himself with this novel. ... 5.0 \n", + "47999 [0, 0] Enjoyed it from start to finish. Keeps you gue... 5.0 \n", + "\n", + " summary unixReviewTime \\\n", + "47995 Captain Easy - an easy read 1384646400 \n", + "47996 marilyn monroe grow up 1388275200 \n", + "47997 ok 1395705600 \n", + "47998 Trophy Hunt by C.J. Box: A seat of the edge st... 1398384000 \n", + "47999 Another good James Patterson book 1389916800 \n", + "\n", + " reviewTime helpful_numerator helpful_denominator helpful_category \\\n", + "47995 11 17, 2013 0 0 unhelpful \n", + "47996 12 29, 2013 0 0 unhelpful \n", + "47997 03 25, 2014 0 0 unhelpful \n", + "47998 04 25, 2014 0 0 unhelpful \n", + "47999 01 17, 2014 0 0 unhelpful \n", + "\n", + " helpful_ratio label \n", + "47995 NaN 0 \n", + "47996 NaN 0 \n", + "47997 NaN 0 \n", + "47998 NaN 0 \n", + "47999 NaN 0 " ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "amazon_train.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 }, + "id": "UbGZScrEof99", + "outputId": "ecd44fe7-805c-403d-bf9b-242995a2ab1f" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "amazon_val.tail()" - ], - "metadata": { - "id": "37a7puk45rdg" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "x_train_full = amazon_train[\"reviewText\"]\n", - "y_train_full = amazon_train[\"label\"]\n", - "x_val = amazon_val[\"reviewText\"]\n", - "y_val = amazon_val[\"label\"]\n", - "x_test = amazon_test[\"reviewText\"]\n", - "y_test = amazon_test[\"label\"]" + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
reviewerIDasinreviewerNamehelpfulreviewTextoverallsummaryunixReviewTimereviewTimehelpful_numeratorhelpful_denominatorhelpful_categoryhelpful_ratiolabel
5995A1623N94C3XATU006171447XRick Shaq Goldstein \"*SHAQ*\"[7, 8]**ON SATURDAY, DECEMBER 13, 2003 AT 8:30 PM SA...5.0RICK \"SHAQ\" GOLDSTEIN SAYS: \"THE MAN WHO HELPE...122834880012 4, 200878helpful0.8750001
5996ADFYFTNZW0IQM0312095511Lon Dee[9, 13]This was a very fun book to read. It's not a l...4.0Humorous and Entertaining108475200005 17, 2004913helpful0.6923081
5997A51KNMQWHGPMB1439176191FRANKLY FRANK \"FRANK\"[7, 40]CHENEY GOT TO WHERE HE WAS BECAUSE HE KNOWS HO...1.0REVISIONIST HISTORY THRU CHENEY'S EYES131690880009 25, 2011740helpful0.1750001
5998A28MHD2DDY6DXB1442367547Allison A. Slater \"Gryphon50\"[17, 25]I love to read but I tend to start a lot of bo...5.0amazing book137877120009 10, 20131725helpful0.6800001
5999A21VNCWPT9YGCK0936348070Karla Skinner[15, 17]Recommended by a contact on a survival board, ...5.0One of the best.116830080001 9, 20071517helpful0.8823531
\n", + "
" ], - "metadata": { - "id": "vvzKO4Wj4f6c" - }, - "execution_count": null, - "outputs": [] - }, + "text/plain": [ + " reviewerID asin reviewerName helpful \\\n", + "5995 A1623N94C3XATU 006171447X Rick Shaq Goldstein \"*SHAQ*\" [7, 8] \n", + "5996 ADFYFTNZW0IQM 0312095511 Lon Dee [9, 13] \n", + "5997 A51KNMQWHGPMB 1439176191 FRANKLY FRANK \"FRANK\" [7, 40] \n", + "5998 A28MHD2DDY6DXB 1442367547 Allison A. Slater \"Gryphon50\" [17, 25] \n", + "5999 A21VNCWPT9YGCK 0936348070 Karla Skinner [15, 17] \n", + "\n", + " reviewText overall \\\n", + "5995 **ON SATURDAY, DECEMBER 13, 2003 AT 8:30 PM SA... 5.0 \n", + "5996 This was a very fun book to read. It's not a l... 4.0 \n", + "5997 CHENEY GOT TO WHERE HE WAS BECAUSE HE KNOWS HO... 1.0 \n", + "5998 I love to read but I tend to start a lot of bo... 5.0 \n", + "5999 Recommended by a contact on a survival board, ... 5.0 \n", + "\n", + " summary unixReviewTime \\\n", + "5995 RICK \"SHAQ\" GOLDSTEIN SAYS: \"THE MAN WHO HELPE... 1228348800 \n", + "5996 Humorous and Entertaining 1084752000 \n", + "5997 REVISIONIST HISTORY THRU CHENEY'S EYES 1316908800 \n", + "5998 amazing book 1378771200 \n", + "5999 One of the best. 1168300800 \n", + "\n", + " reviewTime helpful_numerator helpful_denominator helpful_category \\\n", + "5995 12 4, 2008 7 8 helpful \n", + "5996 05 17, 2004 9 13 helpful \n", + "5997 09 25, 2011 7 40 helpful \n", + "5998 09 10, 2013 17 25 helpful \n", + "5999 01 9, 2007 15 17 helpful \n", + "\n", + " helpful_ratio label \n", + "5995 0.875000 1 \n", + "5996 0.692308 1 \n", + "5997 0.175000 1 \n", + "5998 0.680000 1 \n", + "5999 0.882353 1 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "amazon_test.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "id": "37a7puk45rdg" + }, + "outputs": [ { - "cell_type": "code", - "source": [ - "print(f\"Shape x_train: {x_train.shape}\")\n", - "print(f\"Shape x_val: {x_val.shape}\")\n", - "print(f\"Shape x_test: {x_test.shape}\")\n", - "print(f\"Shape y_train: {y_train.shape}\")\n", - "print(f\"Shape y_val: {y_val.shape}\")\n", - "print(f\"Shape y_test: {y_test.shape}\")" + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
reviewerIDasinreviewerNamehelpfulreviewTextoverallsummaryunixReviewTimereviewTimehelpful_numeratorhelpful_denominatorhelpful_categoryhelpful_ratiolabel
5995A2NV8ECUE5QPAWB00FCKGFMUChris Cennedy[4, 14]The writing is so bad in this book that I coul...1.0Unreadable138024000009 27, 2013414helpful0.2857141
5996A680RUE1FDO8B0816680817Jerry Saperstein[35, 37]Michael Schumacher is a gem. His writing style...5.0Superb reportage and history113434560012 12, 20053537helpful0.9459461
5997A35CC2LV7L5GFE0991127390Jaime @FTLOBbyJBlog[5, 5]5 StarsI feel like this is where I apologize a...5.0Get your tissue ready!!!139397760003 5, 201455helpful1.0000001
5998AWEJ5JKD3MQMU0878339280Timothy J. Bazzett \"BookHappy\"[0, 0]Reading a book about major league baseball sho...5.0Magical memories of a very special year. Go, T...139872960004 29, 201400unhelpfulNaN0
5999A2OWTQLTN2ND2F0007447868Bookworm the villain[7, 11]Wow, how can a great writer have such a bad bo...1.0unreadable128520000009 23, 2010711helpful0.6363641
\n", + "
" ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "GpZ1130U4yLK", - "outputId": "03d8afd0-4b78-4793-e18c-73d4fc76d27b" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Shape X_train: (7200,)\n", - "Shape X_valid: (800,)\n", - "Shape y_train: (7200,)\n", - "Shape y_val: (800,)\n" - ] - } + "text/plain": [ + " reviewerID asin reviewerName helpful \\\n", + "5995 A2NV8ECUE5QPAW B00FCKGFMU Chris Cennedy [4, 14] \n", + "5996 A680RUE1FDO8B 0816680817 Jerry Saperstein [35, 37] \n", + "5997 A35CC2LV7L5GFE 0991127390 Jaime @FTLOBbyJBlog [5, 5] \n", + "5998 AWEJ5JKD3MQMU 0878339280 Timothy J. Bazzett \"BookHappy\" [0, 0] \n", + "5999 A2OWTQLTN2ND2F 0007447868 Bookworm the villain [7, 11] \n", + "\n", + " reviewText overall \\\n", + "5995 The writing is so bad in this book that I coul... 1.0 \n", + "5996 Michael Schumacher is a gem. His writing style... 5.0 \n", + "5997 5 StarsI feel like this is where I apologize a... 5.0 \n", + "5998 Reading a book about major league baseball sho... 5.0 \n", + "5999 Wow, how can a great writer have such a bad bo... 1.0 \n", + "\n", + " summary unixReviewTime \\\n", + "5995 Unreadable 1380240000 \n", + "5996 Superb reportage and history 1134345600 \n", + "5997 Get your tissue ready!!! 1393977600 \n", + "5998 Magical memories of a very special year. Go, T... 1398729600 \n", + "5999 unreadable 1285200000 \n", + "\n", + " reviewTime helpful_numerator helpful_denominator helpful_category \\\n", + "5995 09 27, 2013 4 14 helpful \n", + "5996 12 12, 2005 35 37 helpful \n", + "5997 03 5, 2014 5 5 helpful \n", + "5998 04 29, 2014 0 0 unhelpful \n", + "5999 09 23, 2010 7 11 helpful \n", + "\n", + " helpful_ratio label \n", + "5995 0.285714 1 \n", + "5996 0.945946 1 \n", + "5997 1.000000 1 \n", + "5998 NaN 0 \n", + "5999 0.636364 1 " ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "amazon_val.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "id": "vvzKO4Wj4f6c" + }, + "outputs": [], + "source": [ + "x_train = amazon_train[\"reviewText\"]\n", + "y_train = amazon_train[\"label\"]\n", + "x_val = amazon_val[\"reviewText\"]\n", + "y_val = amazon_val[\"label\"]\n", + "x_test = amazon_test[\"reviewText\"]\n", + "y_test = amazon_test[\"label\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "GpZ1130U4yLK", + "outputId": "03d8afd0-4b78-4793-e18c-73d4fc76d27b" + }, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "## Tokenize inputs" - ], - "metadata": { - "id": "HcyU1oVWakMM" - } + "name": "stdout", + "output_type": "stream", + "text": [ + "Shape x_train: (48000,)\n", + "Shape x_val: (6000,)\n", + "Shape x_test: (6000,)\n", + "Shape y_train: (48000,)\n", + "Shape y_val: (6000,)\n", + "Shape y_test: (6000,)\n" + ] + } + ], + "source": [ + "print(f\"Shape x_train: {x_train.shape}\")\n", + "print(f\"Shape x_val: {x_val.shape}\")\n", + "print(f\"Shape x_test: {x_test.shape}\")\n", + "print(f\"Shape y_train: {y_train.shape}\")\n", + "print(f\"Shape y_val: {y_val.shape}\")\n", + "print(f\"Shape y_test: {y_test.shape}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "HcyU1oVWakMM" + }, + "source": [ + "## Tokenize inputs" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 113, + "referenced_widgets": [ + "f11fa95cfbf944e1802041360bd570c4", + "8ad6f5ce20b54b1998e7564b75110c2c", + "915c00323a294011936f9df042b23a3c", + "192c6ad0b1f841d59404af12315dcbe0", + "3dcc93af7a9942ed90bcf271fcfc9733", + "85236db36963455d95b6064d357827a0", + "4970a1c799b5404a95dbdaf21381321c", + "7c1b3c45dbc64574a8d58857b377c313", + "3bc7a7d4fb76484db3c3a8c18560ae59", + "ec0b04c10bc4422e89eda112acf5ce94", + "9a58e1b736bb4061b0487aabd4787e00", + "3b718d0daf134614b0a5acbdb11a36d7", + "62d829b69bde49e99c18475c37a05653", + "86f761f7538d47d8a1511dcc6f42d0f6", + "bab2cbe5504943b495cc0b08575554eb", + "4034c1afab21422da245d768659bad36", + "5b63cc97705d4f24909deed2cf1d9fe7", + "996ebf10aa824f4a80105f6cd3ff6a45", + "34859c47432e47568c30a0a4bfa07009", + "e28e1c04929a495e8d0d9d04c434a26f", + "1b752a32ae58425e96e36d51ac6480f4", + "d9a7571d52f540b682250a9a0be70828", + "eba887bffb0d4d9b842e5159dfac955f", + "1e302ee6f1754b65a33243a32d18949d", + "925454fc09394de5a076c4aae58964d5", + "3d688a7ceeea4313b942ec99c4b56b16", + "0481df8d4eec4acf8ce79bdcef692d65", + "ddec1641b47e4f849e8962df58709c9f", + "17d6d1d0d479437c9b0658e3e586b68d", + "dc61574a6ac14fbf9660c3abf4fd4956", + "66cf5b29c3654b8ab290a0faf1e2d1f3", + "425ba70930c74f9ab4fe8a709aed6376", + "8f2b1dd0f4b44cdba6ee1306be4ed3f5" + ] }, + "id": "KYbFcFevWm_2", + "outputId": "a1dc2c7e-24e3-4ec4-98ec-2c08e2533a9a" + }, + "outputs": [], + "source": [ + "# Using BERT base uncased tokenizer as per the paper:\n", + "bert_tokenizer = BertTokenizer.from_pretrained(\"bert-base-uncased\")\n", + "\n", + "# Use sequence length 320, which achieved best accuracy and F1-score of all sequence lengths tried in the paper:\n", + "# https://link.springer.com/article/10.1007/s10660-022-09560-w/tables/4\n", + "max_length = 320\n", + "\n", + "train_encodings = bert_tokenizer(\n", + " list(x_train.values), \n", + " max_length=max_length,\n", + " truncation=True,\n", + " padding='max_length', \n", + " return_tensors='tf'\n", + ")\n", + "\n", + "valid_encodings = bert_tokenizer(\n", + " list(x_val.values), \n", + " max_length=max_length,\n", + " truncation=True,\n", + " padding='max_length', \n", + " return_tensors='tf'\n", + ")\n", + "\n", + "test_encodings = bert_tokenizer(\n", + " list(x_test.values), \n", + " max_length=max_length,\n", + " truncation=True,\n", + " padding='max_length', \n", + " return_tensors='tf'\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "qQ045x2mH4la" + }, + "source": [ + "## Model 1: Baseline Amazon product data fine-tuned model\n", + "\n", + "* All layers unfrozen;\n", + "* Same parameters as best Bilal baseline model;\n", + "* Trained for 4 epochs." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "id": "nF3jEAt-68jx" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "KYbFcFevWm_2", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 113, - "referenced_widgets": [ - "f11fa95cfbf944e1802041360bd570c4", - "8ad6f5ce20b54b1998e7564b75110c2c", - "915c00323a294011936f9df042b23a3c", - "192c6ad0b1f841d59404af12315dcbe0", - "3dcc93af7a9942ed90bcf271fcfc9733", - "85236db36963455d95b6064d357827a0", - "4970a1c799b5404a95dbdaf21381321c", - "7c1b3c45dbc64574a8d58857b377c313", - "3bc7a7d4fb76484db3c3a8c18560ae59", - "ec0b04c10bc4422e89eda112acf5ce94", - "9a58e1b736bb4061b0487aabd4787e00", - "3b718d0daf134614b0a5acbdb11a36d7", - "62d829b69bde49e99c18475c37a05653", - "86f761f7538d47d8a1511dcc6f42d0f6", - "bab2cbe5504943b495cc0b08575554eb", - "4034c1afab21422da245d768659bad36", - "5b63cc97705d4f24909deed2cf1d9fe7", - "996ebf10aa824f4a80105f6cd3ff6a45", - "34859c47432e47568c30a0a4bfa07009", - "e28e1c04929a495e8d0d9d04c434a26f", - "1b752a32ae58425e96e36d51ac6480f4", - "d9a7571d52f540b682250a9a0be70828", - "eba887bffb0d4d9b842e5159dfac955f", - "1e302ee6f1754b65a33243a32d18949d", - "925454fc09394de5a076c4aae58964d5", - "3d688a7ceeea4313b942ec99c4b56b16", - "0481df8d4eec4acf8ce79bdcef692d65", - "ddec1641b47e4f849e8962df58709c9f", - "17d6d1d0d479437c9b0658e3e586b68d", - "dc61574a6ac14fbf9660c3abf4fd4956", - "66cf5b29c3654b8ab290a0faf1e2d1f3", - "425ba70930c74f9ab4fe8a709aed6376", - "8f2b1dd0f4b44cdba6ee1306be4ed3f5" - ] - }, - "outputId": "a1dc2c7e-24e3-4ec4-98ec-2c08e2533a9a" + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ad2f79099b5c4273bda3e78c3e6295e5", + "version_major": 2, + "version_minor": 0 }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Downloading: 0%| | 0.00/226k [00:00\n app.launch_new_instance()\n File \"/opt/conda/lib/python3.7/site-packages/traitlets/config/application.py\", line 846, in launch_instance\n app.start()\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel/kernelapp.py\", line 677, in start\n self.io_loop.start()\n File \"/opt/conda/lib/python3.7/site-packages/tornado/platform/asyncio.py\", line 199, in start\n self.asyncio_loop.run_forever()\n File \"/opt/conda/lib/python3.7/asyncio/base_events.py\", line 541, in run_forever\n self._run_once()\n File \"/opt/conda/lib/python3.7/asyncio/base_events.py\", line 1786, in _run_once\n handle._run()\n File \"/opt/conda/lib/python3.7/asyncio/events.py\", line 88, in _run\n self._context.run(self._callback, *self._args)\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel/kernelbase.py\", line 473, in dispatch_queue\n await self.process_one()\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel/kernelbase.py\", line 462, in process_one\n await dispatch(*args)\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel/kernelbase.py\", line 369, in dispatch_shell\n await result\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel/kernelbase.py\", line 664, in execute_request\n reply_content = await reply_content\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel/ipkernel.py\", line 355, in do_execute\n res = shell.run_cell(code, store_history=store_history, silent=silent)\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel/zmqshell.py\", line 532, in run_cell\n return super().run_cell(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/IPython/core/interactiveshell.py\", line 2958, in run_cell\n raw_cell, store_history, silent, shell_futures)\n File \"/opt/conda/lib/python3.7/site-packages/IPython/core/interactiveshell.py\", line 3003, in _run_cell\n return runner(coro)\n File \"/opt/conda/lib/python3.7/site-packages/IPython/core/async_helpers.py\", line 78, in _pseudo_sync_runner\n coro.send(None)\n File \"/opt/conda/lib/python3.7/site-packages/IPython/core/interactiveshell.py\", line 3229, in run_cell_async\n interactivity=interactivity, compiler=compiler, result=result)\n File \"/opt/conda/lib/python3.7/site-packages/IPython/core/interactiveshell.py\", line 3444, in run_ast_nodes\n if (await self.run_code(code, result, async_=asy)):\n File \"/opt/conda/lib/python3.7/site-packages/IPython/core/interactiveshell.py\", line 3524, in run_code\n exec(code_obj, self.user_global_ns, self.user_ns)\n File \"/tmp/ipykernel_26990/168547089.py\", line 62, in \n callbacks=[cp_callback]\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 64, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/training.py\", line 1384, in fit\n tmp_logs = self.train_function(iterator)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/training.py\", line 1021, in train_function\n return step_function(self, iterator)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/training.py\", line 1010, in step_function\n outputs = model.distribute_strategy.run(run_step, args=(data,))\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/training.py\", line 1000, in run_step\n outputs = model.train_step(data)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/modeling_tf_utils.py\", line 1117, in train_step\n y_pred = self(x, training=True)\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 64, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/base_layer.py\", line 1096, in __call__\n outputs = call_fn(inputs, *args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 92, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/modeling_tf_utils.py\", line 1640, in run_call_with_unpacked_inputs\n https://www.tensorflow.org/tfx/serving/serving_basic\n File \"/opt/conda/lib/python3.7/site-packages/transformers/models/bert/modeling_tf_bert.py\", line 1656, in call\n outputs = self.bert(\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 64, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/base_layer.py\", line 1096, in __call__\n outputs = call_fn(inputs, *args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 92, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/modeling_tf_utils.py\", line 1640, in run_call_with_unpacked_inputs\n https://www.tensorflow.org/tfx/serving/serving_basic\n File \"/opt/conda/lib/python3.7/site-packages/transformers/models/bert/modeling_tf_bert.py\", line 869, in call\n encoder_outputs = self.encoder(\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 64, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/base_layer.py\", line 1096, in __call__\n outputs = call_fn(inputs, *args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 92, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/models/bert/modeling_tf_bert.py\", line 554, in call\n for i, layer_module in enumerate(self.layer):\n File \"/opt/conda/lib/python3.7/site-packages/transformers/models/bert/modeling_tf_bert.py\", line 560, in call\n layer_outputs = layer_module(\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 64, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/base_layer.py\", line 1096, in __call__\n outputs = call_fn(inputs, *args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 92, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/models/bert/modeling_tf_bert.py\", line 470, in call\n self_attention_outputs = self.attention(\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 64, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/base_layer.py\", line 1096, in __call__\n outputs = call_fn(inputs, *args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 92, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/models/bert/modeling_tf_bert.py\", line 386, in call\n self_outputs = self.self_attention(\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 64, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/base_layer.py\", line 1096, in __call__\n outputs = call_fn(inputs, *args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 92, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/models/bert/modeling_tf_bert.py\", line 325, in call\n attention_probs = stable_softmax(logits=attention_scores, axis=-1)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/tf_utils.py\", line 70, in stable_softmax\n return tf.nn.softmax(logits=logits + 1e-9, axis=axis, name=name)\nNode: 'tf_bert_for_sequence_classification/bert/encoder/layer_._9/attention/self/Softmax'\nOOM when allocating tensor with shape[32,12,320,320] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc\n\t [[{{node tf_bert_for_sequence_classification/bert/encoder/layer_._9/attention/self/Softmax}}]]\nHint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info. This isn't available when running in Eager mode.\n [Op:__inference_train_function_17039]", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mResourceExhaustedError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/tmp/ipykernel_26990/168547089.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 60\u001b[0m \u001b[0mbatch_size\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m32\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0mepochs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 62\u001b[0;31m \u001b[0mcallbacks\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mcp_callback\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 63\u001b[0m )\n\u001b[1;32m 64\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\u001b[0m in \u001b[0;36merror_handler\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 65\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# pylint: disable=broad-except\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 66\u001b[0m \u001b[0mfiltered_tb\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_process_traceback_frames\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__traceback__\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 67\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwith_traceback\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfiltered_tb\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 68\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 69\u001b[0m \u001b[0;32mdel\u001b[0m \u001b[0mfiltered_tb\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/conda/lib/python3.7/site-packages/tensorflow/python/eager/execute.py\u001b[0m in \u001b[0;36mquick_execute\u001b[0;34m(op_name, num_outputs, inputs, attrs, ctx, name)\u001b[0m\n\u001b[1;32m 53\u001b[0m \u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mensure_initialized\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 54\u001b[0m tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,\n\u001b[0;32m---> 55\u001b[0;31m inputs, attrs, num_outputs)\n\u001b[0m\u001b[1;32m 56\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mcore\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_NotOkStatusException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mname\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mResourceExhaustedError\u001b[0m: Graph execution error:\n\nDetected at node 'tf_bert_for_sequence_classification/bert/encoder/layer_._9/attention/self/Softmax' defined at (most recent call last):\n File \"/opt/conda/lib/python3.7/runpy.py\", line 193, in _run_module_as_main\n \"__main__\", mod_spec)\n File \"/opt/conda/lib/python3.7/runpy.py\", line 85, in _run_code\n exec(code, run_globals)\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py\", line 16, in \n app.launch_new_instance()\n File \"/opt/conda/lib/python3.7/site-packages/traitlets/config/application.py\", line 846, in launch_instance\n app.start()\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel/kernelapp.py\", line 677, in start\n self.io_loop.start()\n File \"/opt/conda/lib/python3.7/site-packages/tornado/platform/asyncio.py\", line 199, in start\n self.asyncio_loop.run_forever()\n File \"/opt/conda/lib/python3.7/asyncio/base_events.py\", line 541, in run_forever\n self._run_once()\n File \"/opt/conda/lib/python3.7/asyncio/base_events.py\", line 1786, in _run_once\n handle._run()\n File \"/opt/conda/lib/python3.7/asyncio/events.py\", line 88, in _run\n self._context.run(self._callback, *self._args)\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel/kernelbase.py\", line 473, in dispatch_queue\n await self.process_one()\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel/kernelbase.py\", line 462, in process_one\n await dispatch(*args)\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel/kernelbase.py\", line 369, in dispatch_shell\n await result\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel/kernelbase.py\", line 664, in execute_request\n reply_content = await reply_content\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel/ipkernel.py\", line 355, in do_execute\n res = shell.run_cell(code, store_history=store_history, silent=silent)\n File \"/opt/conda/lib/python3.7/site-packages/ipykernel/zmqshell.py\", line 532, in run_cell\n return super().run_cell(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/IPython/core/interactiveshell.py\", line 2958, in run_cell\n raw_cell, store_history, silent, shell_futures)\n File \"/opt/conda/lib/python3.7/site-packages/IPython/core/interactiveshell.py\", line 3003, in _run_cell\n return runner(coro)\n File \"/opt/conda/lib/python3.7/site-packages/IPython/core/async_helpers.py\", line 78, in _pseudo_sync_runner\n coro.send(None)\n File \"/opt/conda/lib/python3.7/site-packages/IPython/core/interactiveshell.py\", line 3229, in run_cell_async\n interactivity=interactivity, compiler=compiler, result=result)\n File \"/opt/conda/lib/python3.7/site-packages/IPython/core/interactiveshell.py\", line 3444, in run_ast_nodes\n if (await self.run_code(code, result, async_=asy)):\n File \"/opt/conda/lib/python3.7/site-packages/IPython/core/interactiveshell.py\", line 3524, in run_code\n exec(code_obj, self.user_global_ns, self.user_ns)\n File \"/tmp/ipykernel_26990/168547089.py\", line 62, in \n callbacks=[cp_callback]\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 64, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/training.py\", line 1384, in fit\n tmp_logs = self.train_function(iterator)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/training.py\", line 1021, in train_function\n return step_function(self, iterator)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/training.py\", line 1010, in step_function\n outputs = model.distribute_strategy.run(run_step, args=(data,))\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/training.py\", line 1000, in run_step\n outputs = model.train_step(data)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/modeling_tf_utils.py\", line 1117, in train_step\n y_pred = self(x, training=True)\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 64, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/base_layer.py\", line 1096, in __call__\n outputs = call_fn(inputs, *args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 92, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/modeling_tf_utils.py\", line 1640, in run_call_with_unpacked_inputs\n https://www.tensorflow.org/tfx/serving/serving_basic\n File \"/opt/conda/lib/python3.7/site-packages/transformers/models/bert/modeling_tf_bert.py\", line 1656, in call\n outputs = self.bert(\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 64, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/base_layer.py\", line 1096, in __call__\n outputs = call_fn(inputs, *args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 92, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/modeling_tf_utils.py\", line 1640, in run_call_with_unpacked_inputs\n https://www.tensorflow.org/tfx/serving/serving_basic\n File \"/opt/conda/lib/python3.7/site-packages/transformers/models/bert/modeling_tf_bert.py\", line 869, in call\n encoder_outputs = self.encoder(\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 64, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/base_layer.py\", line 1096, in __call__\n outputs = call_fn(inputs, *args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 92, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/models/bert/modeling_tf_bert.py\", line 554, in call\n for i, layer_module in enumerate(self.layer):\n File \"/opt/conda/lib/python3.7/site-packages/transformers/models/bert/modeling_tf_bert.py\", line 560, in call\n layer_outputs = layer_module(\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 64, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/base_layer.py\", line 1096, in __call__\n outputs = call_fn(inputs, *args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 92, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/models/bert/modeling_tf_bert.py\", line 470, in call\n self_attention_outputs = self.attention(\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 64, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/base_layer.py\", line 1096, in __call__\n outputs = call_fn(inputs, *args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 92, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/models/bert/modeling_tf_bert.py\", line 386, in call\n self_outputs = self.self_attention(\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 64, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/engine/base_layer.py\", line 1096, in __call__\n outputs = call_fn(inputs, *args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py\", line 92, in error_handler\n return fn(*args, **kwargs)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/models/bert/modeling_tf_bert.py\", line 325, in call\n attention_probs = stable_softmax(logits=attention_scores, axis=-1)\n File \"/opt/conda/lib/python3.7/site-packages/transformers/tf_utils.py\", line 70, in stable_softmax\n return tf.nn.softmax(logits=logits + 1e-9, axis=axis, name=name)\nNode: 'tf_bert_for_sequence_classification/bert/encoder/layer_._9/attention/self/Softmax'\nOOM when allocating tensor with shape[32,12,320,320] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc\n\t [[{{node tf_bert_for_sequence_classification/bert/encoder/layer_._9/attention/self/Softmax}}]]\nHint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info. This isn't available when running in Eager mode.\n [Op:__inference_train_function_17039]" + ] } - ], - "metadata": { - "accelerator": "TPU", - "colab": { - "background_execution": "on", - "collapsed_sections": [ - "XtosRoO6i-Nq", - "sL61_-AsltW6" + ], + "source": [ + "\n", + "MODEL_NAME = \"amazon_finetune\"\n", + "\n", + "\n", + "def amazon_finetune():\n", + " \"\"\"Create a BERT model using the model and parameters specified in the Bilal paper:\n", + " https://link.springer.com/article/10.1007/s10660-022-09560-w/tables/2\n", + "\n", + " - model: TFBertForSequenceClassification\n", + " - learning rate: 2e-5\n", + " - epsilon: 1e-8\n", + " \"\"\"\n", + " # Using the TFBertForSequenceClassification as specified in the paper:\n", + " bert_model = TFBertForSequenceClassification.from_pretrained('bert-base-uncased', num_labels=2)\n", + "\n", + " # Don't freeze any layers:\n", + " untrainable = []\n", + " trainable = [w.name for w in bert_model.weights]\n", + "\n", + " for w in bert_model.weights:\n", + " if w.name in untrainable:\n", + " w._trainable = False\n", + " elif w.name in trainable:\n", + " w._trainable = True\n", + "\n", + " # Compile the model:\n", + " bert_model.compile(\n", + " optimizer = tf.keras.optimizers.Adam(learning_rate=2e-5,epsilon=1e-08),\n", + " loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), \n", + " metrics = [tf.keras.metrics.SparseCategoricalAccuracy(\"accuracy\")]\n", + " )\n", + "\n", + " return bert_model\n", + "\n", + "\n", + "model = amazon_finetune()\n", + "print(model.summary())\n", + "\n", + "# Train the model using the specifications from the paper: https://link.springer.com/article/10.1007/s10660-022-09560-w/tables/2\n", + "# -- epochs = 4\n", + "# -- batch_size = 32\n", + "\n", + "# Create directory for storing checkpoints after each epoch:\n", + "checkpoint_dir = local_save_dir(\"checkpoints\", model_name = MODEL_NAME)\n", + "checkpoint_path = checkpoint_dir + \"/cp-{epoch:04d}.ckpt\"\n", + "\n", + "# Create a callback that saves the model's weights:\n", + "cp_callback = tf.keras.callbacks.ModelCheckpoint(\n", + " filepath=checkpoint_path,\n", + " save_weights_only=True,\n", + " verbose=1)\n", + "\n", + "# Fit the model saving weights every epoch:\n", + "history = model.fit(\n", + " [train_encodings.input_ids, train_encodings.token_type_ids, train_encodings.attention_mask], \n", + " y_train.values,\n", + " validation_data=(\n", + " [valid_encodings.input_ids, valid_encodings.token_type_ids, valid_encodings.attention_mask], \n", + " y_val.values\n", + " ),\n", + " batch_size=32, \n", + " epochs=4,\n", + " callbacks=[cp_callback]\n", + ")\n", + "\n", + "# Save the entire model to GDrive:\n", + "model_dir = local_save_dir(\"full_model\", model_name = MODEL_NAME)\n", + "model.save(model_dir)\n", + "\n", + "# Save scores on the test set:\n", + "test_score = model.evaluate([test_encodings.input_ids, test_encodings.token_type_ids, test_encodings.attention_mask], y_test)\n", + "print(\"Test loss:\", test_score[0])\n", + "print(\"Test accuracy:\", test_score[1])\n", + "score_fp = os.path.join(model_dir, \"test_score.txt\")\n", + "with open(score_fp, \"w\") as f:\n", + " f.write(f\"Test loss = {test_score[0]}\\n\")\n", + " f.write(f\"Test accuracy = {test_score[1]}\\n\")\n", + "\n", + "# Save predictions and classification_report:\n", + "predictions = model.predict([test_encodings.input_ids, test_encodings.token_type_ids, test_encodings.attention_mask])\n", + "preds_fp = os.path.join(model_dir, \"test_predictions.csv\")\n", + "pred_df = pd.DataFrame(predictions.to_tuple()[0], columns=[\"pred_prob_0\", \"pred_prob_1\"])\n", + "pred_df[\"yhat\"] = pred_df[[\"pred_prob_0\", \"pred_prob_1\"]].values.argmax(1)\n", + "pred_df[\"y\"] = y_test\n", + "pred_df[\"category\"] = np.where((pred_df[\"yhat\"] == 1) & (pred_df[\"y\"] == 1), \"tp\", None)\n", + "pred_df[\"category\"] = np.where((pred_df[\"yhat\"] == 0) & (pred_df[\"y\"] == 0), \"tn\", pred_df[\"category\"])\n", + "pred_df[\"category\"] = np.where((pred_df[\"yhat\"] == 1) & (pred_df[\"y\"] == 0), \"fp\", pred_df[\"category\"])\n", + "pred_df[\"category\"] = np.where((pred_df[\"yhat\"] == 0) & (pred_df[\"y\"] == 1), \"fn\", pred_df[\"category\"])\n", + "pred_df.to_csv(preds_fp, encoding=\"utf-8\", index=False)\n", + "report = classification_report(y_test, pred_df[\"yhat\"])\n", + "report_fp = os.path.join(model_dir, \"classification_report.txt\")\n", + "with open(report_fp, \"w\") as f:\n", + " for line in report.split(\"\\n\"):\n", + " f.write(f\"{line}\\n\")\n", + "print(f\"{MODEL_NAME} - test set results\")\n", + "print(report)\n", + "\n", + "# Save the history file:\n", + "hist_dir = local_save_dir(\"history\", model_name = MODEL_NAME)\n", + "with open(os.path.join(hist_dir, \"hist_dict\"), \"wb\") as f:\n", + " pickle.dump(history.history, f)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "accelerator": "TPU", + "colab": { + "background_execution": "on", + "collapsed_sections": [ + "XtosRoO6i-Nq", + "sL61_-AsltW6" + ], + "include_colab_link": true, + "machine_shape": "hm", + "name": "Amazon_product_data_transfer_learning.ipynb", + "provenance": [] + }, + "gpuClass": "standard", + "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.12" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "0481df8d4eec4acf8ce79bdcef692d65": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "17d6d1d0d479437c9b0658e3e586b68d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "192c6ad0b1f841d59404af12315dcbe0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ec0b04c10bc4422e89eda112acf5ce94", + "placeholder": "​", + "style": "IPY_MODEL_9a58e1b736bb4061b0487aabd4787e00", + "value": " 226k/226k [00:00<00:00, 1.86MB/s]" + } + }, + "1b752a32ae58425e96e36d51ac6480f4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1e302ee6f1754b65a33243a32d18949d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ddec1641b47e4f849e8962df58709c9f", + "placeholder": "​", + "style": "IPY_MODEL_17d6d1d0d479437c9b0658e3e586b68d", + "value": "Downloading: 100%" + } + }, + "34859c47432e47568c30a0a4bfa07009": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3b718d0daf134614b0a5acbdb11a36d7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_62d829b69bde49e99c18475c37a05653", + "IPY_MODEL_86f761f7538d47d8a1511dcc6f42d0f6", + "IPY_MODEL_bab2cbe5504943b495cc0b08575554eb" ], - "machine_shape": "hm", - "name": "Amazon_product_data_transfer_learning.ipynb", - "provenance": [], - "include_colab_link": true + "layout": "IPY_MODEL_4034c1afab21422da245d768659bad36" + } + }, + "3bc7a7d4fb76484db3c3a8c18560ae59": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "3d688a7ceeea4313b942ec99c4b56b16": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_425ba70930c74f9ab4fe8a709aed6376", + "placeholder": "​", + "style": "IPY_MODEL_8f2b1dd0f4b44cdba6ee1306be4ed3f5", + "value": " 570/570 [00:00<00:00, 20.8kB/s]" + } }, - "gpuClass": "standard", - "kernelspec": { - "display_name": "Python 3", - "name": "python3" + "3dcc93af7a9942ed90bcf271fcfc9733": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } }, - "language_info": { - "name": "python" + "4034c1afab21422da245d768659bad36": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "f11fa95cfbf944e1802041360bd570c4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_8ad6f5ce20b54b1998e7564b75110c2c", - "IPY_MODEL_915c00323a294011936f9df042b23a3c", - "IPY_MODEL_192c6ad0b1f841d59404af12315dcbe0" - ], - "layout": "IPY_MODEL_3dcc93af7a9942ed90bcf271fcfc9733" - } - }, - "8ad6f5ce20b54b1998e7564b75110c2c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_85236db36963455d95b6064d357827a0", - "placeholder": "​", - "style": "IPY_MODEL_4970a1c799b5404a95dbdaf21381321c", - "value": "Downloading: 100%" - } - }, - "915c00323a294011936f9df042b23a3c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_7c1b3c45dbc64574a8d58857b377c313", - "max": 231508, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_3bc7a7d4fb76484db3c3a8c18560ae59", - "value": 231508 - } - }, - "192c6ad0b1f841d59404af12315dcbe0": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_ec0b04c10bc4422e89eda112acf5ce94", - "placeholder": "​", - "style": "IPY_MODEL_9a58e1b736bb4061b0487aabd4787e00", - "value": " 226k/226k [00:00<00:00, 1.86MB/s]" - } - }, - "3dcc93af7a9942ed90bcf271fcfc9733": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "85236db36963455d95b6064d357827a0": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4970a1c799b5404a95dbdaf21381321c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "7c1b3c45dbc64574a8d58857b377c313": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3bc7a7d4fb76484db3c3a8c18560ae59": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "ec0b04c10bc4422e89eda112acf5ce94": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "9a58e1b736bb4061b0487aabd4787e00": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "3b718d0daf134614b0a5acbdb11a36d7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_62d829b69bde49e99c18475c37a05653", - "IPY_MODEL_86f761f7538d47d8a1511dcc6f42d0f6", - "IPY_MODEL_bab2cbe5504943b495cc0b08575554eb" - ], - "layout": "IPY_MODEL_4034c1afab21422da245d768659bad36" - } - }, - "62d829b69bde49e99c18475c37a05653": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_5b63cc97705d4f24909deed2cf1d9fe7", - "placeholder": "​", - "style": "IPY_MODEL_996ebf10aa824f4a80105f6cd3ff6a45", - "value": "Downloading: 100%" - } - }, - "86f761f7538d47d8a1511dcc6f42d0f6": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_34859c47432e47568c30a0a4bfa07009", - "max": 28, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_e28e1c04929a495e8d0d9d04c434a26f", - "value": 28 - } - }, - "bab2cbe5504943b495cc0b08575554eb": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_1b752a32ae58425e96e36d51ac6480f4", - "placeholder": "​", - "style": "IPY_MODEL_d9a7571d52f540b682250a9a0be70828", - "value": " 28.0/28.0 [00:00<00:00, 965B/s]" - } - }, - "4034c1afab21422da245d768659bad36": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "5b63cc97705d4f24909deed2cf1d9fe7": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "996ebf10aa824f4a80105f6cd3ff6a45": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "34859c47432e47568c30a0a4bfa07009": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e28e1c04929a495e8d0d9d04c434a26f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "1b752a32ae58425e96e36d51ac6480f4": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "d9a7571d52f540b682250a9a0be70828": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "eba887bffb0d4d9b842e5159dfac955f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_1e302ee6f1754b65a33243a32d18949d", - "IPY_MODEL_925454fc09394de5a076c4aae58964d5", - "IPY_MODEL_3d688a7ceeea4313b942ec99c4b56b16" - ], - "layout": "IPY_MODEL_0481df8d4eec4acf8ce79bdcef692d65" - } - }, - "1e302ee6f1754b65a33243a32d18949d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_ddec1641b47e4f849e8962df58709c9f", - "placeholder": "​", - "style": "IPY_MODEL_17d6d1d0d479437c9b0658e3e586b68d", - "value": "Downloading: 100%" - } - }, - "925454fc09394de5a076c4aae58964d5": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_dc61574a6ac14fbf9660c3abf4fd4956", - "max": 570, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_66cf5b29c3654b8ab290a0faf1e2d1f3", - "value": 570 - } - }, - "3d688a7ceeea4313b942ec99c4b56b16": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_425ba70930c74f9ab4fe8a709aed6376", - "placeholder": "​", - "style": "IPY_MODEL_8f2b1dd0f4b44cdba6ee1306be4ed3f5", - "value": " 570/570 [00:00<00:00, 20.8kB/s]" - } - }, - "0481df8d4eec4acf8ce79bdcef692d65": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ddec1641b47e4f849e8962df58709c9f": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "17d6d1d0d479437c9b0658e3e586b68d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "dc61574a6ac14fbf9660c3abf4fd4956": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "66cf5b29c3654b8ab290a0faf1e2d1f3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "425ba70930c74f9ab4fe8a709aed6376": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8f2b1dd0f4b44cdba6ee1306be4ed3f5": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - } - } + "425ba70930c74f9ab4fe8a709aed6376": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4970a1c799b5404a95dbdaf21381321c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "5b63cc97705d4f24909deed2cf1d9fe7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "62d829b69bde49e99c18475c37a05653": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_5b63cc97705d4f24909deed2cf1d9fe7", + "placeholder": "​", + "style": "IPY_MODEL_996ebf10aa824f4a80105f6cd3ff6a45", + "value": "Downloading: 100%" + } + }, + "66cf5b29c3654b8ab290a0faf1e2d1f3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "7c1b3c45dbc64574a8d58857b377c313": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "85236db36963455d95b6064d357827a0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "86f761f7538d47d8a1511dcc6f42d0f6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_34859c47432e47568c30a0a4bfa07009", + "max": 28, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_e28e1c04929a495e8d0d9d04c434a26f", + "value": 28 + } + }, + "8ad6f5ce20b54b1998e7564b75110c2c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_85236db36963455d95b6064d357827a0", + "placeholder": "​", + "style": "IPY_MODEL_4970a1c799b5404a95dbdaf21381321c", + "value": "Downloading: 100%" + } + }, + "8f2b1dd0f4b44cdba6ee1306be4ed3f5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "915c00323a294011936f9df042b23a3c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7c1b3c45dbc64574a8d58857b377c313", + "max": 231508, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_3bc7a7d4fb76484db3c3a8c18560ae59", + "value": 231508 + } + }, + "925454fc09394de5a076c4aae58964d5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_dc61574a6ac14fbf9660c3abf4fd4956", + "max": 570, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_66cf5b29c3654b8ab290a0faf1e2d1f3", + "value": 570 + } + }, + "996ebf10aa824f4a80105f6cd3ff6a45": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9a58e1b736bb4061b0487aabd4787e00": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "bab2cbe5504943b495cc0b08575554eb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_1b752a32ae58425e96e36d51ac6480f4", + "placeholder": "​", + "style": "IPY_MODEL_d9a7571d52f540b682250a9a0be70828", + "value": " 28.0/28.0 [00:00<00:00, 965B/s]" + } + }, + "d9a7571d52f540b682250a9a0be70828": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "dc61574a6ac14fbf9660c3abf4fd4956": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ddec1641b47e4f849e8962df58709c9f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e28e1c04929a495e8d0d9d04c434a26f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "eba887bffb0d4d9b842e5159dfac955f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_1e302ee6f1754b65a33243a32d18949d", + "IPY_MODEL_925454fc09394de5a076c4aae58964d5", + "IPY_MODEL_3d688a7ceeea4313b942ec99c4b56b16" + ], + "layout": "IPY_MODEL_0481df8d4eec4acf8ce79bdcef692d65" + } + }, + "ec0b04c10bc4422e89eda112acf5ce94": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f11fa95cfbf944e1802041360bd570c4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_8ad6f5ce20b54b1998e7564b75110c2c", + "IPY_MODEL_915c00323a294011936f9df042b23a3c", + "IPY_MODEL_192c6ad0b1f841d59404af12315dcbe0" + ], + "layout": "IPY_MODEL_3dcc93af7a9942ed90bcf271fcfc9733" + } } - }, - "nbformat": 4, - "nbformat_minor": 0 -} \ No newline at end of file + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}