{"cells": [{"cell_type": "markdown", "id": "4b7696c8", "metadata": {"papermill": {"duration": 0.004853, "end_time": "2024-09-01T13:46:04.542007", "exception": false, "start_time": "2024-09-01T13:46:04.537154", "status": "completed"}, "tags": []}, "source": ["\n", "# Introduction to PyTorch Lightning\n", "\n", "* **Author:** Lightning.ai\n", "* **License:** CC BY-SA\n", "* **Generated:** 2024-09-01T13:45:57.620593\n", "\n", "In this notebook, we'll go over the basics of lightning by preparing models to train on the [MNIST Handwritten Digits dataset](https://en.wikipedia.org/wiki/MNIST_database).\n", "\n", "---\n", "Open in [![Open In Colab](data:image/png;base64,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){height=\"20px\" width=\"117px\"}](https://colab.research.google.com/github/PytorchLightning/lightning-tutorials/blob/publication/.notebooks/lightning_examples/mnist-hello-world.ipynb)\n", "\n", "Give us a \u2b50 [on Github](https://www.github.com/Lightning-AI/lightning/)\n", "| Check out [the documentation](https://lightning.ai/docs/)\n", "| Join us [on Discord](https://discord.com/invite/tfXFetEZxv)"]}, {"cell_type": "markdown", "id": "f15ecef0", "metadata": {"papermill": {"duration": 0.003759, "end_time": "2024-09-01T13:46:04.549760", "exception": false, "start_time": "2024-09-01T13:46:04.546001", "status": "completed"}, "tags": []}, "source": ["## Setup\n", "This notebook requires some packages besides pytorch-lightning."]}, {"cell_type": "code", "execution_count": 1, "id": "f435c39f", "metadata": {"colab": {}, "colab_type": "code", "execution": {"iopub.execute_input": "2024-09-01T13:46:04.559286Z", "iopub.status.busy": "2024-09-01T13:46:04.558402Z", "iopub.status.idle": "2024-09-01T13:46:05.822325Z", "shell.execute_reply": "2024-09-01T13:46:05.821235Z"}, "id": "LfrJLKPFyhsK", "lines_to_next_cell": 0, "papermill": {"duration": 1.271473, "end_time": "2024-09-01T13:46:05.824954", "exception": false, "start_time": "2024-09-01T13:46:04.553481", "status": "completed"}, "tags": []}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001b[0m\u001b[33m\r\n", "\u001b[0m"]}], "source": ["! pip install --quiet \"torchmetrics>=1.0, <1.5\" \"torchvision\" \"pandas\" \"seaborn\" \"numpy <3.0\" \"torch>=1.8.1, <2.5\" \"torchmetrics >=0.11.0\" \"matplotlib\" \"pytorch-lightning >=2.0,<2.5\""]}, {"cell_type": "code", "execution_count": 2, "id": "09fc675e", "metadata": {"execution": {"iopub.execute_input": "2024-09-01T13:46:05.840078Z", "iopub.status.busy": "2024-09-01T13:46:05.839653Z", "iopub.status.idle": "2024-09-01T13:46:09.644856Z", "shell.execute_reply": "2024-09-01T13:46:09.643678Z"}, "papermill": {"duration": 3.816007, "end_time": "2024-09-01T13:46:09.647692", "exception": false, "start_time": "2024-09-01T13:46:05.831685", "status": "completed"}, "tags": []}, "outputs": [], "source": ["\n", "# ------------------- Preliminaries ------------------- #\n", "import os\n", "from dataclasses import dataclass\n", "from typing import Tuple\n", "\n", "import pandas as pd\n", "import pytorch_lightning as pl\n", "import seaborn as sn\n", "import torch\n", "from IPython.display import display\n", "from pytorch_lightning.loggers import CSVLogger\n", "from torch import nn\n", "from torch.nn import functional as F\n", "from torch.utils.data import DataLoader, random_split\n", "from torchmetrics import Accuracy\n", "from torchvision import transforms\n", "from torchvision.datasets import MNIST\n", "\n", "# ------------------- Configuration ------------------- #\n", "\n", "\n", "@dataclass\n", "class Config:\n", " \"\"\"Configuration options for the Lightning MNIST example.\n", "\n", " Args:\n", " data_dir : The path to the directory where the MNIST dataset is stored. Defaults to the value of\n", " the 'PATH_DATASETS' environment variable or '.' if not set.\n", "\n", " save_dir : The path to the directory where the training logs will be saved. Defaults to 'logs/'.\n", "\n", " batch_size : The batch size to use during training. Defaults to 256 if a GPU is available,\n", " or 64 otherwise.\n", "\n", " max_epochs : The maximum number of epochs to train the model for. Defaults to 3.\n", "\n", " accelerator : The accelerator to use for training. Can be one of \"cpu\", \"gpu\", \"tpu\", \"ipu\", \"auto\".\n", "\n", " devices : The number of devices to use for training. Defaults to 1.\n", "\n", " Examples:\n", " This dataclass can be used to specify the configuration options for training a PyTorch Lightning model on the\n", " MNIST dataset. A new instance of this dataclass can be created as follows:\n", "\n", " >>> config = Config()\n", "\n", " The default values for each argument are shown in the documentation above. If desired, any of these values can be\n", " overridden when creating a new instance of the dataclass:\n", "\n", " >>> config = Config(batch_size=128, max_epochs=5)\n", "\n", " \"\"\"\n", "\n", " data_dir: str = os.environ.get(\"PATH_DATASETS\", \".\")\n", " save_dir: str = \"logs/\"\n", " batch_size: int = 256 if torch.cuda.is_available() else 64\n", " max_epochs: int = 3\n", " accelerator: str = \"auto\"\n", " devices: int = 1\n", "\n", "\n", "config = Config()"]}, {"cell_type": "markdown", "id": "19a6a216", "metadata": {"lines_to_next_cell": 2, "papermill": {"duration": 0.006253, "end_time": "2024-09-01T13:46:09.660666", "exception": false, "start_time": "2024-09-01T13:46:09.654413", "status": "completed"}, "tags": []}, "source": ["## Simplest example\n", "\n", "Here's the simplest most minimal example with just a training loop (no validation, no testing).\n", "\n", "**Keep in Mind** - A `LightningModule` *is* a PyTorch `nn.Module` - it just has a few more helpful features."]}, {"cell_type": "code", "execution_count": 3, "id": "cd5feba0", "metadata": {"execution": {"iopub.execute_input": "2024-09-01T13:46:09.675307Z", "iopub.status.busy": "2024-09-01T13:46:09.674679Z", "iopub.status.idle": "2024-09-01T13:46:09.688416Z", "shell.execute_reply": "2024-09-01T13:46:09.687371Z"}, "papermill": {"duration": 0.023778, "end_time": "2024-09-01T13:46:09.690743", "exception": false, "start_time": "2024-09-01T13:46:09.666965", "status": "completed"}, "tags": []}, "outputs": [], "source": ["\n", "\n", "class MNISTModel(pl.LightningModule):\n", " \"\"\"A PyTorch Lightning module for classifying images in the MNIST dataset.\n", "\n", " Attributes:\n", " l1 : A linear layer that maps input features to output features.\n", "\n", " Methods:\n", " forward(x):\n", " Performs a forward pass through the model.\n", "\n", " training_step(batch, batch_nb):\n", " Defines a single training step for the model.\n", "\n", " configure_optimizers():\n", " Configures the optimizer to use during training.\n", "\n", " Examples:\n", " The MNISTModel class can be used to create and train a PyTorch Lightning model for classifying images in the MNIST\n", " dataset. To create a new instance of the model, simply instantiate the class:\n", "\n", " >>> model = MNISTModel()\n", "\n", " The model can then be trained using a PyTorch Lightning trainer object:\n", "\n", " >>> trainer = pl.Trainer()\n", " >>> trainer.fit(model)\n", "\n", " \"\"\"\n", "\n", " def __init__(self):\n", " \"\"\"Initializes a new instance of the MNISTModel class.\"\"\"\n", " super().__init__()\n", " self.l1 = torch.nn.Linear(28 * 28, 10)\n", "\n", " def forward(self, x: torch.Tensor) -> torch.Tensor:\n", " \"\"\"Performs a forward pass through the model.\n", "\n", " Args:\n", " x : The input tensor to pass through the model.\n", "\n", " Returns:\n", " activated : The output tensor produced by the model.\n", "\n", " Examples:\n", " >>> model = MNISTModel()\n", " >>> x = torch.randn(1, 1, 28, 28)\n", " >>> output = model(x)\n", "\n", " \"\"\"\n", " flattened = x.view(x.size(0), -1)\n", " hidden = self.l1(flattened)\n", " activated = torch.relu(hidden)\n", "\n", " return activated\n", "\n", " def training_step(self, batch: Tuple[torch.Tensor, torch.Tensor], batch_nb: int) -> torch.Tensor:\n", " \"\"\"Defines a single training step for the model.\n", "\n", " Args:\n", " batch: A tuple containing the input and target tensors for the batch.\n", " batch_nb: The batch number.\n", "\n", " Returns:\n", " torch.Tensor: The loss value for the current batch.\n", "\n", " Examples:\n", " >>> model = MNISTModel()\n", " >>> x = torch.randn(1, 1, 28, 28)\n", " >>> y = torch.tensor([1])\n", " >>> loss = model.training_step((x, y), 0)\n", "\n", " \"\"\"\n", " x, y = batch\n", " loss = F.cross_entropy(self(x), y)\n", " return loss\n", "\n", " def configure_optimizers(self) -> torch.optim.Optimizer:\n", " \"\"\"Configures the optimizer to use during training.\n", "\n", " Returns:\n", " torch.optim.Optimizer: The optimizer to use during training.\n", "\n", " Examples:\n", " >>> model = MNISTModel()\n", " >>> optimizer = model.configure_optimizers()\n", "\n", " \"\"\"\n", " return torch.optim.Adam(self.parameters(), lr=0.02)"]}, {"cell_type": "markdown", "id": "3c8bf6a5", "metadata": {"papermill": {"duration": 0.006478, "end_time": "2024-09-01T13:46:09.703625", "exception": false, "start_time": "2024-09-01T13:46:09.697147", "status": "completed"}, "tags": []}, "source": ["By using the `Trainer` you automatically get:\n", "1. Tensorboard logging\n", "2. Model checkpointing\n", "3. Training and validation loop\n", "4. early-stopping"]}, {"cell_type": "code", "execution_count": 4, "id": "15025aa2", "metadata": {"execution": {"iopub.execute_input": "2024-09-01T13:46:09.717839Z", "iopub.status.busy": "2024-09-01T13:46:09.717449Z", "iopub.status.idle": "2024-09-01T13:46:30.095704Z", "shell.execute_reply": "2024-09-01T13:46:30.094685Z"}, "papermill": {"duration": 20.3884, "end_time": "2024-09-01T13:46:30.098330", "exception": false, "start_time": "2024-09-01T13:46:09.709930", "status": "completed"}, "tags": []}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz\n"]}, {"name": "stdout", "output_type": "stream", "text": ["Failed to download (trying next):\n", "HTTP Error 403: Forbidden\n", "\n", "Downloading https://ossci-datasets.s3.amazonaws.com/mnist/train-images-idx3-ubyte.gz\n", "Downloading https://ossci-datasets.s3.amazonaws.com/mnist/train-images-idx3-ubyte.gz to /__w/13/s/.datasets/MNIST/raw/train-images-idx3-ubyte.gz\n"]}, {"name": "stderr", "output_type": "stream", "text": ["\r", " 0%| | 0/9912422 [00:00 torch.Tensor:\n", " \"\"\"Performs a forward pass through the MLP.\n", "\n", " Args:\n", " x : The input data.\n", "\n", " Returns:\n", " torch.Tensor: The output of the MLP.\n", "\n", " \"\"\"\n", " x = self.model(x)\n", " return F.log_softmax(x, dim=1)\n", "\n", " def training_step(self, batch: Tuple[torch.Tensor, torch.Tensor], batch_nb: int) -> torch.Tensor:\n", " \"\"\"Defines a single training step for the MLP.\n", "\n", " Args:\n", " batch: A tuple containing the input data and target labels.\n", "\n", " batch_idx: The index of the current batch.\n", "\n", " Returns:\n", " (torch.Tensor): The training loss.\n", "\n", " \"\"\"\n", " x, y = batch\n", " logits = self(x)\n", " loss = F.nll_loss(logits, y)\n", " return loss\n", "\n", " def validation_step(self, batch: Tuple[torch.Tensor, torch.Tensor], batch_nb: int) -> None:\n", " \"\"\"Defines a single validation step for the MLP.\n", "\n", " Args:\n", " batch : A tuple containing the input data and target labels.\n", " batch_idx : The index of the current batch.\n", "\n", " \"\"\"\n", " x, y = batch\n", " logits = self(x)\n", " loss = F.nll_loss(logits, y)\n", " preds = torch.argmax(logits, dim=1)\n", " self.val_accuracy.update(preds, y)\n", "\n", " # Calling self.log will surface up scalars for you in TensorBoard\n", " self.log(\"val_loss\", loss, prog_bar=True)\n", " self.log(\"val_acc\", self.val_accuracy, prog_bar=True)\n", "\n", " def test_step(self, batch: Tuple[torch.Tensor, torch.Tensor], batch_nb: int) -> None:\n", " \"\"\"Defines a single testing step for the MLP.\n", "\n", " Args:\n", " batch : A tuple containing the input data and target labels.\n", " batch_idx : The index of the current batch.\n", "\n", " \"\"\"\n", " x, y = batch\n", " logits = self(x)\n", " loss = F.nll_loss(logits, y)\n", " preds = torch.argmax(logits, dim=1)\n", " self.test_accuracy.update(preds, y)\n", "\n", " # Calling self.log will surface up scalars for you in TensorBoard\n", " self.log(\"test_loss\", loss, prog_bar=True)\n", " self.log(\"test_acc\", self.test_accuracy, prog_bar=True)\n", "\n", " def configure_optimizers(self) -> torch.optim.Optimizer:\n", " \"\"\"Configures the optimizer to use for training the MLP.\n", "\n", " Returns:\n", " torch.optim.Optimizer: The optimizer.\n", "\n", " \"\"\"\n", " optimizer = torch.optim.Adam(self.parameters(), lr=self.learning_rate)\n", "\n", " return optimizer\n", "\n", " # ------------------------------------- #\n", " # DATA RELATED HOOKS\n", " # ------------------------------------- #\n", "\n", " def prepare_data(self) -> None:\n", " \"\"\"Downloads the MNIST dataset.\"\"\"\n", " MNIST(self.data_dir, train=True, download=True)\n", "\n", " MNIST(self.data_dir, train=False, download=True)\n", "\n", " def setup(self, stage: str = None) -> None:\n", " \"\"\"Splits the MNIST dataset into train, validation, and test sets.\n", "\n", " Args:\n", " stage : The current stage (either \"fit\" or \"test\"). Defaults to None.\n", "\n", " \"\"\"\n", " # Assign train/val datasets for use in dataloaders\n", " if stage == \"fit\" or stage is None:\n", " mnist_full = MNIST(self.data_dir, train=True, transform=self.transform)\n", "\n", " self.mnist_train, self.mnist_val = random_split(mnist_full, [55000, 5000])\n", "\n", " # Assign test dataset for use in dataloader(s)\n", " if stage == \"test\" or stage is None:\n", " self.mnist_test = MNIST(self.data_dir, train=False, transform=self.transform)\n", "\n", " def train_dataloader(self) -> DataLoader:\n", " \"\"\"Returns a DataLoader for the training set.\n", "\n", " Returns:\n", " DataLoader: The training DataLoader.\n", "\n", " \"\"\"\n", " return DataLoader(self.mnist_train, batch_size=config.batch_size)\n", "\n", " def val_dataloader(self) -> DataLoader:\n", " \"\"\"Returns a DataLoader for the validation set.\n", "\n", " Returns:\n", " DataLoader: The validation DataLoader.\n", "\n", " \"\"\"\n", " return DataLoader(self.mnist_val, batch_size=config.batch_size)\n", "\n", " def test_dataloader(self) -> DataLoader:\n", " \"\"\"Returns a DataLoader for the test set.\n", "\n", " Returns:\n", " DataLoader: The test DataLoader.\n", "\n", " \"\"\"\n", " return DataLoader(self.mnist_test, batch_size=config.batch_size)"]}, {"cell_type": "code", "execution_count": 6, "id": "80ebf389", "metadata": {"execution": {"iopub.execute_input": "2024-09-01T13:46:30.190705Z", "iopub.status.busy": "2024-09-01T13:46:30.190456Z", "iopub.status.idle": "2024-09-01T13:46:59.997868Z", "shell.execute_reply": "2024-09-01T13:46:59.997270Z"}, "papermill": {"duration": 29.821746, "end_time": "2024-09-01T13:47:00.000454", "exception": false, "start_time": "2024-09-01T13:46:30.178708", "status": "completed"}, "tags": []}, "outputs": [{"name": "stderr", "output_type": "stream", "text": ["GPU available: True (cuda), used: True\n"]}, {"name": "stderr", "output_type": "stream", "text": ["TPU available: False, using: 0 TPU cores\n"]}, {"name": "stderr", "output_type": "stream", "text": ["HPU available: False, using: 0 HPUs\n"]}, {"name": "stderr", "output_type": "stream", "text": ["Missing logger folder: logs/lightning_logs\n"]}, {"name": "stderr", "output_type": "stream", "text": ["LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0,1]\n"]}, {"name": "stderr", "output_type": "stream", "text": ["\n", " | Name | Type | Params | Mode \n", "-------------------------------------------------------------\n", "0 | model | Sequential | 55.1 K | train\n", "1 | val_accuracy | MulticlassAccuracy | 0 | train\n", "2 | test_accuracy | MulticlassAccuracy | 0 | train\n", "-------------------------------------------------------------\n", "55.1 K Trainable params\n", "0 Non-trainable params\n", "55.1 K Total params\n", "0.220 Total estimated model params size (MB)\n"]}, {"data": {"application/vnd.jupyter.widget-view+json": {"model_id": "64d9ac87cedc499ebbb8ecec36c2a2a9", "version_major": 2, "version_minor": 0}, "text/plain": ["Sanity Checking: | | 0/? [00:00\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
test_acctest_lossval_accval_loss
epoch
0NaNNaN0.86820.476772
1NaNNaN0.89800.342694
2NaNNaN0.91040.296246
30.92320.259774NaNNaN
\n", ""], "text/plain": [" test_acc test_loss val_acc val_loss\n", "epoch \n", "0 NaN NaN 0.8682 0.476772\n", "1 NaN NaN 0.8980 0.342694\n", "2 NaN NaN 0.9104 0.296246\n", "3 0.9232 0.259774 NaN NaN"]}, "metadata": {}, "output_type": "display_data"}, {"data": {"text/plain": [""]}, "execution_count": 9, "metadata": {}, "output_type": "execute_result"}, {"data": {"image/png": "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fdr206dPp1WrVvj5+REVFcXDDz9McXFxtQoWERERqS63g8/8+fNJSUlhwoQJrF+/ntjYWJKSkjh8+HCV7efOncuYMWOYMGEC27ZtY/bs2cyfP5/HH3/8rIsXERERcYfFMAzDnQ4JCQl06dKFF198EQCn00lUVBQPPvggY8aM+V37Bx54gG3btpGenu5a98gjj/Ddd9/x9ddfV7mPkpISSkpKXK/z8vKIiooiNzeX4OBgd8oVERERcXFrxqe0tJR169aRmJj46wasVhITE8nIyKiyT7du3Vi3bp3rcNju3bv59NNP6dOnzyn3k5aWRkhIiGuJiopyp0wRERGRKnm70zgnJweHw0F4eHil9eHh4Wzfvr3KPrfeeis5OTn86U9/wjAMysvLuffee097qCs1NZWUlBTX619mfERERETOxjm/qmvFihVMmTKFl156ifXr17Nw4UKWLFnC5MmTT9nHbrcTHBxcaRERERE5W27N+ISFheHl5UV2dnal9dnZ2TRs2LDKPuPGjeP222/nrrvuAiAmJoaCggLuvvtuxo4di9WqK+pFRETk/HArddhsNjp16lTpRGWn00l6ejpdu3atsk9hYeHvwo2XlxcAbp5XLSIiInJW3JrxAUhJSWHo0KF07tyZ+Ph4pk+fTkFBAcOHDwdgyJAhREZGkpaWBkBycjLTpk2jQ4cOJCQksHPnTsaNG0dycrIrAImIiIicD24Hn0GDBnHkyBHGjx9PVlYWcXFxLF261HXC8/79+yvN8Pztb3/DYrHwt7/9jYMHD1K/fn2Sk5P5+9//XnOjEBERETkDbt/HxxPy8vIICQnRfXxERETkrOjMYhERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERER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cePGf7h/gA4dOpCamso333xDu3btmDt3brVqUfARERGpZaKjo/nuu+/Yu3cvOTk5jBw5kmPHjnHLLbewZs0adu3axWeffcbw4cNxOBx89913TJkyhbVr17J//34WLlzIkSNHXOfSREdHs3nzZjIzM8nJyaGsrMyteu6//34OHDjAgw8+yPbt21m8eDETJkwgJSUFq9V62v3v2bOH1NRUMjIy2LdvH59//jk//vhj9c/zMS4Cubm5BmDk5uZ6uhQREZELXmZmpnH55Zcbfn5+BmDs2bPH2LFjh9G/f3+jTp06hp+fn9G6dWtj1KhRhtPpNH744QcjKSnJqF+/vmG3242WLVsaM2bMcG3v8OHDxtVXX20EBgYagLF8+fLT7n/Pnj0GYGzYsMG1bsWKFUaXLl0Mm81mNGzY0Bg9erRRVlZmGIZx2v1nZWUZ/fr1MyIiIgybzWY0adLEGD9+vOFwOKr1u7EYxm/mnS5QeXl5hISEkJubS3BwsKfLERERkYuUDnWJiIiIaSj4iIiIiFumTJlCYGBglct1113n6fJOS4e6RERExC3Hjh3j2LFjVb7n5+dHZGTkea7ozOkGhiIiIuKW0NBQtx9bcaHQoS4RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxEREakkOjqa6dOne7qMc0LBR0RERExDwUdERERMQ8FHRETEDYVlhRSWFfLLgw+KyosoLCvE4XQAUOIoobCskDJnGQBljjIKywopdZQCUO4sp7CskOLyYgCchtO1zVPtwx3//Oc/adSoEU6ns9L6G264gTvuuINdu3Zxww03EB4eTmBgIF26dGHZsmXu/yL+a9q0acTExBAQEEBUVBT3338/+fn5ldqsWrWKnj174u/vT926dUlKSuL48eMAOJ1Onn76aZo3b47dbueSSy7h73//e7Xr+SMKPiIiIm5ImJtAwtwEjpdU/I/7lk9uIWFuAusPrwcg9atUEuYmsGDHAgBe3fIqCXMTeHrN0wCk708nYW4C9y27D4DdJ3aTMDeBaz+49pT7cMeAAQM4evQoy5cvd607duwYS5cuZfDgweTn59OnTx/S09PZsGED1157LcnJyezfv79avw+r1coLL7zA1q1beeONN/jyyy957LHHXO9v3LiR3r1707ZtWzIyMvj6669JTk7G4agIiqmpqfzjH/9g3Lhx/PDDD8ydO5fw8PBq1XIm9MgKERGRWqRu3bpcd911zJ07l969ewOwYMECwsLC6NWrF1arldjYWFf7yZMns2jRIj766CMeeOABt/c3atQo18/R0dE8+eST3Hvvvbz00ksAPP3003Tu3Nn1GuCyyy4D4OTJkzz//PO8+OKLDB06FIBmzZrxpz/9ye06zpQeUioiIuKGXw5J+Xn7YbFYKCovwjAM7F52vKxelDhKcDgd+Hj54GP1ocxRRpmzDG+rNzYvG+XOckodpVgtVny9fXEaTtdhL38f/yr34a7333+fESNGkJ2djd1up0ePHnTu3JmpU6eSn5/PxIkTWbJkCYcOHaK8vJyioiIeeeQRnn66YlYqOjqaUaNGVQo1p7Js2TLS0tLYvn07eXl5lJeXU1xcTEFBAf7+/rRt25YBAwYwadKk3/VdvXo1CQkJ7N69m0svvdTtcVaHDnWJiIi4wd/HH38ff1cg8fP2w9/HHy+rFwB2Lzv+Pv74WH0A8PHywd/HH5uXDQBvqzf+Pv74evsCYLVYXds81T7clZycjGEYLFmyhAMHDvDVV18xePBgAB599FEWLVrElClT+Oqrr9i4cSMxMTGUlpa6vZ+9e/dy/fXX0759ez744APWrVvHzJkzAVzb8/PzO2X/0713rij4iIiI1DK+vr7ceOONvPPOO7z77ru0atWKjh07AhUnGg8bNoz+/fsTExNDw4YN2bt3b7X2s27dOpxOJ1OnTuXyyy+nZcuW/Pzzz5XatG/fnvT09Cr7t2jRAj8/v1O+fy7oHB8REZFaaPDgwVx//fVs3bqV2267zbW+RYsWLFy4kOTkZCwWC+PGjfvdFWBnqnnz5pSVlTFjxgySk5NZtWoVs2bNqtQmNTWVmJgY7r//fu69915sNhvLly9nwIABhIWFMXr0aB577DFsNhvdu3fnyJEjbN26lTvvvPOsxn8qmvERERGpha666ipCQ0PJzMzk1ltvda2fNm0adevWpVu3biQnJ5OUlOSaDXJXbGws06ZN46mnnqJdu3a88847pKWlVWrTsmVLPv/8czZt2kR8fDxdu3Zl8eLFeHtXzL2MGzeORx55hPHjx9OmTRsGDRrE4cOHqz/wP6CTm0VERMQ0NOMjIiIipqHgIyIiIlV65513CAwMrHL55V48Fxsd6hIREZEqnTx5kuzs7Crf8/HxoUmTJue5orOnq7pERESkSkFBQQQFBXm6jBqlQ10iIiJiGgo+IiIiYhoKPiIiImIaCj4iIiJiGgo+IiIiYhoKPiIiIlJJdHQ006dPP6O2FouFDz/88JzWU5MUfERERMQ0qhV8Zs6cSXR0NL6+viQkJLB69epTtp0zZw4Wi6XS4uvrW+2CRURERKrL7eAzf/58UlJSmDBhAuvXryc2NpakpKTTPkk1ODiYQ4cOuZZ9+/adVdEiIiKe4iwsrHIxHA4ADKez0vpfGGVlVfctKvp126Wlv64vLa1Wff/85z9p1KgRTqez0vobbriBO+64g127dnHDDTcQHh5OYGAgXbp0YdmyZdXaV1W2bNnCVVddhZ+fH/Xq1ePuu+8mPz/f9f6KFSuIj48nICCAOnXq0L17d1cu2LRpE7169SIoKIjg4GA6derE2rVra6w2qEbwmTZtGiNGjGD48OG0bduWWbNm4e/vz2uvvXbKPhaLhYYNG7qW8PDwsypaRETEUzI7dqpyKVy7DoCy/ft/XR+f4Op3/L33quy3Z8AAV5vDzz7rWn/42WerVd+AAQM4evQoy5cvd607duwYS5cuZfDgweTn59OnTx/S09PZsGED1157LcnJyezfv7+av5FfFRQUkJSURN26dVmzZg3vv/8+y5Yt44EHHgCgvLycfv360aNHDzZv3kxGRgZ33303FosFgMGDB9O4cWPWrFnDunXrGDNmDD4+Pmdd12+59ciK0tJS1q1bR2pqqmud1WolMTGRjIyMU/bLz8+nSZMmOJ1OOnbsyJQpU077cLOSkhJKSkpcr/Py8twpU0RExLTq1q3Lddddx9y5c+nduzcACxYsICwsjF69emG1WomNjXW1nzx5MosWLeKjjz5yBZTqmjt3LsXFxbz55psEBAQA8OKLL5KcnMxTTz2Fj48Pubm5XH/99TRr1gyANm3auPrv37+fv/71r7Ru3RqAFi1anFU9VXEr+OTk5OBwOH43YxMeHs727dur7NOqVStee+012rdvT25uLs8++yzdunVj69atNG7cuMo+aWlpTJo0yZ3SREREzotW69dVud5itwPgc8klVbapO3Agdfr3r6KjxfVjg0cfpcGoURUvvKv/OM3BgwczYsQIXnrpJex2O++88w4333wzVquV/Px8Jk6cyJIlSzh06BDl5eUUFRXVyIzPtm3biI2NdYUegO7d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795t+Pv7G3/961+Nbdu2GTNnzjS8vLyMpUuXemoI1ebu2J977jnjww8/NH788Udjy5YtxkMPPWRYrVZj2bJlnhpCtdx3331GSEiIsWLFCuPQoUOupbCw0NWmNn7XqzPu2vI9HzNmjLFy5Upjz549xubNm40xY8YYFovF+Pzzzw3DqJ2ft5w7tSr4GIZhzJgxw7jkkksMm81mxMfHG99++63rvR49ehhDhw6t1P69994zWrZsadhsNuOyyy4zlixZcp4rrjnujH3UqFGutuHh4UafPn2M9evXe6Dqs/PLJdr/u/wy1qFDhxo9evT4XZ+4uDjDZrMZTZs2NV5//fXzXndNcHfsTz31lNGsWTPD19fXCA0NNXr27Gl8+eWXnin+LFQ1ZqDS51gbv+vVGXdt+Z7fcccdRpMmTQybzWbUr1/f6N27tyv0GEbt/Lzl3LEYhmGcv/klEREREc+pNef4iIiIiPwRBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfEalkxYoVWCwWTpw44elSRERqnIKPiIiImIaCj4iIiJiGgo/IBcbpdJKWlsall16Kn58fsbGxLFiwAPj1MNSSJUto3749vr6+XH755Xz//feVtvHBBx9w2WWXYbfbiY6OZurUqZXeLykpYfTo0URFRWG322nevDmzZ8+u1GbdunV07twZf39/unXrRmZm5rkduIjIeaDgI3KBSUtL480332TWrFls3bqVhx9+mNtuu42VK1e62vz1r39l6tSprFmzhvr165OcnExZWRlQEVgGDhzIzTffzJYtW5g4cSLjxo1jzpw5rv5Dhgzh3Xff5YUXXmDbtm288sorBAYGVqpj7NixTJ06lbVr1+Lt7c0dd9xxXsYvInIu6ensIheQkpISQkNDWbZsGV27dnWtv+uuuygsLOTuu++mV69ezJs3j0GDBgFw7NgxGjduzJw5cxg4cCCDBw/myJEjfP75567+jz32GEuWLGHr1q3s2LGDVq1a8cUXX5CYmPi7GlasWEGvXr1YtmwZvXv3BuDTTz+lb9++FBUV4evre45/CyIi545mfEQuIDt37qSwsJCrr76awMBA1/Lmm2+ya9cuV7vfhqLQ0FBatWrFtm3bANi2bRvdu3evtN3u3bvz448/4nA42LhxI15eXvTo0eO0tbRv3971c0REBACHDx8+6zGKiHiSt6cLEJFf5efnA7BkyRIiIyMrvWe32yuFn+ry8/M7o3Y+Pj6uny0WC1Bx/pGIyMVMMz4iF5C2bdtit9vZv38/zZs3r7RERUW52n377beun48fP86OHTto06YNAG3atGHVqlWVtrtq1SpatmyJl5cXMTExOJ3OSucMiYiYhWZ8RC4gQUFBPProozz88MM4nU7+9Kc/kZuby6pVqwgODqZJkyYAPPHEE9SrV4/w8HDGjh1LWFgY/fr1A+CRRx6hS5cuTJ48mUGDBpGRkcGLL77ISy+9BEB0dDRDhw7ljjvu4IUXXiA2NpZ9+/Zx+PBhBg4c6Kmhi4icFwo+IheYyZMnU79+fdLS0ti9ezd16tShY8eOPP74465DTf/4xz946KGH+PHHH4mLi+Pjjz/GZrMB0LFjR9577z3Gjx/P5MmTiYiI4IknnmDYsGGufbz88ss8/vjj3H///Rw9epRLLrmExx9/3BPDFRE5r3RVl8hF5Jcrro4fP06dOnU8XY6IyEVH5/iIiIiIaSj4iIiIiGnoUJeIiIiYhmZ8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0/h8D7rDPOpBiMgAAAABJRU5ErkJggg==", "text/plain": ["
"]}, "metadata": {}, "output_type": "display_data"}], "source": ["\n", "# Read in the training metrics from the CSV file generated by the logger\n", "metrics = pd.read_csv(f\"{trainer.logger.log_dir}/metrics.csv\")\n", "\n", "# Remove the \"step\" column, which is not needed for our analysis\n", "del metrics[\"step\"]\n", "\n", "# Set the epoch column as the index, for easier plotting\n", "metrics.set_index(\"epoch\", inplace=True)\n", "\n", "# Display the first few rows of the metrics table, excluding any columns with all NaN values\n", "display(metrics.dropna(axis=1, how=\"all\").head())\n", "\n", "# Create a line plot of the training metrics using Seaborn\n", "sn.relplot(data=metrics, kind=\"line\")"]}, {"cell_type": "markdown", "id": "e9f769ab", "metadata": {"papermill": {"duration": 0.016286, "end_time": "2024-09-01T13:47:02.300071", "exception": false, "start_time": "2024-09-01T13:47:02.283785", "status": "completed"}, "tags": []}, "source": ["## Congratulations - Time to Join the Community!\n", "\n", "Congratulations on completing this notebook tutorial! If you enjoyed this and would like to join the Lightning\n", "movement, you can do so in the following ways!\n", "\n", "### Star [Lightning](https://github.com/Lightning-AI/lightning) on GitHub\n", "The easiest way to help our community is just by starring the GitHub repos! This helps raise awareness of the cool\n", "tools we're building.\n", "\n", "### Join our [Discord](https://discord.com/invite/tfXFetEZxv)!\n", "The best way to keep up to date on the latest advancements is to join our community! Make sure to introduce yourself\n", "and share your interests in `#general` channel\n", "\n", "\n", "### Contributions !\n", "The best way to contribute to our community is to become a code contributor! At any time you can go to\n", "[Lightning](https://github.com/Lightning-AI/lightning) or [Bolt](https://github.com/Lightning-AI/lightning-bolts)\n", "GitHub Issues page and filter for \"good first issue\".\n", "\n", "* [Lightning good first issue](https://github.com/Lightning-AI/lightning/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)\n", "* [Bolt good first issue](https://github.com/Lightning-AI/lightning-bolts/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)\n", "* You can also contribute your own notebooks with useful examples !\n", "\n", "### Great thanks from the entire Pytorch Lightning Team for your interest !\n", "\n", "[![Pytorch Lightning](data:image/png;base64,NDA0OiBOb3QgRm91bmQ=){height=\"60px\" width=\"240px\"}](https://pytorchlightning.ai)"]}, {"cell_type": "raw", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": [".. customcarditem::\n", " :header: Introduction to PyTorch Lightning\n", " :card_description: In this notebook, we'll go over the basics of lightning by preparing models to train on the [MNIST Handwritten Digits dataset](https://en.wikipedia.org/wiki/MNIST_database).\n", " :tags: Image,GPU/TPU,Lightning-Examples"]}], "metadata": {"jupytext": {"cell_metadata_filter": "colab_type,id,colab,-all", "formats": "ipynb,py:percent", "main_language": "python"}, "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.10.12"}, "papermill": {"default_parameters": {}, "duration": 60.053073, "end_time": "2024-09-01T13:47:03.741117", "environment_variables": {}, "exception": null, "input_path": "lightning_examples/mnist-hello-world/hello-world.ipynb", "output_path": ".notebooks/lightning_examples/mnist-hello-world.ipynb", "parameters": {}, "start_time": "2024-09-01T13:46:03.688044", "version": "2.6.0"}, "widgets": {"application/vnd.jupyter.widget-state+json": {"state": {"014b3a35c50e42ecb1cb1ce172ab6b33": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": ""}}, "0468fa080fd94aa6a25dfebfba9b33bb": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "046b16935d674fc0b86c25180c4cac62": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_d22f07d4460b4e9ba457bd6aa5cabb24", "placeholder": "\u200b", "style": "IPY_MODEL_69ebb568141e48c6a25e1509a687688f", "tabbable": null, "tooltip": null, "value": "Sanity\u2007Checking\u2007DataLoader\u20070:\u2007100%"}}, "0b204b5efe8842238615c1d960222083": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "0bd9f7a9c20e44a0bfb85e942c40d1c5": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": "2", "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "0f107634712a4594ab535598aead8e0b": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "0f1630ee6fd5405a8491cc3905ccdc29": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "10632417e76446e2800124e3229983b0": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_0468fa080fd94aa6a25dfebfba9b33bb", "placeholder": "\u200b", "style": "IPY_MODEL_88d25def3ed14788af0bba2441876c4b", "tabbable": null, "tooltip": null, "value": "\u200720/20\u2007[00:00<00:00,\u200726.67it/s]"}}, "165333807c0e434c8b29e0220163b002": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_7b9a5fe0a56e475c8c4044f57d77973a", "placeholder": "\u200b", "style": "IPY_MODEL_0f1630ee6fd5405a8491cc3905ccdc29", "tabbable": null, "tooltip": null, "value": "\u2007235/235\u2007[00:05<00:00,\u200741.65it/s,\u2007v_num=0]"}}, "1ae5faf53b124a1db843d132441ed9be": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "1e0367eb9eee4cb9ace1ba3f4490bb0d": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": "2", "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "2b26dcd2c02b44be88aff4b34b89cc59": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": ""}}, "2c721e9beadc4d1cb8f784e37d44e553": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": "2", "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "30c7bd5843d74cf790798e6e4c32e051": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "31f5117ef7684bd097322939744948f7": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "34517733d6ab42ba81d3f02a0a8e640a": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": ["IPY_MODEL_645de6a68f1a485087cc5f5f6660dfce", "IPY_MODEL_8b4b59db84d14b019b96368f1b6112b3", "IPY_MODEL_b5be82f22d1a467389148aa570860b50"], "layout": "IPY_MODEL_e5ca4b8032f740b3a614a65800ff2685", "tabbable": null, "tooltip": null}}, "3532976ea1464ce78eac56e128f6d796": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "358c5fa38b4145d6a78203b725820738": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": ""}}, "3d11c215a6a941f08f49f4e47551939d": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": ["IPY_MODEL_6f9c1efd16b2400ebce21277abc92678", "IPY_MODEL_f420a239a67d4ac4b6b904585ff40010", "IPY_MODEL_9ba0f12de319445aae78e3e477f090f1"], "layout": "IPY_MODEL_b0127e1cddb949afb6b410c0ddfe2929", "tabbable": null, "tooltip": null}}, "3d855e4d138a41db892860402e17aa0d": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "424983b8b10046d0beee052aaf19bbb3": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_731613d4b05644238d8e5c2a57840d78", "max": 20.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_2b26dcd2c02b44be88aff4b34b89cc59", "tabbable": null, "tooltip": null, "value": 20.0}}, "42cc2e00429741c2b014b04fcf9bd2c0": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_ca320db339dd40589cbe928c012dde0c", "placeholder": "\u200b", "style": "IPY_MODEL_0b204b5efe8842238615c1d960222083", "tabbable": null, "tooltip": null, "value": "Sanity\u2007Checking\u2007DataLoader\u20070:\u2007100%"}}, "4c318010f6f3438cac03a96d33b4ab3f": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": "2", "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "5305c43a66f14007ba9253e0109781c8": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": ""}}, "577f097ca7ce482e873b586cd625d8fc": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "5e6c69336f3b41759f2a69132bb9fdb2": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "645de6a68f1a485087cc5f5f6660dfce": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_822edcd3533940b2b3d88f833ed67af4", "placeholder": "\u200b", "style": "IPY_MODEL_d70485f7c0794c008003a5f62a483c66", "tabbable": null, "tooltip": null, "value": "Validation\u2007DataLoader\u20070:\u2007100%"}}, "64d9ac87cedc499ebbb8ecec36c2a2a9": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": ["IPY_MODEL_046b16935d674fc0b86c25180c4cac62", "IPY_MODEL_d0dc4cf1a263448c8b114fb44d84871a", "IPY_MODEL_afb326ed13ee4f47b8d218d279775590"], "layout": "IPY_MODEL_dddcae466915482191deb8970f34536d", "tabbable": null, "tooltip": null}}, "66c11a2098d4494ba9b2506d6e1e0ff4": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_2c721e9beadc4d1cb8f784e37d44e553", "max": 2.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_cdab4c3bf37446ea86e274eb64a4d182", "tabbable": null, "tooltip": null, "value": 2.0}}, "69ebb568141e48c6a25e1509a687688f": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "6a017b9872344151b567f74c549527bb": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "6a0a74439fac4bc3a86b484290c7b1ad": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": ["IPY_MODEL_42cc2e00429741c2b014b04fcf9bd2c0", "IPY_MODEL_66c11a2098d4494ba9b2506d6e1e0ff4", "IPY_MODEL_acf60cc534cd4540801542c46bce5be9"], "layout": "IPY_MODEL_86e48ae14a6547acafd681a98acc03cc", "tabbable": null, "tooltip": null}}, "6f9c1efd16b2400ebce21277abc92678": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_e4bb49cfca5e4618a93d1a2b8bb4bc40", "placeholder": "\u200b", "style": "IPY_MODEL_e8f787cdb78f4483893c57554851834e", "tabbable": null, "tooltip": null, "value": "Testing\u2007DataLoader\u20070:\u2007100%"}}, "70ccf82f19fc4ec5a61a7c7bb7c346f4": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_e5290fb0d70f4da3a342e0585a9583ed", "placeholder": "\u200b", "style": "IPY_MODEL_0f107634712a4594ab535598aead8e0b", "tabbable": null, "tooltip": null, "value": "Validation\u2007DataLoader\u20070:\u2007100%"}}, "731613d4b05644238d8e5c2a57840d78": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": "2", "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "74cf1e61134345f9a2a378efb3a5d41c": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "768db4a66ed6494593898d21ea0d323f": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_577f097ca7ce482e873b586cd625d8fc", "placeholder": "\u200b", "style": "IPY_MODEL_7b5f0f3476854ce7af8b45b0a8d46a98", "tabbable": null, "tooltip": null, "value": "Epoch\u20072:\u2007100%"}}, "774e42bdfe8b420ca743c5bbddbbceb1": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_30c7bd5843d74cf790798e6e4c32e051", "placeholder": "\u200b", "style": "IPY_MODEL_a8c60547dd804607a1178c350e84362f", "tabbable": null, "tooltip": null, "value": "Validation\u2007DataLoader\u20070:\u2007100%"}}, "7b5f0f3476854ce7af8b45b0a8d46a98": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "7b9a5fe0a56e475c8c4044f57d77973a": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "822edcd3533940b2b3d88f833ed67af4": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "8598ad12ca4841b891c53823fe181db0": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": ["IPY_MODEL_70ccf82f19fc4ec5a61a7c7bb7c346f4", "IPY_MODEL_f241865552254adbbe29086d02075011", "IPY_MODEL_b1653c52db934cb3ac91eb1dbd58ddbd"], "layout": "IPY_MODEL_f5e9fb1e70854b3ba136d43b4975ab8d", "tabbable": null, "tooltip": null}}, "86e48ae14a6547acafd681a98acc03cc": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": "inline-flex", "flex": null, "flex_flow": "row wrap", "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": "hidden", "width": "100%"}}, "88a07a0b75a7437a84af524c8f2d25ad": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": ""}}, "88d25def3ed14788af0bba2441876c4b": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "88d910dd297c462d88c730778973cd59": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": "inline-flex", "flex": null, "flex_flow": "row wrap", "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": "hidden", "width": "100%"}}, "89f69647761a42e98c54b0b2e1534391": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "8b4b59db84d14b019b96368f1b6112b3": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_fb53de4aeb874c7199dce424cdb14d22", "max": 20.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_8d8e4116c1c443879aa283fc2356ba74", "tabbable": null, "tooltip": null, "value": 20.0}}, "8d8e4116c1c443879aa283fc2356ba74": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": ""}}, "8eda08803cdf475b9a0fdf45e4b123a7": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_b758e1714972489d9b268c1edd1f30cd", "max": 215.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_d59241a64aa847ed859b8a40027a6015", "tabbable": null, "tooltip": null, "value": 215.0}}, "8fbd3e80b67d4035a2b6fe427f2c0298": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "9b40a0ef58a741fe9676e8fbd69bfe2d": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": "2", "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "9ba0f12de319445aae78e3e477f090f1": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_8fbd3e80b67d4035a2b6fe427f2c0298", "placeholder": "\u200b", "style": "IPY_MODEL_31f5117ef7684bd097322939744948f7", "tabbable": null, "tooltip": null, "value": "\u200740/40\u2007[00:01<00:00,\u200729.76it/s]"}}, "a8c60547dd804607a1178c350e84362f": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "acf60cc534cd4540801542c46bce5be9": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_3532976ea1464ce78eac56e128f6d796", "placeholder": "\u200b", "style": "IPY_MODEL_3d855e4d138a41db892860402e17aa0d", "tabbable": null, "tooltip": null, "value": "\u20072/2\u2007[00:00<00:00,\u200747.37it/s]"}}, "afb326ed13ee4f47b8d218d279775590": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_dc334ed01ed34fc5851ce9083c847b8f", "placeholder": "\u200b", "style": "IPY_MODEL_5e6c69336f3b41759f2a69132bb9fdb2", "tabbable": null, "tooltip": null, "value": "\u20072/2\u2007[00:00<00:00,\u200718.29it/s]"}}, "b0127e1cddb949afb6b410c0ddfe2929": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": "inline-flex", "flex": null, "flex_flow": "row wrap", "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": "100%"}}, "b1653c52db934cb3ac91eb1dbd58ddbd": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_1ae5faf53b124a1db843d132441ed9be", "placeholder": "\u200b", "style": "IPY_MODEL_bfc76f03cbec469a90717c920b5dda12", "tabbable": null, "tooltip": null, "value": "\u200720/20\u2007[00:00<00:00,\u200726.21it/s]"}}, "b5be82f22d1a467389148aa570860b50": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_89f69647761a42e98c54b0b2e1534391", "placeholder": "\u200b", "style": "IPY_MODEL_74cf1e61134345f9a2a378efb3a5d41c", "tabbable": null, "tooltip": null, "value": "\u200720/20\u2007[00:00<00:00,\u200726.38it/s]"}}, "b758e1714972489d9b268c1edd1f30cd": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": "2", "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "bcc26a5e0d194dbfb45dca2f21740825": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_6a017b9872344151b567f74c549527bb", "placeholder": "\u200b", "style": "IPY_MODEL_c929d9f8c4994b7a8c0c25deee84c3cf", "tabbable": null, "tooltip": null, "value": "\u2007215/215\u2007[00:09<00:00,\u200722.03it/s,\u2007v_num=0,\u2007val_loss=0.296,\u2007val_acc=0.910]"}}, "bf39f76ca1994dc1a0b5f79317daddaf": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "bfc76f03cbec469a90717c920b5dda12": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "c1bb45d5e3fc419aa24c92b0150300bc": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": "inline-flex", "flex": null, "flex_flow": "row wrap", "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": "100%"}}, "c929d9f8c4994b7a8c0c25deee84c3cf": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "ca320db339dd40589cbe928c012dde0c": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "cc56a5ade5f24fa2b7a1e325820b8c88": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": ["IPY_MODEL_774e42bdfe8b420ca743c5bbddbbceb1", "IPY_MODEL_424983b8b10046d0beee052aaf19bbb3", "IPY_MODEL_10632417e76446e2800124e3229983b0"], "layout": "IPY_MODEL_88d910dd297c462d88c730778973cd59", "tabbable": null, "tooltip": null}}, "cdab4c3bf37446ea86e274eb64a4d182": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": ""}}, "d0dc4cf1a263448c8b114fb44d84871a": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_4c318010f6f3438cac03a96d33b4ab3f", "max": 2.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_014b3a35c50e42ecb1cb1ce172ab6b33", "tabbable": null, "tooltip": null, "value": 2.0}}, "d22f07d4460b4e9ba457bd6aa5cabb24": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "d59241a64aa847ed859b8a40027a6015": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": ""}}, "d70485f7c0794c008003a5f62a483c66": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "dab59794274b47889dff72e1daaa082b": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "dc334ed01ed34fc5851ce9083c847b8f": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "dc68360bf28a4585a7d1cde39104148c": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": ["IPY_MODEL_768db4a66ed6494593898d21ea0d323f", "IPY_MODEL_e521eb44969b4c01b9e3f28c7eb45994", "IPY_MODEL_165333807c0e434c8b29e0220163b002"], "layout": "IPY_MODEL_f928ad8f63284ec0a6fe3f3952bd44d9", "tabbable": null, "tooltip": null}}, "dddcae466915482191deb8970f34536d": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": "inline-flex", "flex": null, "flex_flow": "row wrap", "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": "hidden", "width": "100%"}}, "e278b8d60cc840f5aa3c885fe5cd6eb4": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": ["IPY_MODEL_f9cd800536a34060bb9ef18e5de0e628", "IPY_MODEL_8eda08803cdf475b9a0fdf45e4b123a7", "IPY_MODEL_bcc26a5e0d194dbfb45dca2f21740825"], "layout": "IPY_MODEL_c1bb45d5e3fc419aa24c92b0150300bc", "tabbable": null, "tooltip": null}}, "e4bb49cfca5e4618a93d1a2b8bb4bc40": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "e521eb44969b4c01b9e3f28c7eb45994": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_1e0367eb9eee4cb9ace1ba3f4490bb0d", "max": 235.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_88a07a0b75a7437a84af524c8f2d25ad", "tabbable": null, "tooltip": null, "value": 235.0}}, "e5290fb0d70f4da3a342e0585a9583ed": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "e5ca4b8032f740b3a614a65800ff2685": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": "inline-flex", "flex": null, "flex_flow": "row wrap", "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": "hidden", "width": "100%"}}, "e8f787cdb78f4483893c57554851834e": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "f241865552254adbbe29086d02075011": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_9b40a0ef58a741fe9676e8fbd69bfe2d", "max": 20.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_5305c43a66f14007ba9253e0109781c8", "tabbable": null, "tooltip": null, "value": 20.0}}, "f420a239a67d4ac4b6b904585ff40010": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_0bd9f7a9c20e44a0bfb85e942c40d1c5", "max": 40.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_358c5fa38b4145d6a78203b725820738", "tabbable": null, "tooltip": null, "value": 40.0}}, "f5e9fb1e70854b3ba136d43b4975ab8d": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": "inline-flex", "flex": null, "flex_flow": "row wrap", "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": "hidden", "width": "100%"}}, "f928ad8f63284ec0a6fe3f3952bd44d9": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": "inline-flex", "flex": null, "flex_flow": "row wrap", "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": "100%"}}, "f9cd800536a34060bb9ef18e5de0e628": {"model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_dab59794274b47889dff72e1daaa082b", "placeholder": "\u200b", "style": "IPY_MODEL_bf39f76ca1994dc1a0b5f79317daddaf", "tabbable": null, "tooltip": null, "value": "Epoch\u20072:\u2007100%"}}, "fb53de4aeb874c7199dce424cdb14d22": {"model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": "2", "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}}, "version_major": 2, "version_minor": 0}}}, "nbformat": 4, "nbformat_minor": 5}