3568 lines
296 KiB
Plaintext
3568 lines
296 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:10:33.113447Z",
|
|
"start_time": "2021-04-05T02:10:31.845159Z"
|
|
},
|
|
"tags": [
|
|
"remove_cell"
|
|
]
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"import torch\n",
|
|
"import torch.nn as nn\n",
|
|
"import torch.nn.functional as F\n",
|
|
"import torchvision \n",
|
|
"from torchvision import transforms\n",
|
|
"\n",
|
|
"from torch.utils.data import Dataset, DataLoader\n",
|
|
"\n",
|
|
"from tqdm.autonotebook import tqdm\n",
|
|
"\n",
|
|
"import numpy as np\n",
|
|
"import seaborn as sns\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"from matplotlib.pyplot import imshow\n",
|
|
"\n",
|
|
"import pandas as pd\n",
|
|
"\n",
|
|
"from sklearn.metrics import accuracy_score\n",
|
|
"\n",
|
|
"import time\n",
|
|
"\n",
|
|
"from idlmam import train_simple_network, Flatten, weight_reset"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:10:33.119112Z",
|
|
"start_time": "2021-04-05T02:10:33.115084Z"
|
|
},
|
|
"tags": [
|
|
"remove_cell"
|
|
]
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"%matplotlib inline\n",
|
|
"from IPython.display import set_matplotlib_formats\n",
|
|
"set_matplotlib_formats('png', 'pdf')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:10:33.126087Z",
|
|
"start_time": "2021-04-05T02:10:33.120528Z"
|
|
},
|
|
"tags": [
|
|
"remove_cell"
|
|
]
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"torch.backends.cudnn.deterministic=True\n",
|
|
"from idlmam import set_seed, moveTo\n",
|
|
"set_seed(42)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:10:33.139614Z",
|
|
"start_time": "2021-04-05T02:10:33.127481Z"
|
|
},
|
|
"tags": [
|
|
"remove_cell"
|
|
]
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"device = torch.device(\"cuda\") if torch.cuda.is_available() else torch.device(\"cpu\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:10:33.176455Z",
|
|
"start_time": "2021-04-05T02:10:33.148272Z"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"mnist_data_train = torchvision.datasets.MNIST(\"./data\", train=True, download=True, transform=transforms.ToTensor())\n",
|
|
"mnist_data_test = torchvision.datasets.MNIST(\"./data\", train=False, download=True, transform=transforms.ToTensor())\n",
|
|
" \n",
|
|
"mnist_train_loader = DataLoader(mnist_data_train, batch_size=64, shuffle=True)\n",
|
|
"mnist_test_loader = DataLoader(mnist_data_test, batch_size=64)\n",
|
|
"\n",
|
|
"#How many values are in the input? We use this to help determine the size of subsequent layers\n",
|
|
"D = 28*28 #28 * 28 images \n",
|
|
"#Hidden layer size\n",
|
|
"n = 256 \n",
|
|
"#How many channels are in the input?\n",
|
|
"C = 1\n",
|
|
"#How many classes are there?\n",
|
|
"classes = 10\n",
|
|
"\n",
|
|
"#Create our regular model \n",
|
|
"model_regular = nn.Sequential(\n",
|
|
" Flatten(), \n",
|
|
" nn.Linear(D, n), \n",
|
|
" nn.Tanh(),\n",
|
|
" nn.Linear(n, n), \n",
|
|
" nn.Tanh(),\n",
|
|
" nn.Linear(n, n), \n",
|
|
" nn.Tanh(),\n",
|
|
" nn.Linear(n, classes),\n",
|
|
")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:11:50.740875Z",
|
|
"start_time": "2021-04-05T02:10:33.178585Z"
|
|
},
|
|
"tags": [
|
|
"remove_output"
|
|
]
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "da2683ae8fa54706b89441415af56c1f",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Epoch'), FloatProgress(value=0.0, max=10.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"loss_func = nn.CrossEntropyLoss()\n",
|
|
"regular_results = train_simple_network(model_regular, loss_func, mnist_train_loader, test_loader=mnist_test_loader, score_funcs={'Accuracy': accuracy_score}, device=device, epochs=10)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:11:50.747301Z",
|
|
"start_time": "2021-04-05T02:11:50.742556Z"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"#Create the layer of weights of our network that we plan to share. \n",
|
|
"h_2 = nn.Linear(n, n)\n",
|
|
"model_shared = nn.Sequential(\n",
|
|
" Flatten(), \n",
|
|
" nn.Linear(D, n), \n",
|
|
" nn.Tanh(),\n",
|
|
" h_2, #First use\n",
|
|
" nn.Tanh(),\n",
|
|
" h_2, #Second use, now sharing the weights\n",
|
|
" nn.Tanh(),\n",
|
|
" nn.Linear(n, classes),\n",
|
|
")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:13:06.451415Z",
|
|
"start_time": "2021-04-05T02:11:50.748533Z"
|
|
},
|
|
"tags": [
|
|
"remove_output"
|
|
]
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "8caeb31dafb64ce08931dc7765f4f3fd",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Epoch'), FloatProgress(value=0.0, max=10.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=938.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=157.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"shared_results = train_simple_network(model_shared, loss_func, mnist_train_loader, test_loader=mnist_test_loader, score_funcs={'Accuracy': accuracy_score}, device=device, epochs=10)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:13:06.703906Z",
|
|
"start_time": "2021-04-05T02:13:06.452654Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<AxesSubplot:xlabel='epoch', ylabel='test Accuracy'>"
|
|
]
|
|
},
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/pdf": "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b250TmFtZSAvRGVqYVZ1U2FucyAvSXRhbGljQW5nbGUgMAovTWF4V2lkdGggMTM0MiAvU3RlbVYgMCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL1hIZWlnaHQgMCA+PgplbmRvYmoKMTIgMCBvYmoKWyA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMAo2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDMxOCA0MDEgNDYwIDgzOCA2MzYKOTUwIDc4MCAyNzUgMzkwIDM5MCA1MDAgODM4IDMxOCAzNjEgMzE4IDMzNyA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2CjYzNiA2MzYgMzM3IDMzNyA4MzggODM4IDgzOCA1MzEgMTAwMCA2ODQgNjg2IDY5OCA3NzAgNjMyIDU3NSA3NzUgNzUyIDI5NQoyOTUgNjU2IDU1NyA4NjMgNzQ4IDc4NyA2MDMgNzg3IDY5NSA2MzUgNjExIDczMiA2ODQgOTg5IDY4NSA2MTEgNjg1IDM5MCAzMzcKMzkwIDgzOCA1MDAgNTAwIDYxMyA2MzUgNTUwIDYzNSA2MTUgMzUyIDYzNSA2MzQgMjc4IDI3OCA1NzkgMjc4IDk3NCA2MzQgNjEyCjYzNSA2MzUgNDExIDUyMSAzOTIgNjM0IDU5MiA4MTggNTkyIDU5MiA1MjUgNjM2IDMzNyA2MzYgODM4IDYwMCA2MzYgNjAwIDMxOAozNTIgNTE4IDEwMDAgNTAwIDUwMCA1MDAgMTM0MiA2MzUgNDAwIDEwNzAgNjAwIDY4NSA2MDAgNjAwIDMxOCAzMTggNTE4IDUxOAo1OTAgNTAwIDEwMDAgNTAwIDEwMDAgNTIxIDQwMCAxMDIzIDYwMCA1MjUgNjExIDMxOCA0MDEgNjM2IDYzNiA2MzYgNjM2IDMzNwo1MDAgNTAwIDEwMDAgNDcxIDYxMiA4MzggMzYxIDEwMDAgNTAwIDUwMCA4MzggNDAxIDQwMSA1MDAgNjM2IDYzNiAzMTggNTAwCjQwMSA0NzEgNjEyIDk2OSA5NjkgOTY5IDUzMSA2ODQgNjg0IDY4NCA2ODQgNjg0IDY4NCA5NzQgNjk4IDYzMiA2MzIgNjMyIDYzMgoyOTUgMjk1IDI5NSAyOTUgNzc1IDc0OCA3ODcgNzg3IDc4NyA3ODcgNzg3IDgzOCA3ODcgNzMyIDczMiA3MzIgNzMyIDYxMSA2MDUKNjMwIDYxMyA2MTMgNjEzIDYxMyA2MTMgNjEzIDk4MiA1NTAgNjE1IDYxNSA2MTUgNjE1IDI3OCAyNzggMjc4IDI3OCA2MTIgNjM0CjYxMiA2MTIgNjEyIDYxMiA2MTIgODM4IDYxMiA2MzQgNjM0IDYzNCA2MzQgNTkyIDYzNSA1OTIgXQplbmRvYmoKMTUgMCBvYmoKPDwgL0EgMTYgMCBSIC9OIDE3IDAgUiAvUyAxOCAwIFIgL2EgMTkgMCBSIC9jIDIwIDAgUiAvZCAyMSAwIFIgL2UgMjIgMCBSCi9laWdodCAyMyAwIFIgL2ZpdmUgMjQgMCBSIC9mb3VyIDI1IDAgUiAvaCAyNiAwIFIgL2wgMjcgMCBSIC9tIDI4IDAgUgovbyAyOSAwIFIgL3AgMzAgMCBSIC9wZXJpb2QgMzEgMCBSIC9yIDMyIDAgUiAvcyAzMyAwIFIgL3NldmVuIDM0IDAgUgovc2l4IDM1IDAgUiAvc3BhY2UgMzYgMCBSIC90IDM3IDAgUiAvdHdvIDM4IDAgUiAvdSAzOSAwIFIgL3kgNDAgMCBSCi96ZXJvIDQxIDAgUiA+PgplbmRvYmoKMyAwIG9iago8PCAvRjEgMTQgMCBSID4+CmVuZG9iago0IDAgb2JqCjw8IC9BMSA8PCAvQ0EgMCAvVHlwZSAvRXh0R1N0YXRlIC9jYSAxID4+Ci9BMiA8PCAvQ0EgMSAvVHlwZSAvRXh0R1N0YXRlIC9jYSAxID4+Ci9BMyA8PCAvQ0EgMC44IC9UeXBlIC9FeHRHU3RhdGUgL2NhIDAuOCA+PiA+PgplbmRvYmoKNSAwIG9iago8PCA+PgplbmRvYmoKNiAwIG9iago8PCA+PgplbmRvYmoKNyAwIG9iago8PCA+PgplbmRvYmoKMiAwIG9iago8PCAvQ291bnQgMSAvS2lkcyBbIDEwIDAgUiBdIC9UeXBlIC9QYWdlcyA+PgplbmRvYmoKNDIgMCBvYmoKPDwgL0NyZWF0aW9uRGF0ZSAoRDoyMDIxMDQwNDIyMTMwNi0wNCcwMCcpCi9DcmVhdG9yIChNYXRwbG90bGliIHYzLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZykKL1Byb2R1Y2VyIChNYXRwbG90bGliIHBkZiBiYWNrZW5kIHYzLjMuMikgPj4KZW5kb2JqCnhyZWYKMCA0MwowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMTYgMDAwMDAgbiAKMDAwMDAxMDcwNCAwMDAwMCBuIAowMDAwMDEwNDY3IDAwMDAwIG4gCjAwMDAwMTA0OTkgMDAwMDAgbiAKMDAwMDAxMDY0MSAwMDAwMCBuIAowMDAwMDEwNjYyIDAwMDAwIG4gCjAwMDAwMTA2ODMgMDAwMDAgbiAKMDAwMDAwMDA2NSAwMDAwMCBuIAowMDAwMDAwNDAxIDAwMDAwIG4gCjAwMDAwMDAyMDggMDAwMDAgbiAKMDAwMDAwMTU1MiAwMDAwMCBuIAowMDAwMDA5MTAyIDAwMDAwIG4gCjAwMDAwMDg5MDIgMDAwMDAgbiAKMDAwMDAwODQ1MSAwMDAwMCBuIAowMDAwMDEwMTU1IDAwMDAwIG4gCjAwMDAwMDE1NzMgMDAwMDAgbiAKMDAwMDAwMTczMyAwMDAwMCBuIAowMDAwMDAxODgwIDAwMDAwIG4gCjAwMDAwMDIyOTEgMDAwMDAgbiAKMDAwMDAwMjY2OCAwMDAwMCBuIAowMDAwMDAyOTcxIDAwMDAwIG4gCjAwMDAwMDMyNzEgMDAwMDAgbiAKMDAwMDAwMzU4OSAwMDAwMCBuIAowMDAwMDA0MDU0IDAwMDAwIG4gCjAwMDAwMDQzNzQgMDAwMDAgbiAKMDAwMDAwNDUzNiAwMDAwMCBuIAowMDAwMDA0NzcyIDAwMDAwIG4gCjAwMDAwMDQ4ODkgMDAwMDAgbiAKMDAwMDAwNTIxNyAwMDAwMCBuIAowMDAwMDA1NTA0IDAwMDAwIG4gCjAwMDAwMDU4MTMgMDAwMDAgbiAKMDAwMDAwNTkzNCAwMDAwMCBuIAowMDAwMDA2MTY0IDAwMDAwIG4gCjAwMDAwMDY1NjkgMDAwMDAgbiAKMDAwMDAwNjcwOSAwMDAwMCBuIAowMDAwMDA3MDk5IDAwMDAwIG4gCjAwMDAwMDcxODggMDAwMDAgbiAKMDAwMDAwNzM5MiAwMDAwMCBuIAowMDAwMDA3NzEzIDAwMDAwIG4gCjAwMDAwMDc5NTcgMDAwMDAgbiAKMDAwMDAwODE2OCAwMDAwMCBuIAowMDAwMDEwNzY0IDAwMDAwIG4gCnRyYWlsZXIKPDwgL0luZm8gNDIgMCBSIC9Sb290IDEgMCBSIC9TaXplIDQzID4+CnN0YXJ0eHJlZgoxMDkyMQolJUVPRgo=\n",
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"#Now we can plot the results, and compare them\n",
|
|
"sns.lineplot(x='epoch', y='test Accuracy', data=regular_results, label='Normal')\n",
|
|
"sns.lineplot(x='epoch', y='test Accuracy', data=shared_results, label='Shared')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:13:07.424029Z",
|
|
"start_time": "2021-04-05T02:13:06.705150Z"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"zip_file_url = \"https://download.pytorch.org/tutorial/data.zip\"\n",
|
|
"\n",
|
|
"import requests, zipfile, io\n",
|
|
"r = requests.get(zip_file_url)\n",
|
|
"z = zipfile.ZipFile(io.BytesIO(r.content))\n",
|
|
"z.extractall()\n",
|
|
"\n",
|
|
"#Zip file is organized as data/names/[LANG].txt , where [LANG] is a specific language"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:13:07.578702Z",
|
|
"start_time": "2021-04-05T02:13:07.425705Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Arabic : 2000\n",
|
|
"Chinese : 268\n",
|
|
"Czech : 519\n",
|
|
"Dutch : 297\n",
|
|
"English : 3668\n",
|
|
"French : 277\n",
|
|
"German : 724\n",
|
|
"Greek : 203\n",
|
|
"Irish : 232\n",
|
|
"Italian : 709\n",
|
|
"Japanese : 991\n",
|
|
"Korean : 94\n",
|
|
"Polish : 139\n",
|
|
"Portuguese : 74\n",
|
|
"Russian : 9408\n",
|
|
"Scottish : 100\n",
|
|
"Spanish : 298\n",
|
|
"Vietnamese : 73\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"namge_language_data = {}\n",
|
|
"\n",
|
|
"#We will use some code to remove UNICODE tokens to make life easy for us processing wise\n",
|
|
"#e.g., convert something like \"Ślusàrski\" to Slusarski\n",
|
|
"import unicodedata\n",
|
|
"import string\n",
|
|
"\n",
|
|
"all_letters = string.ascii_letters + \" .,;'\"\n",
|
|
"n_letters = len(all_letters)\n",
|
|
"alphabet = {}\n",
|
|
"for i in range(n_letters):\n",
|
|
" alphabet[all_letters[i]] = i\n",
|
|
" \n",
|
|
"# Turn a Unicode string to plain ASCII, thanks to https://stackoverflow.com/a/518232/2809427\n",
|
|
"def unicodeToAscii(s):\n",
|
|
" return ''.join(\n",
|
|
" c for c in unicodedata.normalize('NFD', s)\n",
|
|
" if unicodedata.category(c) != 'Mn'\n",
|
|
" and c in all_letters\n",
|
|
" )\n",
|
|
"\n",
|
|
"#Loop through every language, open the zip file entry, and read all the lines from the text file. \n",
|
|
"for zip_path in z.namelist():\n",
|
|
" if \"data/names/\" in zip_path and zip_path.endswith(\".txt\"):\n",
|
|
" lang = zip_path[len(\"data/names/\"):-len(\".txt\")]\n",
|
|
" with z.open(zip_path) as myfile:\n",
|
|
" lang_names = [unicodeToAscii(line).lower() for line in str(myfile.read(), encoding='utf-8').strip().split(\"\\n\")]\n",
|
|
" namge_language_data[lang] = lang_names\n",
|
|
" print(lang, \": \", len(lang_names)) #Print out the name of each language too. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:13:07.587570Z",
|
|
"start_time": "2021-04-05T02:13:07.580165Z"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"class LanguageNameDataset(Dataset):\n",
|
|
" \n",
|
|
" def __init__(self, lang_name_dict, vocabulary):\n",
|
|
" self.label_names = [x for x in lang_name_dict.keys()]\n",
|
|
" self.data = []\n",
|
|
" self.labels = []\n",
|
|
" self.vocabulary = vocabulary\n",
|
|
" for y, language in enumerate(self.label_names):\n",
|
|
" for sample in lang_name_dict[language]:\n",
|
|
" self.data.append(sample)\n",
|
|
" self.labels.append(y)\n",
|
|
" \n",
|
|
" def __len__(self):\n",
|
|
" return len(self.data)\n",
|
|
" \n",
|
|
" def string2InputVec(self, input_string):\n",
|
|
" \"\"\"\n",
|
|
" This method will convert any input string into a vector of long values, according to the vocabulary used by this object. \n",
|
|
" input_string: the string to convert to a tensor\n",
|
|
" \"\"\"\n",
|
|
" T = len(input_string) #How many characters long is the string?\n",
|
|
" \n",
|
|
" #Create a new tensor to store the result in\n",
|
|
" name_vec = torch.zeros((T), dtype=torch.long)\n",
|
|
" #iterate through the string and place the appropriate values into the tensor\n",
|
|
" for pos, character in enumerate(input_string):\n",
|
|
" name_vec[pos] = self.vocabulary[character]\n",
|
|
" \n",
|
|
" return name_vec\n",
|
|
" \n",
|
|
" def __getitem__(self, idx):\n",
|
|
" name = self.data[idx]\n",
|
|
" label = self.labels[idx]\n",
|
|
" \n",
|
|
" #Conver the correct class label into a tensor for PyTorch\n",
|
|
" label_vec = torch.tensor([label], dtype=torch.long)\n",
|
|
" \n",
|
|
" return self.string2InputVec(name), label"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:13:07.597263Z",
|
|
"start_time": "2021-04-05T02:13:07.589150Z"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"dataset = LanguageNameDataset(namge_language_data, alphabet)\n",
|
|
"\n",
|
|
"train_data, test_data = torch.utils.data.random_split(dataset, (len(dataset)-300, 300))\n",
|
|
"train_loader = DataLoader(train_data, batch_size=1, shuffle=True)\n",
|
|
"test_loader = DataLoader(test_data, batch_size=1, shuffle=False)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:13:07.606766Z",
|
|
"start_time": "2021-04-05T02:13:07.598682Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"torch.Size([5]) torch.Size([5, 2])\n",
|
|
"tensor([[ 0.7626, 0.1343],\n",
|
|
" [ 1.5189, 0.6567],\n",
|
|
" [ 1.5189, 0.6567],\n",
|
|
" [ 0.7626, 0.1343],\n",
|
|
" [-0.5718, 0.2879]])\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"with torch.no_grad():\n",
|
|
" input_sequence = torch.tensor([0, 1, 1, 0, 2], dtype=torch.long)\n",
|
|
" embd = nn.Embedding(3, 2)\n",
|
|
" x_seq = embd(input_sequence)\n",
|
|
" print(input_sequence.shape, x_seq.shape)\n",
|
|
" print(x_seq)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:13:07.613422Z",
|
|
"start_time": "2021-04-05T02:13:07.608156Z"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"class LastTimeStep(nn.Module):\n",
|
|
" \"\"\"\n",
|
|
" A class for extracting the hidden activations of the last time step following \n",
|
|
" the output of a PyTorch RNN module. \n",
|
|
" \"\"\"\n",
|
|
" def __init__(self, rnn_layers=1, bidirectional=False):\n",
|
|
" super(LastTimeStep, self).__init__()\n",
|
|
" self.rnn_layers = rnn_layers\n",
|
|
" if bidirectional:\n",
|
|
" self.num_driections = 2\n",
|
|
" else:\n",
|
|
" self.num_driections = 1 \n",
|
|
" \n",
|
|
" def forward(self, input):\n",
|
|
" #Result is either a tupe (out, h_t)\n",
|
|
" #or a tuple (out, (h_t, c_t))\n",
|
|
" rnn_output = input[0]\n",
|
|
" last_step = input[1] #this will be h_t\n",
|
|
" if(type(last_step) == tuple):#unless it's a tuple, \n",
|
|
" last_step = last_step[0]#then h_t is the first item in the tuple\n",
|
|
" batch_size = last_step.shape[1] #per docs, shape is: '(num_layers * num_directions, batch, hidden_size)'\n",
|
|
" #reshaping so that everything is separate \n",
|
|
" last_step = last_step.view(self.rnn_layers, self.num_driections, batch_size, -1)\n",
|
|
" #We want the last layer's results\n",
|
|
" last_step = last_step[self.rnn_layers-1] \n",
|
|
" #Re order so batch comes first\n",
|
|
" last_step = last_step.permute(1, 0, 2)\n",
|
|
" #Finally, flatten the last two dimensions into one\n",
|
|
" return last_step.reshape(batch_size, -1)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:13:07.620042Z",
|
|
"start_time": "2021-04-05T02:13:07.614864Z"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"D = 64\n",
|
|
"vocab_size = len(all_letters)\n",
|
|
"hidden_nodes = 256\n",
|
|
"classes = len(dataset.label_names)\n",
|
|
"\n",
|
|
"first_rnn = nn.Sequential(\n",
|
|
" nn.Embedding(vocab_size, D), #(B, T) -> (B, T, D)\n",
|
|
" nn.RNN(D, hidden_nodes, batch_first=True), #(B, T, D) -> ( (B,T,D) , (S, B, D) )\n",
|
|
" #the tanh activation is built into the RNN object, so we don't need to do it here\n",
|
|
" LastTimeStep(), #We need to take the RNN output and reduce it to one item, (B, D)\n",
|
|
" nn.Linear(hidden_nodes, classes), #(B, D) -> (B, classes)\n",
|
|
")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:17:46.189455Z",
|
|
"start_time": "2021-04-05T02:13:07.621526Z"
|
|
},
|
|
"tags": [
|
|
"remove_output"
|
|
]
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "6b316251899a4dc4a8acc7cd95a72ecb",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Epoch'), FloatProgress(value=0.0, max=5.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=19774.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=300.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=19774.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=300.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=19774.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=300.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=19774.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=300.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=19774.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=300.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"loss_func = nn.CrossEntropyLoss()\n",
|
|
"batch_one_train = train_simple_network(first_rnn, loss_func, train_loader, test_loader=test_loader, score_funcs={'Accuracy': accuracy_score}, device=device, epochs=5)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:17:46.442889Z",
|
|
"start_time": "2021-04-05T02:17:46.190875Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<AxesSubplot:xlabel='epoch', ylabel='test Accuracy'>"
|
|
]
|
|
},
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/pdf": "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ZW1WIDAgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9YSGVpZ2h0IDAgPj4KZW5kb2JqCjEyIDAgb2JqClsgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAKNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCAzMTggNDAxIDQ2MCA4MzggNjM2Cjk1MCA3ODAgMjc1IDM5MCAzOTAgNTAwIDgzOCAzMTggMzYxIDMxOCAzMzcgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNgo2MzYgNjM2IDMzNyAzMzcgODM4IDgzOCA4MzggNTMxIDEwMDAgNjg0IDY4NiA2OTggNzcwIDYzMiA1NzUgNzc1IDc1MiAyOTUKMjk1IDY1NiA1NTcgODYzIDc0OCA3ODcgNjAzIDc4NyA2OTUgNjM1IDYxMSA3MzIgNjg0IDk4OSA2ODUgNjExIDY4NSAzOTAgMzM3CjM5MCA4MzggNTAwIDUwMCA2MTMgNjM1IDU1MCA2MzUgNjE1IDM1MiA2MzUgNjM0IDI3OCAyNzggNTc5IDI3OCA5NzQgNjM0IDYxMgo2MzUgNjM1IDQxMSA1MjEgMzkyIDYzNCA1OTIgODE4IDU5MiA1OTIgNTI1IDYzNiAzMzcgNjM2IDgzOCA2MDAgNjM2IDYwMCAzMTgKMzUyIDUxOCAxMDAwIDUwMCA1MDAgNTAwIDEzNDIgNjM1IDQwMCAxMDcwIDYwMCA2ODUgNjAwIDYwMCAzMTggMzE4IDUxOCA1MTgKNTkwIDUwMCAxMDAwIDUwMCAxMDAwIDUyMSA0MDAgMTAyMyA2MDAgNTI1IDYxMSAzMTggNDAxIDYzNiA2MzYgNjM2IDYzNiAzMzcKNTAwIDUwMCAxMDAwIDQ3MSA2MTIgODM4IDM2MSAxMDAwIDUwMCA1MDAgODM4IDQwMSA0MDEgNTAwIDYzNiA2MzYgMzE4IDUwMAo0MDEgNDcxIDYxMiA5NjkgOTY5IDk2OSA1MzEgNjg0IDY4NCA2ODQgNjg0IDY4NCA2ODQgOTc0IDY5OCA2MzIgNjMyIDYzMiA2MzIKMjk1IDI5NSAyOTUgMjk1IDc3NSA3NDggNzg3IDc4NyA3ODcgNzg3IDc4NyA4MzggNzg3IDczMiA3MzIgNzMyIDczMiA2MTEgNjA1CjYzMCA2MTMgNjEzIDYxMyA2MTMgNjEzIDYxMyA5ODIgNTUwIDYxNSA2MTUgNjE1IDYxNSAyNzggMjc4IDI3OCAyNzggNjEyIDYzNAo2MTIgNjEyIDYxMiA2MTIgNjEyIDgzOCA2MTIgNjM0IDYzNCA2MzQgNjM0IDU5MiA2MzUgNTkyIF0KZW5kb2JqCjE1IDAgb2JqCjw8IC9BIDE2IDAgUiAvTiAxNyAwIFIgL1IgMTggMCBSIC9hIDE5IDAgUiAvYyAyMCAwIFIgL2UgMjEgMCBSCi9laWdodCAyMiAwIFIgL2ZpdmUgMjMgMCBSIC9mb3VyIDI0IDAgUiAvaCAyNSAwIFIgL25pbmUgMjYgMCBSIC9vIDI3IDAgUgovb25lIDI4IDAgUiAvcCAyOSAwIFIgL3BlcmlvZCAzMCAwIFIgL3IgMzEgMCBSIC9zIDMyIDAgUiAvc2V2ZW4gMzMgMCBSCi9zaXggMzQgMCBSIC9zcGFjZSAzNSAwIFIgL3QgMzYgMCBSIC90aHJlZSAzNyAwIFIgL3R3byAzOCAwIFIgL3UgMzkgMCBSCi95IDQwIDAgUiAvemVybyA0MSAwIFIgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL0YxIDE0IDAgUiA+PgplbmRvYmoKNCAwIG9iago8PCAvQTEgPDwgL0NBIDAgL1R5cGUgL0V4dEdTdGF0ZSAvY2EgMSA+PgovQTIgPDwgL0NBIDEgL1R5cGUgL0V4dEdTdGF0ZSAvY2EgMSA+PgovQTMgPDwgL0NBIDAuOCAvVHlwZSAvRXh0R1N0YXRlIC9jYSAwLjggPj4gPj4KZW5kb2JqCjUgMCBvYmoKPDwgPj4KZW5kb2JqCjYgMCBvYmoKPDwgPj4KZW5kb2JqCjcgMCBvYmoKPDwgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL0NvdW50IDEgL0tpZHMgWyAxMCAwIFIgXSAvVHlwZSAvUGFnZXMgPj4KZW5kb2JqCjQyIDAgb2JqCjw8IC9DcmVhdGlvbkRhdGUgKEQ6MjAyMTA0MDQyMjE3NDYtMDQnMDAnKQovQ3JlYXRvciAoTWF0cGxvdGxpYiB2My4zLjIsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcpCi9Qcm9kdWNlciAoTWF0cGxvdGxpYiBwZGYgYmFja2VuZCB2My4zLjIpID4+CmVuZG9iagp4cmVmCjAgNDMKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE2IDAwMDAwIG4gCjAwMDAwMTA2NjAgMDAwMDAgbiAKMDAwMDAxMDQyMyAwMDAwMCBuIAowMDAwMDEwNDU1IDAwMDAwIG4gCjAwMDAwMTA1OTcgMDAwMDAgbiAKMDAwMDAxMDYxOCAwMDAwMCBuIAowMDAwMDEwNjM5IDAwMDAwIG4gCjAwMDAwMDAwNjUgMDAwMDAgbiAKMDAwMDAwMDM5NiAwMDAwMCBuIAowMDAwMDAwMjA4IDAwMDAwIG4gCjAwMDAwMDEzOTcgMDAwMDAgbiAKMDAwMDAwOTA0OSAwMDAwMCBuIAowMDAwMDA4ODQ5IDAwMDAwIG4gCjAwMDAwMDgzOTUgMDAwMDAgbiAKMDAwMDAxMDEwMiAwMDAwMCBuIAowMDAwMDAxNDE3IDAwMDAwIG4gCjAwMDAwMDE1NzcgMDAwMDAgbiAKMDAwMDAwMTcyNCAwMDAwMCBuIAowMDAwMDAyMDI0IDAwMDAwIG4gCjAwMDAwMDI0MDEgMDAwMDAgbiAKMDAwMDAwMjcwNCAwMDAwMCBuIAowMDAwMDAzMDIyIDAwMDAwIG4gCjAwMDAwMDM0ODcgMDAwMDAgbiAKMDAwMDAwMzgwNyAwMDAwMCBuIAowMDAwMDAzOTY5IDAwMDAwIG4gCjAwMDAwMDQyMDUgMDAwMDAgbiAKMDAwMDAwNDU5OCAwMDAwMCBuIAowMDAwMDA0ODg1IDAwMDAwIG4gCjAwMDAwMDUwMzcgMDAwMDAgbiAKMDAwMDAwNTM0NiAwMDAwMCBuIAowMDAwMDA1NDY3IDAwMDAwIG4gCjAwMDAwMDU2OTcgMDAwMDAgbiAKMDAwMDAwNjEwMiAwMDAwMCBuIAowMDAwMDA2MjQyIDAwMDAwIG4gCjAwMDAwMDY2MzIgMDAwMDAgbiAKMDAwMDAwNjcyMSAwMDAwMCBuIAowMDAwMDA2OTI1IDAwMDAwIG4gCjAwMDAwMDczMzYgMDAwMDAgbiAKMDAwMDAwNzY1NyAwMDAwMCBuIAowMDAwMDA3OTAxIDAwMDAwIG4gCjAwMDAwMDgxMTIgMDAwMDAgbiAKMDAwMDAxMDcyMCAwMDAwMCBuIAp0cmFpbGVyCjw8IC9JbmZvIDQyIDAgUiAvUm9vdCAxIDAgUiAvU2l6ZSA0MyA+PgpzdGFydHhyZWYKMTA4NzcKJSVFT0YK\n",
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"sns.lineplot(x='epoch', y='test Accuracy', data=batch_one_train, label='RNN')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:17:46.509455Z",
|
|
"start_time": "2021-04-05T02:17:46.444214Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Arabic : 0.002683540151338093 %\n",
|
|
"Chinese : 0.2679025521501899 %\n",
|
|
"Czech : 10.59301644563675 %\n",
|
|
"Dutch : 7.299012690782547 %\n",
|
|
"English : 36.81915104389191 %\n",
|
|
"French : 0.5335223395377398 %\n",
|
|
"German : 37.42799460887909 %\n",
|
|
"Greek : 0.018611310224514455 %\n",
|
|
"Irish : 0.7783998735249043 %\n",
|
|
"Italian : 1.1141937226057053 %\n",
|
|
"Japanese : 0.00488687728648074 %\n",
|
|
"Korean : 0.421459274366498 %\n",
|
|
"Polish : 1.1676722206175327 %\n",
|
|
"Portuguese : 0.08807195699773729 %\n",
|
|
"Russian : 1.2793921865522861 %\n",
|
|
"Scottish : 1.6346706077456474 %\n",
|
|
"Spanish : 0.14639737782999873 %\n",
|
|
"Vietnamese : 0.40296311490237713 %\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"pred_rnn = first_rnn.to(\"cpu\").eval()\n",
|
|
"with torch.no_grad():\n",
|
|
" preds = F.softmax(pred_rnn(dataset.string2InputVec(\"frank\").reshape(1,-1)), dim=-1)\n",
|
|
" for class_id in range(len(dataset.label_names)):\n",
|
|
" print(dataset.label_names[class_id], \":\", preds[0,class_id].item()*100 , \"%\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:17:46.516173Z",
|
|
"start_time": "2021-04-05T02:17:46.511040Z"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def pad_and_pack(batch):\n",
|
|
" #1, 2, & 3: organize the batch input lengths, inputs, and outputs as seperate lists\n",
|
|
" input_tensors = []\n",
|
|
" labels = []\n",
|
|
" lengths = []\n",
|
|
" for x, y in batch:\n",
|
|
" input_tensors.append(x)\n",
|
|
" labels.append(y)\n",
|
|
" lengths.append(x.shape[0]) #Assume shape is (T, *)\n",
|
|
" #4: create the padded version of the input\n",
|
|
" x_padded = torch.nn.utils.rnn.pad_sequence(input_tensors, batch_first=False)\n",
|
|
" #5: create the packed version from the padded & lengths\n",
|
|
" x_packed = torch.nn.utils.rnn.pack_padded_sequence(x_padded, lengths, batch_first=False, enforce_sorted=False)\n",
|
|
" #Convert the lengths into a tensor\n",
|
|
" y_batched = torch.as_tensor(labels, dtype=torch.long)\n",
|
|
" #6: return a tuple of the packed inputs and their labels\n",
|
|
" return x_packed, y_batched\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:17:46.521723Z",
|
|
"start_time": "2021-04-05T02:17:46.517329Z"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"class EmbeddingPackable(nn.Module):\n",
|
|
" \"\"\"\n",
|
|
" The embedding layer in PyTorch does not support Packed Sequence objects. \n",
|
|
" This wrapper class will fix that. If a normal input comes in, it will \n",
|
|
" use the regular Embedding layer. Otherwise, it will work on the packed \n",
|
|
" sequence to return a new Packed sequence of the appropriate result. \n",
|
|
" \"\"\"\n",
|
|
" def __init__(self, embd_layer):\n",
|
|
" super(EmbeddingPackable, self).__init__()\n",
|
|
" self.embd_layer = embd_layer \n",
|
|
" \n",
|
|
" def forward(self, input):\n",
|
|
" if type(input) == torch.nn.utils.rnn.PackedSequence:\n",
|
|
" # We need to unpack the input, \n",
|
|
" sequences, lengths = torch.nn.utils.rnn.pad_packed_sequence(input.cpu(), batch_first=True)\n",
|
|
" #Embed it\n",
|
|
" sequences = self.embd_layer(sequences.to(input.data.device))\n",
|
|
" #And pack it into a new sequence\n",
|
|
" return torch.nn.utils.rnn.pack_padded_sequence(sequences, lengths.cpu(), \n",
|
|
" batch_first=True, enforce_sorted=False)\n",
|
|
" else:#apply to normal data\n",
|
|
" return self.embd_layer(input)\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:17:46.527559Z",
|
|
"start_time": "2021-04-05T02:17:46.522964Z"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"B = 16\n",
|
|
"train_loader = DataLoader(train_data, batch_size=B, shuffle=True, collate_fn=pad_and_pack)\n",
|
|
"test_loader = DataLoader(test_data, batch_size=B, shuffle=False, collate_fn=pad_and_pack)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:17:46.536853Z",
|
|
"start_time": "2021-04-05T02:17:46.530407Z"
|
|
},
|
|
"tags": [
|
|
"remove_output"
|
|
]
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"Sequential(\n",
|
|
" (0): EmbeddingPackable(\n",
|
|
" (embd_layer): Embedding(57, 64)\n",
|
|
" )\n",
|
|
" (1): RNN(64, 256, batch_first=True)\n",
|
|
" (2): LastTimeStep()\n",
|
|
" (3): Linear(in_features=256, out_features=18, bias=True)\n",
|
|
")"
|
|
]
|
|
},
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"rnn_packed = nn.Sequential(\n",
|
|
" EmbeddingPackable(nn.Embedding(vocab_size, D)), #(B, T) -> (B, T, D)\n",
|
|
" nn.RNN(D, hidden_nodes, batch_first=True), #(B, T, D) -> ( (B,T,D) , (S, B, D) )\n",
|
|
" LastTimeStep(), #We need to take the RNN output and reduce it to one item, (B, D)\n",
|
|
" nn.Linear(hidden_nodes, classes), #(B, D) -> (B, classes)\n",
|
|
")\n",
|
|
"\n",
|
|
"rnn_packed.to(device)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 25,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:19:39.317005Z",
|
|
"start_time": "2021-04-05T02:17:46.538194Z"
|
|
},
|
|
"tags": [
|
|
"remove_output"
|
|
]
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "3af97b85c32145739e5713fda57950f7",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Epoch'), FloatProgress(value=0.0, max=20.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"packed_train = train_simple_network(rnn_packed, loss_func, train_loader, test_loader=test_loader, score_funcs={'Accuracy': accuracy_score}, device=device, epochs=20)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 26,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:19:39.582038Z",
|
|
"start_time": "2021-04-05T02:19:39.318290Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<AxesSubplot:xlabel='epoch', ylabel='test Accuracy'>"
|
|
]
|
|
},
|
|
"execution_count": 26,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/pdf": "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YW5zIC9JdGFsaWNBbmdsZSAwCi9NYXhXaWR0aCAxMzQyIC9TdGVtViAwIC9UeXBlIC9Gb250RGVzY3JpcHRvciAvWEhlaWdodCAwID4+CmVuZG9iagoxMiAwIG9iagpbIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwCjYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgMzE4IDQwMSA0NjAgODM4IDYzNgo5NTAgNzgwIDI3NSAzOTAgMzkwIDUwMCA4MzggMzE4IDM2MSAzMTggMzM3IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYKNjM2IDYzNiAzMzcgMzM3IDgzOCA4MzggODM4IDUzMSAxMDAwIDY4NCA2ODYgNjk4IDc3MCA2MzIgNTc1IDc3NSA3NTIgMjk1CjI5NSA2NTYgNTU3IDg2MyA3NDggNzg3IDYwMyA3ODcgNjk1IDYzNSA2MTEgNzMyIDY4NCA5ODkgNjg1IDYxMSA2ODUgMzkwIDMzNwozOTAgODM4IDUwMCA1MDAgNjEzIDYzNSA1NTAgNjM1IDYxNSAzNTIgNjM1IDYzNCAyNzggMjc4IDU3OSAyNzggOTc0IDYzNCA2MTIKNjM1IDYzNSA0MTEgNTIxIDM5MiA2MzQgNTkyIDgxOCA1OTIgNTkyIDUyNSA2MzYgMzM3IDYzNiA4MzggNjAwIDYzNiA2MDAgMzE4CjM1MiA1MTggMTAwMCA1MDAgNTAwIDUwMCAxMzQyIDYzNSA0MDAgMTA3MCA2MDAgNjg1IDYwMCA2MDAgMzE4IDMxOCA1MTggNTE4CjU5MCA1MDAgMTAwMCA1MDAgMTAwMCA1MjEgNDAwIDEwMjMgNjAwIDUyNSA2MTEgMzE4IDQwMSA2MzYgNjM2IDYzNiA2MzYgMzM3CjUwMCA1MDAgMTAwMCA0NzEgNjEyIDgzOCAzNjEgMTAwMCA1MDAgNTAwIDgzOCA0MDEgNDAxIDUwMCA2MzYgNjM2IDMxOCA1MDAKNDAxIDQ3MSA2MTIgOTY5IDk2OSA5NjkgNTMxIDY4NCA2ODQgNjg0IDY4NCA2ODQgNjg0IDk3NCA2OTggNjMyIDYzMiA2MzIgNjMyCjI5NSAyOTUgMjk1IDI5NSA3NzUgNzQ4IDc4NyA3ODcgNzg3IDc4NyA3ODcgODM4IDc4NyA3MzIgNzMyIDczMiA3MzIgNjExIDYwNQo2MzAgNjEzIDYxMyA2MTMgNjEzIDYxMyA2MTMgOTgyIDU1MCA2MTUgNjE1IDYxNSA2MTUgMjc4IDI3OCAyNzggMjc4IDYxMiA2MzQKNjEyIDYxMiA2MTIgNjEyIDYxMiA4MzggNjEyIDYzNCA2MzQgNjM0IDYzNCA1OTIgNjM1IDU5MiBdCmVuZG9iagoxNSAwIG9iago8PCAvQSAxNiAwIFIgL0IgMTcgMCBSIC9JIDE4IDAgUiAvTiAxOSAwIFIgL1AgMjAgMCBSIC9SIDIxIDAgUiAvYSAyMiAwIFIKL2MgMjMgMCBSIC9jb2xvbiAyNCAwIFIgL2QgMjUgMCBSIC9lIDI2IDAgUiAvZWlnaHQgMjcgMCBSIC9lcXVhbCAyOCAwIFIKL2ZpdmUgMjkgMCBSIC9oIDMwIDAgUiAvayAzMSAwIFIgL24gMzIgMCBSIC9vIDMzIDAgUiAvb25lIDM0IDAgUiAvcCAzNSAwIFIKL3BlcmlvZCAzNiAwIFIgL3IgMzcgMCBSIC9zIDM4IDAgUiAvc2V2ZW4gMzkgMCBSIC9zaXggNDAgMCBSIC9zcGFjZSA0MSAwIFIKL3QgNDIgMCBSIC90d28gNDMgMCBSIC91IDQ0IDAgUiAveSA0NSAwIFIgL3plcm8gNDYgMCBSID4+CmVuZG9iagozIDAgb2JqCjw8IC9GMSAxNCAwIFIgPj4KZW5kb2JqCjQgMCBvYmoKPDwgL0ExIDw8IC9DQSAwIC9UeXBlIC9FeHRHU3RhdGUgL2NhIDEgPj4KL0EyIDw8IC9DQSAxIC9UeXBlIC9FeHRHU3RhdGUgL2NhIDEgPj4KL0EzIDw8IC9DQSAwLjggL1R5cGUgL0V4dEdTdGF0ZSAvY2EgMC44ID4+ID4+CmVuZG9iago1IDAgb2JqCjw8ID4+CmVuZG9iago2IDAgb2JqCjw8ID4+CmVuZG9iago3IDAgb2JqCjw8ID4+CmVuZG9iagoyIDAgb2JqCjw8IC9Db3VudCAxIC9LaWRzIFsgMTAgMCBSIF0gL1R5cGUgL1BhZ2VzID4+CmVuZG9iago0NyAwIG9iago8PCAvQ3JlYXRpb25EYXRlIChEOjIwMjEwNDA0MjIxOTM5LTA0JzAwJykKL0NyZWF0b3IgKE1hdHBsb3RsaWIgdjMuMy4yLCBodHRwczovL21hdHBsb3RsaWIub3JnKQovUHJvZHVjZXIgKE1hdHBsb3RsaWIgcGRmIGJhY2tlbmQgdjMuMy4yKSA+PgplbmRvYmoKeHJlZgowIDQ4CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNiAwMDAwMCBuIAowMDAwMDExNjQ1IDAwMDAwIG4gCjAwMDAwMTE0MDggMDAwMDAgbiAKMDAwMDAxMTQ0MCAwMDAwMCBuIAowMDAwMDExNTgyIDAwMDAwIG4gCjAwMDAwMTE2MDMgMDAwMDAgbiAKMDAwMDAxMTYyNCAwMDAwMCBuIAowMDAwMDAwMDY1IDAwMDAwIG4gCjAwMDAwMDAzOTYgMDAwMDAgbiAKMDAwMDAwMDIwOCAwMDAwMCBuIAowMDAwMDAxNjEwIDAwMDAwIG4gCjAwMDAwMDk5ODYgMDAwMDAgbiAKMDAwMDAwOTc4NiAwMDAwMCBuIAowMDAwMDA5MzA0IDAwMDAwIG4gCjAwMDAwMTEwMzkgMDAwMDAgbiAKMDAwMDAwMTYzMSAwMDAwMCBuIAowMDAwMDAxNzkxIDAwMDAwIG4gCjAwMDAwMDIxMjMgMDAwMDAgbiAKMDAwMDAwMjI0NCAwMDAwMCBuIAowMDAwMDAyMzkxIDAwMDAwIG4gCjAwMDAwMDI2MjkgMDAwMDAgbiAKMDAwMDAwMjkyOSAwMDAwMCBuIAowMDAwMDAzMzA2IDAwMDAwIG4gCjAwMDAwMDM2MDkgMDAwMDAgbiAKMDAwMDAwMzc0OSAwMDAwMCBuIAowMDAwMDA0MDQ5IDAwMDAwIG4gCjAwMDAwMDQzNjcgMDAwMDAgbiAKMDAwMDAwNDgzMiAwMDAwMCBuIAowMDAwMDA0OTc1IDAwMDAwIG4gCjAwMDAwMDUyOTUgMDAwMDAgbiAKMDAwMDAwNTUzMSAwMDAwMCBuIAowMDAwMDA1Njg0IDAwMDAwIG4gCjAwMDAwMDU5MTggMDAwMDAgbiAKMDAwMDAwNjIwNSAwMDAwMCBuIAowMDAwMDA2MzU3IDAwMDAwIG4gCjAwMDAwMDY2NjYgMDAwMDAgbiAKMDAwMDAwNjc4NyAwMDAwMCBuIAowMDAwMDA3MDE3IDAwMDAwIG4gCjAwMDAwMDc0MjIgMDAwMDAgbiAKMDAwMDAwNzU2MiAwMDAwMCBuIAowMDAwMDA3OTUyIDAwMDAwIG4gCjAwMDAwMDgwNDEgMDAwMDAgbiAKMDAwMDAwODI0NSAwMDAwMCBuIAowMDAwMDA4NTY2IDAwMDAwIG4gCjAwMDAwMDg4MTAgMDAwMDAgbiAKMDAwMDAwOTAyMSAwMDAwMCBuIAowMDAwMDExNzA1IDAwMDAwIG4gCnRyYWlsZXIKPDwgL0luZm8gNDcgMCBSIC9Sb290IDEgMCBSIC9TaXplIDQ4ID4+CnN0YXJ0eHJlZgoxMTg2MgolJUVPRgo=\n",
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEGCAYAAAB/+QKOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAuu0lEQVR4nO3deZwU1bn/8c/jsC+yo7IPiCD7MqKgIogQEEQxKrhEiLlBTNCY341LNDeaG80mMYohIvEaN1zAgMEFlxhAXJBFEWRflQFklX2dmef3RzXQDD1DDzPd1TPzfb9e/ZruqnOqnqnp6afrnKpzzN0RERHJ7bSwAxARkdSkBCEiIjEpQYiISExKECIiEpMShIiIxFQm7ACKUu3atb1JkyZhhyEiUmzMmzdvq7vXibWuRCWIJk2aMHfu3LDDEBEpNszs67zWqYlJRERiUoIQEZGYlCBERCSmEtUHISLxO3z4MJmZmRw4cCDsUCQJKlSoQIMGDShbtmzcdZQgREqpzMxMqlatSpMmTTCzsMORBHJ3tm3bRmZmJunp6XHXS2gTk5n1NbNlZrbSzO6Nsb6amb1hZl+a2SIz+2G8dUWkcA4cOECtWrWUHEoBM6NWrVoFPltMWIIwszRgDNAPaAVcb2atchX7KbDY3dsDPYA/m1m5OOuKSCEpOZQep/K3TmQTUxdgpbuvBjCzV4ArgcVRZRyoakHkVYDtQBZwfhx1JeLdRd+yaP3OQm2jVb1q9G1zZhFFJCIlQSITRH1gXdTrTIIP/mh/BaYAG4CqwGB3zzGzeOoCYGbDgeEAjRo1KprIi5GpCzdy2/jPASjMl8FrOjVQgpCkS0tLo23btmRlZZGens4LL7xA9erVWbt2Lenp6YwePZrbb78dgJEjR5KRkcGwYcMYNmwY77//PqtXr6Z8+fJs3bqVjIwM1q5dm+/+evTowcaNG6lYsSIHDx7k5z//OcOHD8+3zmOPPcbw4cOpVKlSnmUefPBBqlSpwi9+8YsCH4OJEyfy4IMPsmTJEmbPnk1GRkaBt5EoiUwQsT6ucs9O9D1gPnAp0Ax438xmxlk3WOg+DhgHkJGRUapmP1r27W7+e+KXdGxUnVeGX0D5MmlhhyRSIBUrVmT+/PkADB06lDFjxnD//fcDULduXR5//HFuvfVWypUrd0LdtLQ0nnnmGW677bYC7XP8+PFkZGSwfft2mjVrxrBhw2Ju/4jHHnuMm266Kd8EURht2rRh0qRJ3HrrrQnZfmEkspM6E2gY9boBwZlCtB8CkzywElgDtIyzbqm2c99hhr8wl8rlyzD2ps5KDlLsde3alfXr1x99XadOHXr16sVzzz0Xs/ydd97JX/7yF7Kysk5pf3v27KFy5cqkpQX/O7fddhsZGRm0bt2aBx54AIDRo0ezYcMGevbsSc+ePQF455136NSpE+3bt6dXr15Ht7d48WJ69OhB06ZNGT16dNxxnHvuubRo0eKUfodES+QZxByguZmlA+uBIcANucp8A/QCZprZGUALYDWwI466pVZ2jvOzV79gw479vDL8As44vULYIUkx95s3FrF4w64i3WareqfzwBWt4yqbnZ3NBx98wI9+9KPjlt97773069ePW2655YQ6jRo14qKLLuKFF17giiuuOG5dhw4djp6Z5HbjjTdSvnx5VqxYwWOPPXY0QTz88MPUrFmT7OxsevXqxYIFC7jjjjt49NFHmTZtGrVr12bLli38+Mc/5sMPPyQ9PZ3t27cf3e7SpUuZNm0au3fvpkWLFtx2222ULVuWiy++mN27d58Qx6hRo7jsssviOj5hSViCcPcsMxsJvAukAc+4+yIzGxFZPxb4LfCsmS0kaFa6x923AsSqm6hYi5tH31/G9GVbeHhQGzo3rhl2OCKnbP/+/XTo0IG1a9fSuXNnevfufdz69PR0unTpwksvvRSz/n333cfAgQPp37//ccvzSg5wrIlpy5YtdOvWjb59+9K4cWMmTJjAuHHjyMrKYuPGjSxevJh27dodV3fWrFl079796L0ENWse+//r378/5cuXp3z58tStW5dNmzbRoEEDZs6cWZBDklISeqOcu78NvJ1r2dio5xuAPvHWlaBTesy0VVzfpSE3nt847HCkhIj3m35RO9IHsXPnTgYMGMCYMWO44447jitz3333cc0119C9e/cT6p999tl06NCBCRMmFHjfderUoVOnTnz22Wfk5OQwatQo5syZQ40aNRg2bFjMewbcPc/LRcuXL3/0eVpa2tGmr+J8BqGxmIqR6E7pBweG8w8tkgjVqlVj9OjRjBo1isOHDx+3rmXLlrRq1Yo333wzZt3777+fUaNGFXif+/bt44svvqBZs2bs2rWLypUrU61aNTZt2sTUqVOPlqtaterRD/iuXbsy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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"sns.lineplot(x='epoch', y='test Accuracy', data=batch_one_train, label='RNN: Batch=1')\n",
|
|
"sns.lineplot(x='epoch', y='test Accuracy', data=packed_train, label='RNN:Pakced Input')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 27,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:19:39.832368Z",
|
|
"start_time": "2021-04-05T02:19:39.583652Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<AxesSubplot:xlabel='total time', ylabel='test Accuracy'>"
|
|
]
|
|
},
|
|
"execution_count": 27,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/pdf": "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QmFzZUZvbnQgL0RlamFWdVNhbnMgL0NoYXJQcm9jcyAxNSAwIFIKL0VuY29kaW5nIDw8Ci9EaWZmZXJlbmNlcyBbIDMyIC9zcGFjZSA0NiAvcGVyaW9kIDQ4IC96ZXJvIC9vbmUgL3R3byA1MyAvZml2ZSAvc2l4IC9zZXZlbiAvZWlnaHQgNTgKL2NvbG9uIDYxIC9lcXVhbCA2NSAvQSAvQiA3MyAvSSA3OCAvTiA4MCAvUCA4MiAvUiA5NyAvYSA5OSAvYyAvZCAvZSAxMDQgL2gKL2kgMTA3IC9rIC9sIC9tIC9uIC9vIC9wIDExNCAvciAvcyAvdCAvdSAxMjEgL3kgXQovVHlwZSAvRW5jb2RpbmcgPj4KL0ZpcnN0Q2hhciAwIC9Gb250QkJveCBbIC0xMDIxIC00NjMgMTc5NCAxMjMzIF0gL0ZvbnREZXNjcmlwdG9yIDEzIDAgUgovRm9udE1hdHJpeCBbIDAuMDAxIDAgMCAwLjAwMSAwIDAgXSAvTGFzdENoYXIgMjU1IC9OYW1lIC9EZWphVnVTYW5zCi9TdWJ0eXBlIC9UeXBlMyAvVHlwZSAvRm9udCAvV2lkdGhzIDEyIDAgUiA+PgplbmRvYmoKMTMgMCBvYmoKPDwgL0FzY2VudCA5MjkgL0NhcEhlaWdodCAwIC9EZXNjZW50IC0yMzYgL0ZsYWdzIDMyCi9Gb250QkJveCBbIC0xMDIxIC00NjMgMTc5NCAxMjMzIF0gL0ZvbnROYW1lIC9EZWphVnVTYW5zIC9JdGFsaWNBbmdsZSAwCi9NYXhXaWR0aCAxMzQyIC9TdGVtViAwIC9UeXBlIC9Gb250RGVzY3JpcHRvciAvWEhlaWdodCAwID4+CmVuZG9iagoxMiAwIG9iagpbIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwCjYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgMzE4IDQwMSA0NjAgODM4IDYzNgo5NTAgNzgwIDI3NSAzOTAgMzkwIDUwMCA4MzggMzE4IDM2MSAzMTggMzM3IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYKNjM2IDYzNiAzMzcgMzM3IDgzOCA4MzggODM4IDUzMSAxMDAwIDY4NCA2ODYgNjk4IDc3MCA2MzIgNTc1IDc3NSA3NTIgMjk1CjI5NSA2NTYgNTU3IDg2MyA3NDggNzg3IDYwMyA3ODcgNjk1IDYzNSA2MTEgNzMyIDY4NCA5ODkgNjg1IDYxMSA2ODUgMzkwIDMzNwozOTAgODM4IDUwMCA1MDAgNjEzIDYzNSA1NTAgNjM1IDYxNSAzNTIgNjM1IDYzNCAyNzggMjc4IDU3OSAyNzggOTc0IDYzNCA2MTIKNjM1IDYzNSA0MTEgNTIxIDM5MiA2MzQgNTkyIDgxOCA1OTIgNTkyIDUyNSA2MzYgMzM3IDYzNiA4MzggNjAwIDYzNiA2MDAgMzE4CjM1MiA1MTggMTAwMCA1MDAgNTAwIDUwMCAxMzQyIDYzNSA0MDAgMTA3MCA2MDAgNjg1IDYwMCA2MDAgMzE4IDMxOCA1MTggNTE4CjU5MCA1MDAgMTAwMCA1MDAgMTAwMCA1MjEgNDAwIDEwMjMgNjAwIDUyNSA2MTEgMzE4IDQwMSA2MzYgNjM2IDYzNiA2MzYgMzM3CjUwMCA1MDAgMTAwMCA0NzEgNjEyIDgzOCAzNjEgMTAwMCA1MDAgNTAwIDgzOCA0MDEgNDAxIDUwMCA2MzYgNjM2IDMxOCA1MDAKNDAxIDQ3MSA2MTIgOTY5IDk2OSA5NjkgNTMxIDY4NCA2ODQgNjg0IDY4NCA2ODQgNjg0IDk3NCA2OTggNjMyIDYzMiA2MzIgNjMyCjI5NSAyOTUgMjk1IDI5NSA3NzUgNzQ4IDc4NyA3ODcgNzg3IDc4NyA3ODcgODM4IDc4NyA3MzIgNzMyIDczMiA3MzIgNjExIDYwNQo2MzAgNjEzIDYxMyA2MTMgNjEzIDYxMyA2MTMgOTgyIDU1MCA2MTUgNjE1IDYxNSA2MTUgMjc4IDI3OCAyNzggMjc4IDYxMiA2MzQKNjEyIDYxMiA2MTIgNjEyIDYxMiA4MzggNjEyIDYzNCA2MzQgNjM0IDYzNCA1OTIgNjM1IDU5MiBdCmVuZG9iagoxNSAwIG9iago8PCAvQSAxNiAwIFIgL0IgMTcgMCBSIC9JIDE4IDAgUiAvTiAxOSAwIFIgL1AgMjAgMCBSIC9SIDIxIDAgUiAvYSAyMiAwIFIKL2MgMjMgMCBSIC9jb2xvbiAyNCAwIFIgL2QgMjUgMCBSIC9lIDI2IDAgUiAvZWlnaHQgMjcgMCBSIC9lcXVhbCAyOCAwIFIKL2ZpdmUgMjkgMCBSIC9oIDMwIDAgUiAvaSAzMSAwIFIgL2sgMzIgMCBSIC9sIDMzIDAgUiAvbSAzNCAwIFIgL24gMzUgMCBSCi9vIDM2IDAgUiAvb25lIDM3IDAgUiAvcCAzOCAwIFIgL3BlcmlvZCAzOSAwIFIgL3IgNDAgMCBSIC9zIDQxIDAgUgovc2V2ZW4gNDIgMCBSIC9zaXggNDMgMCBSIC9zcGFjZSA0NCAwIFIgL3QgNDUgMCBSIC90d28gNDYgMCBSIC91IDQ3IDAgUgoveSA0OCAwIFIgL3plcm8gNDkgMCBSID4+CmVuZG9iagozIDAgb2JqCjw8IC9GMSAxNCAwIFIgPj4KZW5kb2JqCjQgMCBvYmoKPDwgL0ExIDw8IC9DQSAwIC9UeXBlIC9FeHRHU3RhdGUgL2NhIDEgPj4KL0EyIDw8IC9DQSAxIC9UeXBlIC9FeHRHU3RhdGUgL2NhIDEgPj4KL0EzIDw8IC9DQSAwLjggL1R5cGUgL0V4dEdTdGF0ZSAvY2EgMC44ID4+ID4+CmVuZG9iago1IDAgb2JqCjw8ID4+CmVuZG9iago2IDAgb2JqCjw8ID4+CmVuZG9iago3IDAgb2JqCjw8ID4+CmVuZG9iagoyIDAgb2JqCjw8IC9Db3VudCAxIC9LaWRzIFsgMTAgMCBSIF0gL1R5cGUgL1BhZ2VzID4+CmVuZG9iago1MCAwIG9iago8PCAvQ3JlYXRpb25EYXRlIChEOjIwMjEwNDA0MjIxOTM5LTA0JzAwJykKL0NyZWF0b3IgKE1hdHBsb3RsaWIgdjMuMy4yLCBodHRwczovL21hdHBsb3RsaWIub3JnKQovUHJvZHVjZXIgKE1hdHBsb3RsaWIgcGRmIGJhY2tlbmQgdjMuMy4yKSA+PgplbmRvYmoKeHJlZgowIDUxCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNiAwMDAwMCBuIAowMDAwMDEyMjYzIDAwMDAwIG4gCjAwMDAwMTIwMjYgMDAwMDAgbiAKMDAwMDAxMjA1OCAwMDAwMCBuIAowMDAwMDEyMjAwIDAwMDAwIG4gCjAwMDAwMTIyMjEgMDAwMDAgbiAKMDAwMDAxMjI0MiAwMDAwMCBuIAowMDAwMDAwMDY1IDAwMDAwIG4gCjAwMDAwMDAzOTYgMDAwMDAgbiAKMDAwMDAwMDIwOCAwMDAwMCBuIAowMDAwMDAxNjA4IDAwMDAwIG4gCjAwMDAwMTA1NzQgMDAwMDAgbiAKMDAwMDAxMDM3NCAwMDAwMCBuIAowMDAwMDA5ODg3IDAwMDAwIG4gCjAwMDAwMTE2MjcgMDAwMDAgbiAKMDAwMDAwMTYyOSAwMDAwMCBuIAowMDAwMDAxNzg5IDAwMDAwIG4gCjAwMDAwMDIxMjEgMDAwMDAgbiAKMDAwMDAwMjI0MiAwMDAwMCBuIAowMDAwMDAyMzg5IDAwMDAwIG4gCjAwMDAwMDI2MjcgMDAwMDAgbiAKMDAwMDAwMjkyNyAwMDAwMCBuIAowMDAwMDAzMzA0IDAwMDAwIG4gCjAwMDAwMDM2MDcgMDAwMDAgbiAKMDAwMDAwMzc0NyAwMDAwMCBuIAowMDAwMDA0MDQ3IDAwMDAwIG4gCjAwMDAwMDQzNjUgMDAwMDAgbiAKMDAwMDAwNDgzMCAwMDAwMCBuIAowMDAwMDA0OTczIDAwMDAwIG4gCjAwMDAwMDUyOTMgMDAwMDAgbiAKMDAwMDAwNTUyOSAwMDAwMCBuIAowMDAwMDA1NjY5IDAwMDAwIG4gCjAwMDAwMDU4MjIgMDAwMDAgbiAKMDAwMDAwNTkzOSAwMDAwMCBuIAowMDAwMDA2MjY3IDAwMDAwIG4gCjAwMDAwMDY1MDEgMDAwMDAgbiAKMDAwMDAwNjc4OCAwMDAwMCBuIAowMDAwMDA2OTQwIDAwMDAwIG4gCjAwMDAwMDcyNDkgMDAwMDAgbiAKMDAwMDAwNzM3MCAwMDAwMCBuIAowMDAwMDA3NjAwIDAwMDAwIG4gCjAwMDAwMDgwMDUgMDAwMDAgbiAKMDAwMDAwODE0NSAwMDAwMCBuIAowMDAwMDA4NTM1IDAwMDAwIG4gCjAwMDAwMDg2MjQgMDAwMDAgbiAKMDAwMDAwODgyOCAwMDAwMCBuIAowMDAwMDA5MTQ5IDAwMDAwIG4gCjAwMDAwMDkzOTMgMDAwMDAgbiAKMDAwMDAwOTYwNCAwMDAwMCBuIAowMDAwMDEyMzIzIDAwMDAwIG4gCnRyYWlsZXIKPDwgL0luZm8gNTAgMCBSIC9Sb290IDEgMCBSIC9TaXplIDUxID4+CnN0YXJ0eHJlZgoxMjQ4MAolJUVPRgo=\n",
|
|
"image/png": "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liTX0qjmqk4JopyVx3TfAwcOZP369SxcuJD+/fvTq1cv+vfvz5o1a04q+69//Yt+/fqxe/dudu7cyZVXXknPnj3p2bMnH374IQB//etf6du3L+np6YwbN468vDwA/vKXv9CpUycuvPBCPvjgg1PGNWbMGO6880769+9PWloab7zxBgDvvvsuAwcO5Morr6RLly7ceuut5OfnA1C3bt3C/d944w3GjBnDhx9+yIwZM/jJT35Ceno6GzZsiPh3UxXtO3yc6Z9lMe6FxfT+5Vxue/FT3lu3m0u6t+Av3zmXxf83lMeu7cWIbi2oXUOtzvKNqvWv4a0JsGN52R6zeXcY+duIipbXdN///Oc/6d69O2effTYLFiygevXqvP3229x777387W9/Kyw3ffp0HnnkEWbOnEnDhg0ZPXo0F154IdOnTycvL48DBw6watUqXn31VT744AMSExP54Q9/yIsvvsiwYcO47777WLJkCcnJyQwePLjYaUJCbd++nffff5/Vq1dz+eWXc8011wCwcOFCVq5cSdu2bRkxYgTTpk0r3FZU//79ufzyy7n00kuLLVPV7T5wlLkrA09c+3DDbo7nOc3q12R0RmtGdGvBue0aUj1Bfx9KyapWgoiR8prue/DgwSQkJNCjRw8eeOAB9u3bxy233MK6deswM44fP15Ydt68eSxevJg5c+ZQv359AP7973/z/PPPA4GmreTkZF544QWWLFnCueeeW1iXpk2b8sknnzBo0CCaNGkCwOjRo1m7du0pfxff+ta3qFatGl26dGHnzp2F6/v27UtaWhoA1113He+//76+/EvpaG4ebyzJYsbSbSzanEO+Q5tGtfnu+alc3K056a0aUE2jmaUUqlaCiPAv/bJWXtN9Fzzwp8Bdd93F4MGDmT59Ops3by6cuRUgLS2NjRs3snbt2hKfD+3u3HLLLfzmN785Yf2bb755WgOiQqcLD50HrOixCpZD14ebmlwgL99587Ot/P7ttWR9dZhOzeoy/qKOjOjanHNaaOCanD5dY5ajgum+J02adMJf83DidN/hTJw4kUmTJpXq8/bt20fLli0BCntGFWjbti3Tpk3j5ptvJjMz8CymIUOG8MQTTwCB5rCvv/6aIUOG8MYbb7Br1y4AcnJy2LJlC+eddx7vvvsue/bs4fjx47z++uuliq2ohQsXsmnTJvLz83n1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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"sns.lineplot(x='total time', y='test Accuracy', data=batch_one_train, label='RNN: Batch=1')\n",
|
|
"sns.lineplot(x='total time', y='test Accuracy', data=packed_train, label='RNN:Pakced Input')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 28,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:19:39.901151Z",
|
|
"start_time": "2021-04-05T02:19:39.833986Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Arabic : 0.586722744628787 %\n",
|
|
"Chinese : 0.5682710558176041 %\n",
|
|
"Czech : 15.79725593328476 %\n",
|
|
"Dutch : 5.215919017791748 %\n",
|
|
"English : 42.07158088684082 %\n",
|
|
"French : 1.7968742176890373 %\n",
|
|
"German : 13.949412107467651 %\n",
|
|
"Greek : 0.40299338288605213 %\n",
|
|
"Irish : 2.425672672688961 %\n",
|
|
"Italian : 5.216174945235252 %\n",
|
|
"Japanese : 0.3031977219507098 %\n",
|
|
"Korean : 0.7202120032161474 %\n",
|
|
"Polish : 2.772565931081772 %\n",
|
|
"Portuguese : 0.9149040095508099 %\n",
|
|
"Russian : 4.370814561843872 %\n",
|
|
"Scottish : 1.0111995041370392 %\n",
|
|
"Spanish : 1.2703102082014084 %\n",
|
|
"Vietnamese : 0.6059217266738415 %\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"pred_rnn = rnn_packed.to(\"cpu\").eval()\n",
|
|
"\n",
|
|
"with torch.no_grad():\n",
|
|
" preds = F.softmax(pred_rnn(dataset.string2InputVec(\"frank\").reshape(1,-1)), dim=-1)\n",
|
|
" for class_id in range(len(dataset.label_names)):\n",
|
|
" print(dataset.label_names[class_id], \":\", preds[0,class_id].item()*100 , \"%\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 29,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:22:10.628335Z",
|
|
"start_time": "2021-04-05T02:19:39.902969Z"
|
|
},
|
|
"tags": [
|
|
"remove_output"
|
|
]
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "356efdc9c90d4534aa381cc713b8bd23",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Epoch'), FloatProgress(value=0.0, max=20.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"rnn_3layer = nn.Sequential(\n",
|
|
" EmbeddingPackable(nn.Embedding(vocab_size, D)), #(B, T) -> (B, T, D)\n",
|
|
" nn.RNN(D, hidden_nodes, num_layers=3, batch_first=True), #(B, T, D) -> ( (B,T,D) , (S, B, D) )\n",
|
|
" LastTimeStep(rnn_layers=3), #We need to take the RNN output and reduce it to one item, (B, D)\n",
|
|
" nn.Linear(hidden_nodes, classes), #(B, D) -> (B, classes)\n",
|
|
")\n",
|
|
"\n",
|
|
"rnn_3layer.to(device)\n",
|
|
"rnn_3layer_results = train_simple_network(rnn_3layer, loss_func, train_loader, test_loader=test_loader, score_funcs={'Accuracy': accuracy_score}, device=device, epochs=20, lr=0.01)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 30,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:22:10.895760Z",
|
|
"start_time": "2021-04-05T02:22:10.629737Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<AxesSubplot:xlabel='epoch', ylabel='test Accuracy'>"
|
|
]
|
|
},
|
|
"execution_count": 30,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/pdf": "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cm9jcyAxNSAwIFIKL0VuY29kaW5nIDw8Ci9EaWZmZXJlbmNlcyBbIDMyIC9zcGFjZSA0NSAvaHlwaGVuIC9wZXJpb2QgNDggL3plcm8gL29uZSAvdHdvIC90aHJlZSA1MyAvZml2ZSAvc2l4Ci9zZXZlbiA1OCAvY29sb24gNjUgL0EgNzYgL0wgNzggL04gODIgL1IgOTcgL2EgOTkgL2MgMTAxIC9lIDEwNCAvaCAxMTEgL28KL3AgMTE0IC9yIC9zIC90IC91IDEyMSAveSBdCi9UeXBlIC9FbmNvZGluZyA+PgovRmlyc3RDaGFyIDAgL0ZvbnRCQm94IFsgLTEwMjEgLTQ2MyAxNzk0IDEyMzMgXSAvRm9udERlc2NyaXB0b3IgMTMgMCBSCi9Gb250TWF0cml4IFsgMC4wMDEgMCAwIDAuMDAxIDAgMCBdIC9MYXN0Q2hhciAyNTUgL05hbWUgL0RlamFWdVNhbnMKL1N1YnR5cGUgL1R5cGUzIC9UeXBlIC9Gb250IC9XaWR0aHMgMTIgMCBSID4+CmVuZG9iagoxMyAwIG9iago8PCAvQXNjZW50IDkyOSAvQ2FwSGVpZ2h0IDAgL0Rlc2NlbnQgLTIzNiAvRmxhZ3MgMzIKL0ZvbnRCQm94IFsgLTEwMjEgLTQ2MyAxNzk0IDEyMzMgXSAvRm9udE5hbWUgL0RlamFWdVNhbnMgL0l0YWxpY0FuZ2xlIDAKL01heFdpZHRoIDEzNDIgL1N0ZW1WIDAgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9YSGVpZ2h0IDAgPj4KZW5kb2JqCjEyIDAgb2JqClsgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAKNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCAzMTggNDAxIDQ2MCA4MzggNjM2Cjk1MCA3ODAgMjc1IDM5MCAzOTAgNTAwIDgzOCAzMTggMzYxIDMxOCAzMzcgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNgo2MzYgNjM2IDMzNyAzMzcgODM4IDgzOCA4MzggNTMxIDEwMDAgNjg0IDY4NiA2OTggNzcwIDYzMiA1NzUgNzc1IDc1MiAyOTUKMjk1IDY1NiA1NTcgODYzIDc0OCA3ODcgNjAzIDc4NyA2OTUgNjM1IDYxMSA3MzIgNjg0IDk4OSA2ODUgNjExIDY4NSAzOTAgMzM3CjM5MCA4MzggNTAwIDUwMCA2MTMgNjM1IDU1MCA2MzUgNjE1IDM1MiA2MzUgNjM0IDI3OCAyNzggNTc5IDI3OCA5NzQgNjM0IDYxMgo2MzUgNjM1IDQxMSA1MjEgMzkyIDYzNCA1OTIgODE4IDU5MiA1OTIgNTI1IDYzNiAzMzcgNjM2IDgzOCA2MDAgNjM2IDYwMCAzMTgKMzUyIDUxOCAxMDAwIDUwMCA1MDAgNTAwIDEzNDIgNjM1IDQwMCAxMDcwIDYwMCA2ODUgNjAwIDYwMCAzMTggMzE4IDUxOCA1MTgKNTkwIDUwMCAxMDAwIDUwMCAxMDAwIDUyMSA0MDAgMTAyMyA2MDAgNTI1IDYxMSAzMTggNDAxIDYzNiA2MzYgNjM2IDYzNiAzMzcKNTAwIDUwMCAxMDAwIDQ3MSA2MTIgODM4IDM2MSAxMDAwIDUwMCA1MDAgODM4IDQwMSA0MDEgNTAwIDYzNiA2MzYgMzE4IDUwMAo0MDEgNDcxIDYxMiA5NjkgOTY5IDk2OSA1MzEgNjg0IDY4NCA2ODQgNjg0IDY4NCA2ODQgOTc0IDY5OCA2MzIgNjMyIDYzMiA2MzIKMjk1IDI5NSAyOTUgMjk1IDc3NSA3NDggNzg3IDc4NyA3ODcgNzg3IDc4NyA4MzggNzg3IDczMiA3MzIgNzMyIDczMiA2MTEgNjA1CjYzMCA2MTMgNjEzIDYxMyA2MTMgNjEzIDYxMyA5ODIgNTUwIDYxNSA2MTUgNjE1IDYxNSAyNzggMjc4IDI3OCAyNzggNjEyIDYzNAo2MTIgNjEyIDYxMiA2MTIgNjEyIDgzOCA2MTIgNjM0IDYzNCA2MzQgNjM0IDU5MiA2MzUgNTkyIF0KZW5kb2JqCjE1IDAgb2JqCjw8IC9BIDE2IDAgUiAvTCAxNyAwIFIgL04gMTggMCBSIC9SIDE5IDAgUiAvYSAyMCAwIFIgL2MgMjEgMCBSCi9jb2xvbiAyMiAwIFIgL2UgMjMgMCBSIC9maXZlIDI0IDAgUiAvaCAyNSAwIFIgL2h5cGhlbiAyNiAwIFIgL28gMjcgMCBSCi9vbmUgMjggMCBSIC9wIDI5IDAgUiAvcGVyaW9kIDMwIDAgUiAvciAzMSAwIFIgL3MgMzIgMCBSIC9zZXZlbiAzMyAwIFIKL3NpeCAzNCAwIFIgL3NwYWNlIDM1IDAgUiAvdCAzNiAwIFIgL3RocmVlIDM3IDAgUiAvdHdvIDM4IDAgUiAvdSAzOSAwIFIKL3kgNDAgMCBSIC96ZXJvIDQxIDAgUiA+PgplbmRvYmoKMyAwIG9iago8PCAvRjEgMTQgMCBSID4+CmVuZG9iago0IDAgb2JqCjw8IC9BMSA8PCAvQ0EgMCAvVHlwZSAvRXh0R1N0YXRlIC9jYSAxID4+Ci9BMiA8PCAvQ0EgMSAvVHlwZSAvRXh0R1N0YXRlIC9jYSAxID4+Ci9BMyA8PCAvQ0EgMC44IC9UeXBlIC9FeHRHU3RhdGUgL2NhIDAuOCA+PiA+PgplbmRvYmoKNSAwIG9iago8PCA+PgplbmRvYmoKNiAwIG9iago8PCA+PgplbmRvYmoKNyAwIG9iago8PCA+PgplbmRvYmoKMiAwIG9iago8PCAvQ291bnQgMSAvS2lkcyBbIDEwIDAgUiBdIC9UeXBlIC9QYWdlcyA+PgplbmRvYmoKNDIgMCBvYmoKPDwgL0NyZWF0aW9uRGF0ZSAoRDoyMDIxMDQwNDIyMjIxMC0wNCcwMCcpCi9DcmVhdG9yIChNYXRwbG90bGliIHYzLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZykKL1Byb2R1Y2VyIChNYXRwbG90bGliIHBkZiBiYWNrZW5kIHYzLjMuMikgPj4KZW5kb2JqCnhyZWYKMCA0MwowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMTYgMDAwMDAgbiAKMDAwMDAxMDMzMiAwMDAwMCBuIAowMDAwMDEwMDk1IDAwMDAwIG4gCjAwMDAwMTAxMjcgMDAwMDAgbiAKMDAwMDAxMDI2OSAwMDAwMCBuIAowMDAwMDEwMjkwIDAwMDAwIG4gCjAwMDAwMTAzMTEgMDAwMDAgbiAKMDAwMDAwMDA2NSAwMDAwMCBuIAowMDAwMDAwNDAxIDAwMDAwIG4gCjAwMDAwMDAyMDggMDAwMDAgbiAKMDAwMDAwMTY4NiAwMDAwMCBuIAowMDAwMDA4NzIyIDAwMDAwIG4gCjAwMDAwMDg1MjIgMDAwMDAgbiAKMDAwMDAwODA2MCAwMDAwMCBuIAowMDAwMDA5Nzc1IDAwMDAwIG4gCjAwMDAwMDE3MDcgMDAwMDAgbiAKMDAwMDAwMTg2NyAwMDAwMCBuIAowMDAwMDAxOTk4IDAwMDAwIG4gCjAwMDAwMDIxNDUgMDAwMDAgbiAKMDAwMDAwMjQ0NSAwMDAwMCBuIAowMDAwMDAyODIyIDAwMDAwIG4gCjAwMDAwMDMxMjUgMDAwMDAgbiAKMDAwMDAwMzI2NSAwMDAwMCBuIAowMDAwMDAzNTgzIDAwMDAwIG4gCjAwMDAwMDM5MDMgMDAwMDAgbiAKMDAwMDAwNDEzOSAwMDAwMCBuIAowMDAwMDA0MjYzIDAwMDAwIG4gCjAwMDAwMDQ1NTAgMDAwMDAgbiAKMDAwMDAwNDcwMiAwMDAwMCBuIAowMDAwMDA1MDExIDAwMDAwIG4gCjAwMDAwMDUxMzIgMDAwMDAgbiAKMDAwMDAwNTM2MiAwMDAwMCBuIAowMDAwMDA1NzY3IDAwMDAwIG4gCjAwMDAwMDU5MDcgMDAwMDAgbiAKMDAwMDAwNjI5NyAwMDAwMCBuIAowMDAwMDA2Mzg2IDAwMDAwIG4gCjAwMDAwMDY1OTAgMDAwMDAgbiAKMDAwMDAwNzAwMSAwMDAwMCBuIAowMDAwMDA3MzIyIDAwMDAwIG4gCjAwMDAwMDc1NjYgMDAwMDAgbiAKMDAwMDAwNzc3NyAwMDAwMCBuIAowMDAwMDEwMzkyIDAwMDAwIG4gCnRyYWlsZXIKPDwgL0luZm8gNDIgMCBSIC9Sb290IDEgMCBSIC9TaXplIDQzID4+CnN0YXJ0eHJlZgoxMDU0OQolJUVPRgo=\n",
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"sns.lineplot(x='epoch', y='test Accuracy', data=packed_train, label='RNN: 1-Layer')\n",
|
|
"sns.lineplot(x='epoch', y='test Accuracy', data=rnn_3layer_results, label='RNN: 3-Layer')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 31,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:25:25.544944Z",
|
|
"start_time": "2021-04-05T02:22:10.897146Z"
|
|
},
|
|
"tags": [
|
|
"remove_output"
|
|
]
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "f83b2184a5b54713bdd62fc769d7d38e",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Epoch'), FloatProgress(value=0.0, max=20.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Training'), FloatProgress(value=0.0, max=1236.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(HTML(value='Testing'), FloatProgress(value=0.0, max=19.0), HTML(value='')))"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"rnn_3layer_bidir = nn.Sequential(\n",
|
|
" EmbeddingPackable(nn.Embedding(vocab_size, D)), #(B, T) -> (B, T, D)\n",
|
|
" nn.RNN(D, hidden_nodes, num_layers=3, batch_first=True, bidirectional=True), #(B, T, D) -> ( (B,T,D) , (S, B, D) )\n",
|
|
" LastTimeStep(rnn_layers=3, bidirectional=True), #We need to take the RNN output and reduce it to one item, (B, D)\n",
|
|
" nn.Linear(hidden_nodes*2, classes), #(B, D) -> (B, classes)\n",
|
|
")\n",
|
|
"\n",
|
|
"rnn_3layer_bidir.to(device)\n",
|
|
"rnn_3layer_bidir_results = train_simple_network(rnn_3layer_bidir, loss_func, train_loader, test_loader=test_loader, score_funcs={'Accuracy': accuracy_score}, device=device, epochs=20, lr=0.01)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 32,
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2021-04-05T02:25:25.846176Z",
|
|
"start_time": "2021-04-05T02:25:25.546310Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<AxesSubplot:xlabel='epoch', ylabel='test Accuracy'>"
|
|
]
|
|
},
|
|
"execution_count": 32,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/pdf": "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Y2UgNDUgL2h5cGhlbiAvcGVyaW9kIDQ4IC96ZXJvIC9vbmUgL3R3byAvdGhyZWUgNTMgL2ZpdmUgL3NpeAovc2V2ZW4gNTggL2NvbG9uIDY1IC9BIC9CIDY4IC9EIDc2IC9MIDc4IC9OIDgyIC9SIDk3IC9hIDk5IC9jIDEwMSAvZSAxMDQgL2gKL2kgMTExIC9vIC9wIDExNCAvciAvcyAvdCAvdSAxMjEgL3kgXQovVHlwZSAvRW5jb2RpbmcgPj4KL0ZpcnN0Q2hhciAwIC9Gb250QkJveCBbIC0xMDIxIC00NjMgMTc5NCAxMjMzIF0gL0ZvbnREZXNjcmlwdG9yIDEzIDAgUgovRm9udE1hdHJpeCBbIDAuMDAxIDAgMCAwLjAwMSAwIDAgXSAvTGFzdENoYXIgMjU1IC9OYW1lIC9EZWphVnVTYW5zCi9TdWJ0eXBlIC9UeXBlMyAvVHlwZSAvRm9udCAvV2lkdGhzIDEyIDAgUiA+PgplbmRvYmoKMTMgMCBvYmoKPDwgL0FzY2VudCA5MjkgL0NhcEhlaWdodCAwIC9EZXNjZW50IC0yMzYgL0ZsYWdzIDMyCi9Gb250QkJveCBbIC0xMDIxIC00NjMgMTc5NCAxMjMzIF0gL0ZvbnROYW1lIC9EZWphVnVTYW5zIC9JdGFsaWNBbmdsZSAwCi9NYXhXaWR0aCAxMzQyIC9TdGVtViAwIC9UeXBlIC9Gb250RGVzY3JpcHRvciAvWEhlaWdodCAwID4+CmVuZG9iagoxMiAwIG9iagpbIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwCjYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgMzE4IDQwMSA0NjAgODM4IDYzNgo5NTAgNzgwIDI3NSAzOTAgMzkwIDUwMCA4MzggMzE4IDM2MSAzMTggMzM3IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYKNjM2IDYzNiAzMzcgMzM3IDgzOCA4MzggODM4IDUzMSAxMDAwIDY4NCA2ODYgNjk4IDc3MCA2MzIgNTc1IDc3NSA3NTIgMjk1CjI5NSA2NTYgNTU3IDg2MyA3NDggNzg3IDYwMyA3ODcgNjk1IDYzNSA2MTEgNzMyIDY4NCA5ODkgNjg1IDYxMSA2ODUgMzkwIDMzNwozOTAgODM4IDUwMCA1MDAgNjEzIDYzNSA1NTAgNjM1IDYxNSAzNTIgNjM1IDYzNCAyNzggMjc4IDU3OSAyNzggOTc0IDYzNCA2MTIKNjM1IDYzNSA0MTEgNTIxIDM5MiA2MzQgNTkyIDgxOCA1OTIgNTkyIDUyNSA2MzYgMzM3IDYzNiA4MzggNjAwIDYzNiA2MDAgMzE4CjM1MiA1MTggMTAwMCA1MDAgNTAwIDUwMCAxMzQyIDYzNSA0MDAgMTA3MCA2MDAgNjg1IDYwMCA2MDAgMzE4IDMxOCA1MTggNTE4CjU5MCA1MDAgMTAwMCA1MDAgMTAwMCA1MjEgNDAwIDEwMjMgNjAwIDUyNSA2MTEgMzE4IDQwMSA2MzYgNjM2IDYzNiA2MzYgMzM3CjUwMCA1MDAgMTAwMCA0NzEgNjEyIDgzOCAzNjEgMTAwMCA1MDAgNTAwIDgzOCA0MDEgNDAxIDUwMCA2MzYgNjM2IDMxOCA1MDAKNDAxIDQ3MSA2MTIgOTY5IDk2OSA5NjkgNTMxIDY4NCA2ODQgNjg0IDY4NCA2ODQgNjg0IDk3NCA2OTggNjMyIDYzMiA2MzIgNjMyCjI5NSAyOTUgMjk1IDI5NSA3NzUgNzQ4IDc4NyA3ODcgNzg3IDc4NyA3ODcgODM4IDc4NyA3MzIgNzMyIDczMiA3MzIgNjExIDYwNQo2MzAgNjEzIDYxMyA2MTMgNjEzIDYxMyA2MTMgOTgyIDU1MCA2MTUgNjE1IDYxNSA2MTUgMjc4IDI3OCAyNzggMjc4IDYxMiA2MzQKNjEyIDYxMiA2MTIgNjEyIDYxMiA4MzggNjEyIDYzNCA2MzQgNjM0IDYzNCA1OTIgNjM1IDU5MiBdCmVuZG9iagoxNSAwIG9iago8PCAvQSAxNiAwIFIgL0IgMTcgMCBSIC9EIDE4IDAgUiAvTCAxOSAwIFIgL04gMjAgMCBSIC9SIDIxIDAgUiAvYSAyMiAwIFIKL2MgMjMgMCBSIC9jb2xvbiAyNCAwIFIgL2UgMjUgMCBSIC9maXZlIDI2IDAgUiAvaCAyNyAwIFIgL2h5cGhlbiAyOCAwIFIKL2kgMjkgMCBSIC9vIDMwIDAgUiAvb25lIDMxIDAgUiAvcCAzMiAwIFIgL3BlcmlvZCAzMyAwIFIgL3IgMzQgMCBSCi9zIDM1IDAgUiAvc2V2ZW4gMzYgMCBSIC9zaXggMzcgMCBSIC9zcGFjZSAzOCAwIFIgL3QgMzkgMCBSIC90aHJlZSA0MCAwIFIKL3R3byA0MSAwIFIgL3UgNDIgMCBSIC95IDQzIDAgUiAvemVybyA0NCAwIFIgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL0YxIDE0IDAgUiA+PgplbmRvYmoKNCAwIG9iago8PCAvQTEgPDwgL0NBIDAgL1R5cGUgL0V4dEdTdGF0ZSAvY2EgMSA+PgovQTIgPDwgL0NBIDEgL1R5cGUgL0V4dEdTdGF0ZSAvY2EgMSA+PgovQTMgPDwgL0NBIDAuOCAvVHlwZSAvRXh0R1N0YXRlIC9jYSAwLjggPj4gPj4KZW5kb2JqCjUgMCBvYmoKPDwgPj4KZW5kb2JqCjYgMCBvYmoKPDwgPj4KZW5kb2JqCjcgMCBvYmoKPDwgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL0NvdW50IDEgL0tpZHMgWyAxMCAwIFIgXSAvVHlwZSAvUGFnZXMgPj4KZW5kb2JqCjQ1IDAgb2JqCjw8IC9DcmVhdGlvbkRhdGUgKEQ6MjAyMTA0MDQyMjI1MjUtMDQnMDAnKQovQ3JlYXRvciAoTWF0cGxvdGxpYiB2My4zLjIsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcpCi9Qcm9kdWNlciAoTWF0cGxvdGxpYiBwZGYgYmFja2VuZCB2My4zLjIpID4+CmVuZG9iagp4cmVmCjAgNDYKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE2IDAwMDAwIG4gCjAwMDAwMTEyMjcgMDAwMDAgbiAKMDAwMDAxMDk5MCAwMDAwMCBuIAowMDAwMDExMDIyIDAwMDAwIG4gCjAwMDAwMTExNjQgMDAwMDAgbiAKMDAwMDAxMTE4NSAwMDAwMCBuIAowMDAwMDExMjA2IDAwMDAwIG4gCjAwMDAwMDAwNjUgMDAwMDAgbiAKMDAwMDAwMDM5NiAwMDAwMCBuIAowMDAwMDAwMjA4IDAwMDAwIG4gCjAwMDAwMDE4MzQgMDAwMDAgbiAKMDAwMDAwOTU4NyAwMDAwMCBuIAowMDAwMDA5Mzg3IDAwMDAwIG4gCjAwMDAwMDg5MTMgMDAwMDAgbiAKMDAwMDAxMDY0MCAwMDAwMCBuIAowMDAwMDAxODU1IDAwMDAwIG4gCjAwMDAwMDIwMTUgMDAwMDAgbiAKMDAwMDAwMjM0NyAwMDAwMCBuIAowMDAwMDAyNTgwIDAwMDAwIG4gCjAwMDAwMDI3MTEgMDAwMDAgbiAKMDAwMDAwMjg1OCAwMDAwMCBuIAowMDAwMDAzMTU4IDAwMDAwIG4gCjAwMDAwMDM1MzUgMDAwMDAgbiAKMDAwMDAwMzgzOCAwMDAwMCBuIAowMDAwMDAzOTc4IDAwMDAwIG4gCjAwMDAwMDQyOTYgMDAwMDAgbiAKMDAwMDAwNDYxNiAwMDAwMCBuIAowMDAwMDA0ODUyIDAwMDAwIG4gCjAwMDAwMDQ5NzYgMDAwMDAgbiAKMDAwMDAwNTExNiAwMDAwMCBuIAowMDAwMDA1NDAzIDAwMDAwIG4gCjAwMDAwMDU1NTUgMDAwMDAgbiAKMDAwMDAwNTg2NCAwMDAwMCBuIAowMDAwMDA1OTg1IDAwMDAwIG4gCjAwMDAwMDYyMTUgMDAwMDAgbiAKMDAwMDAwNjYyMCAwMDAwMCBuIAowMDAwMDA2NzYwIDAwMDAwIG4gCjAwMDAwMDcxNTAgMDAwMDAgbiAKMDAwMDAwNzIzOSAwMDAwMCBuIAowMDAwMDA3NDQzIDAwMDAwIG4gCjAwMDAwMDc4NTQgMDAwMDAgbiAKMDAwMDAwODE3NSAwMDAwMCBuIAowMDAwMDA4NDE5IDAwMDAwIG4gCjAwMDAwMDg2MzAgMDAwMDAgbiAKMDAwMDAxMTI4NyAwMDAwMCBuIAp0cmFpbGVyCjw8IC9JbmZvIDQ1IDAgUiAvUm9vdCAxIDAgUiAvU2l6ZSA0NiA+PgpzdGFydHhyZWYKMTE0NDQKJSVFT0YK\n",
|
|
"image/png": "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AOTm5rJ27Vquuuoq3nrrLUJCQti0aRObNm3iX//6F4cPHwZg48aNPP30080qOYBeQdRf4jIQbxjY5AvTKlWr+nzSd6Xi4mJiY2M5cuQII0eO5PLLLz9jf48ePYiLi+ODDz5wePwjjzzCtddey9VXX33G9oSEBJfHWl5ezpw5c0hISMDb25ukpCQALr74Yu655x7S09P59NNPuemmm/Dx8WHFihXs2LGDTz75BLAlj/379+Pn50dcXFy95h80FXoFUR+V3Us9L4FAJ8txKKWqVI5BHD16lLKysjPGICo98sgjPPfcc1it1rP29e7dm9jYWD766KMGxXHllVcSGxvLrFmzam0zb948IiIi2L59O5s3bz5jbGT69Om8//77LFq0iJkzZwK2yWivvvoqCQkJJCQkcPjwYa644goAAgMDGxSvp+gVRH2kboGcZLj4rMXxlFL1EBISwiuvvMJ1113H3Xfffca+/v37M3DgQL788kvi4s6u0fnoo4+edQVRX99+++052+Tm5hIVFYWXlxeLFy8+o9trxowZxMXF0blzZwYNsl2NXXnllbz22mtceuml+Pr6kpSURGSkoxUOmg+9gqiPxE/B2w/6N+yPUyllG0AeNmwYS5YsOWvfo48+SkpKisPjBg0axIgRI87YVtsYxCuvvEJUVBQpKSkMHTq0ziuGq6++mqioKKKiorjlllv47W9/y+LFi7noootISko64yogIiKCAQMGVF09gG1sYuDAgYwYMYLBgwfzm9/8hoqKirpegiZPjGnQEgpNyqhRo4zb7mW2WmHeQOg6AqY57h9Vqinbs2cPAwYM8HQYLUJRURFDhgxh69athISEeDocpzn6GxCRLcaYUY7a6xWEs5LXQf5xvXtJqVZu5cqV9O/fn3vvvbdZJYfzoWMQzkpcBr5tod8UT0eilPKgyy67jOTkZE+H0Sj0CsIZlgrb2g99rwS/5nk3glJK1ZcmCGcc/gmKMrX2klKqVdEE4YzET8EvCHpffu62SinVQmiCOJeKUtjzHxjwM/D193Q0SinVaDRBnMuB76E0V7uXlHKBxi73fccddzBs2DCGDh3KzTffTEFBgcN2Wu7bMU0Q55K4DAI62MprKKUapLHLfc+bN4/t27ezY8cOoqOjWbBgQYPibygt992SlBXCvq9g6K3g7evpaJRyna/n2ha9cqXOQ2DKs043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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"sns.lineplot(x='epoch', y='test Accuracy', data=packed_train, label='RNN: 1-Layer')\n",
|
|
"sns.lineplot(x='epoch', y='test Accuracy', data=rnn_3layer_results, label='RNN: 3-Layer')\n",
|
|
"sns.lineplot(x='epoch', y='test Accuracy', data=rnn_3layer_bidir_results, label='RNN: 3-Layer BiDir')"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"author": "A Note About Classification & Meaning",
|
|
"celltoolbar": "Tags",
|
|
"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.9"
|
|
},
|
|
"latex_envs": {
|
|
"LaTeX_envs_menu_present": true,
|
|
"autoclose": false,
|
|
"autocomplete": true,
|
|
"bibliofile": "biblio.bib",
|
|
"cite_by": "apalike",
|
|
"current_citInitial": 1,
|
|
"eqLabelWithNumbers": true,
|
|
"eqNumInitial": 1,
|
|
"hotkeys": {
|
|
"equation": "Ctrl-E",
|
|
"itemize": "Ctrl-I"
|
|
},
|
|
"labels_anchors": false,
|
|
"latex_user_defs": false,
|
|
"report_style_numbering": false,
|
|
"user_envs_cfg": false
|
|
},
|
|
"latex_metadata": {
|
|
"title": "Recurrent Neural Networks"
|
|
},
|
|
"varInspector": {
|
|
"cols": {
|
|
"lenName": 16,
|
|
"lenType": 16,
|
|
"lenVar": 40
|
|
},
|
|
"kernels_config": {
|
|
"python": {
|
|
"delete_cmd_postfix": "",
|
|
"delete_cmd_prefix": "del ",
|
|
"library": "var_list.py",
|
|
"varRefreshCmd": "print(var_dic_list())"
|
|
},
|
|
"r": {
|
|
"delete_cmd_postfix": ") ",
|
|
"delete_cmd_prefix": "rm(",
|
|
"library": "var_list.r",
|
|
"varRefreshCmd": "cat(var_dic_list()) "
|
|
}
|
|
},
|
|
"types_to_exclude": [
|
|
"module",
|
|
"function",
|
|
"builtin_function_or_method",
|
|
"instance",
|
|
"_Feature"
|
|
],
|
|
"window_display": false
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|