{"cells": [{"cell_type": "markdown", "id": "80ad5ff6", "metadata": {"papermill": {"duration": 0.004915, "end_time": "2024-07-26T13:07:03.601787", "exception": false, "start_time": "2024-07-26T13:07:03.596872", "status": "completed"}, "tags": []}, "source": ["\n", "# Introduction to PyTorch Lightning\n", "\n", "* **Author:** Lightning.ai\n", "* **License:** CC BY-SA\n", "* **Generated:** 2024-07-26T13:06:57.153249\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": "09e47f4b", "metadata": {"papermill": {"duration": 0.003819, "end_time": "2024-07-26T13:07:03.609687", "exception": false, "start_time": "2024-07-26T13:07:03.605868", "status": "completed"}, "tags": []}, "source": ["## Setup\n", "This notebook requires some packages besides pytorch-lightning."]}, {"cell_type": "code", "execution_count": 1, "id": "4454adcb", "metadata": {"colab": {}, "colab_type": "code", "execution": {"iopub.execute_input": "2024-07-26T13:07:03.618855Z", "iopub.status.busy": "2024-07-26T13:07:03.618203Z", "iopub.status.idle": "2024-07-26T13:07:04.726388Z", "shell.execute_reply": "2024-07-26T13:07:04.725078Z"}, "id": "LfrJLKPFyhsK", "lines_to_next_cell": 0, "papermill": {"duration": 1.11585, "end_time": "2024-07-26T13:07:04.729347", "exception": false, "start_time": "2024-07-26T13:07:03.613497", "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 \"numpy <2.0\" \"torchmetrics>=1.0, <1.5\" \"torchmetrics >=0.11.0\" \"matplotlib\" \"pandas\" \"seaborn\" \"pytorch-lightning >=2.0,<2.4\" \"torch>=1.8.1, <2.5\" \"torchvision\""]}, {"cell_type": "code", "execution_count": 2, "id": "6d8a2b7b", "metadata": {"execution": {"iopub.execute_input": "2024-07-26T13:07:04.744433Z", "iopub.status.busy": "2024-07-26T13:07:04.743992Z", "iopub.status.idle": "2024-07-26T13:07:08.416924Z", "shell.execute_reply": "2024-07-26T13:07:08.415944Z"}, "papermill": {"duration": 3.683814, "end_time": "2024-07-26T13:07:08.419874", "exception": false, "start_time": "2024-07-26T13:07:04.736060", "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": "29ee7e03", "metadata": {"lines_to_next_cell": 2, "papermill": {"duration": 0.006214, "end_time": "2024-07-26T13:07:08.433206", "exception": false, "start_time": "2024-07-26T13:07:08.426992", "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": "94c07c9a", "metadata": {"execution": {"iopub.execute_input": "2024-07-26T13:07:08.447734Z", "iopub.status.busy": "2024-07-26T13:07:08.447179Z", "iopub.status.idle": "2024-07-26T13:07:08.460118Z", "shell.execute_reply": "2024-07-26T13:07:08.459073Z"}, "papermill": {"duration": 0.023152, "end_time": "2024-07-26T13:07:08.462572", "exception": false, "start_time": "2024-07-26T13:07:08.439420", "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": "55598731", "metadata": {"papermill": {"duration": 0.006268, "end_time": "2024-07-26T13:07:08.475039", "exception": false, "start_time": "2024-07-26T13:07:08.468771", "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": "5f371f45", "metadata": {"execution": {"iopub.execute_input": "2024-07-26T13:07:08.488958Z", "iopub.status.busy": "2024-07-26T13:07:08.488569Z", "iopub.status.idle": "2024-07-26T13:07:27.980773Z", "shell.execute_reply": "2024-07-26T13:07:27.979798Z"}, "papermill": {"duration": 19.502257, "end_time": "2024-07-26T13:07:27.983451", "exception": false, "start_time": "2024-07-26T13:07:08.481194", "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": "7e7983d4", "metadata": {"execution": {"iopub.execute_input": "2024-07-26T13:07:28.070103Z", "iopub.status.busy": "2024-07-26T13:07:28.069832Z", "iopub.status.idle": "2024-07-26T13:07:57.159802Z", "shell.execute_reply": "2024-07-26T13:07:57.158805Z"}, "papermill": {"duration": 29.103606, "end_time": "2024-07-26T13:07:57.162447", "exception": false, "start_time": "2024-07-26T13:07:28.058841", "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": "e87f20421dab47eba6b43445ea4bdb8b", "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.88380.437945
1NaNNaN0.91540.300581
2NaNNaN0.92940.254781
30.9290.243758NaNNaN
\n", ""], "text/plain": [" test_acc test_loss val_acc val_loss\n", "epoch \n", "0 NaN NaN 0.8838 0.437945\n", "1 NaN NaN 0.9154 0.300581\n", "2 NaN NaN 0.9294 0.254781\n", "3 0.929 0.243758 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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FPbv319h+2nTpjFy5EjGjRtHRkYGb731FtOnT+exxx474+JFREREvGExDMPwZoOkpCQ6derEK6+8AoDb7SYmJob777+fkSNHntD+vvvuIyMjg/T0dM+6hx56iO+//55vv/32tI6Zm5tLaGgoOTk5hISEeFOuiIiIiIdXIz7FxcWsXr2a5OTk33dgtZKcnMyKFSsq3KZLly6sXr3aczps69atzJs3jx49epz0OEVFReTm5pZbRERERM6UnzeNs7OzcblcREZGllsfGRnJpk2bKtzmtttuIzs7m0suuQTDMCgtLeWee+455amutLQ0nnjiCW9KExEREflTZ/2qrsWLFzNhwgReffVV1qxZw6xZs5g7dy5PPfXUSbcZNWoUOTk5nmXXrl1nu0wRERExAa9GfCIiIrDZbGRlZZVbn5WVRVRUVIXbjBkzhjvuuIO77roLgLi4OAoKCrj77rsZPXo0VuuJ2cvhcOBwOLwpTURERORPeTXiY7fb6dChQ7mJym63m/T0dDp37lzhNkePHj0h3NhsNgC8nFctIiIicka8GvEBSE1NZeDAgXTs2JHExEQmTZpEQUEBgwcPBmDAgAFER0eTlpYGQM+ePZk4cSIXXXQRSUlJ/Prrr4wZM4aePXt6ApCIiIjIueB18OnXrx8HDhxg7Nix7Nu3j4SEBObPn++Z8Lxz585yIzyPP/44FouFxx9/nD179lC7dm169uzJP/7xj6rrhYiIiMhp8Po+Pr6g+/iIiIhIVdCzukRERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0KhV8pkyZQmxsLE6nk6SkJFauXHnStldccQUWi+WE5brrrqt00SIiIiKV4XXwmT59OqmpqYwbN441a9YQHx9PSkoK+/fvr7D9rFmz2Lt3r2fZsGEDNpuNm2+++YyLFxEREfGGxTAMw5sNkpKS6NSpE6+88goAbrebmJgY7r//fkaOHPmn20+aNImxY8eyd+9eatSoUWGboqIiioqKPK9zc3OJiYkhJyeHkJAQb8oVERER8fBqxKe4uJjVq1eTnJz8+w6sVpKTk1mxYsVp7eOtt97illtuOWnoAUhLSyM0NNSzxMTEeFOmiIiISIW8Cj7Z2dm4XC4iIyPLrY+MjGTfvn1/uv3KlSvZsGEDd9111ynbjRo1ipycHM+ya9cub8oUERERqZDfuTzYW2+9RVxcHImJiads53A4cDgc56gqERERMQuvRnwiIiKw2WxkZWWVW5+VlUVUVNQpty0oKODjjz/mzjvv9L5KERERkSrgVfCx2+106NCB9PR0zzq32016ejqdO3c+5bb//ve/KSoq4vbbb69cpSIiIiJnyOtTXampqQwcOJCOHTuSmJjIpEmTKCgoYPDgwQAMGDCA6Oho0tLSym331ltv0bt3b2rVqlU1lYuIiIh4yevg069fPw4cOMDYsWPZt28fCQkJzJ8/3zPheefOnVit5QeSMjMz+fbbb/nyyy+rpmoRERGRSvD6Pj6+kJubS2hoqO7jIyIiImdEz+oSERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BEREalmrrjiCoYPH15l+xs0aBC9e/eusv35koKPiIiImIaCj4iIyGkwDIOjxaU+WQzDOO06Bw0axJIlS3jppZewWCxYLBa2b9/Ohg0b6N69O0FBQURGRnLHHXeQnZ3t2W7GjBnExcUREBBArVq1SE5OpqCggPHjx/Puu+/y6aefeva3ePHiP61jxIgRNG/enMDAQBo3bsyYMWMoKSkp1+bzzz+nU6dOOJ1OIiIiuPHGGz3vFRUVMWLECGJiYnA4HDRt2pS33nrrtH8PJ+N3xnsQERExgcISF63HLvDJsX9+MoVA++n9lf3SSy+xefNm2rZty5NPPgmAv78/iYmJ3HXXXbz44osUFhYyYsQI+vbty9dff83evXu59dZbee6557jxxhvJy8tj6dKlGIbBww8/TEZGBrm5ubz99tsAhIeH/2kdwcHBvPPOO9SrV4/169czdOhQgoODefTRRwGYO3cuN954I6NHj+a9996juLiYefPmebYfMGAAK1as4OWXXyY+Pp5t27aVC2qVZTG8iZH/NWXKFJ5//nn27dtHfHw8kydPJjEx8aTtjxw5wujRo5k1axaHDh2iYcOGTJo0iR49epzW8XJzcwkNDSUnJ4eQkBBvyxURETljR4tLL4jgA2VzfBISEpg0aRIATz/9NEuXLmXBgt/r3717NzExMWRmZpKfn0+HDh3Yvn07DRs2PGF/gwYN4siRI8yZM6fSffjnP//Jxx9/zKpVqwDo0qULjRs35oMPPjih7ebNm2nRogVfffUVycnJlT5mRbwe8Zk+fTqpqam8/vrrJCUlMWnSJFJSUsjMzKROnTontC8uLubqq6+mTp06zJgxg+joaHbs2EHNmjWron4REZFzIsDfxs9Ppvjs2Gfixx9/ZNGiRQQFBZ3w3pYtW7jmmmvo1q0bcXFxpKSkcM011/CXv/yFsLCwSh9z+vTpvPzyy2zZsoX8/HxKS0vLDV6sW7eOoUOHVrjtunXrsNlsXH755ZU+/sl4HXwmTpzI0KFDGTx4MACvv/46c+fOZerUqYwcOfKE9lOnTuXQoUMsX74cf39/AGJjY8+sahERkXPMYrF4NepyPsnPz6dnz548++yzJ7xXt25dbDYbX331FcuXL+fLL79k8uTJjB49mu+//55GjRp5fbwVK1bQv39/nnjiCVJSUggNDeXjjz/mhRde8LQJCAg46faneu9MeTW5ubi4mNWrV5cbdrJarSQnJ7NixYoKt/nss8/o3Lkzw4YNIzIykrZt2zJhwgRcLtdJj1NUVERubm65RURERE6P3W4v9/ds+/bt2bhxI7GxsTRt2rTcUqNGDaAs2HXt2pUnnniCtWvXYrfbmT17doX7+zPLly+nYcOGjB49mo4dO9KsWTN27NhRrk27du1IT0+vcPu4uDjcbjdLlizxtut/yqvgk52djcvlIjIystz6yMhI9u3bV+E2W7duZcaMGbhcLubNm8eYMWN44YUXePrpp096nLS0NEJDQz1LTEyMN2WKiIiYWmxsLN9//z3bt28nOzubYcOGcejQIW699VZ++OEHtmzZwoIFCxg8eDAul4vvv/+eCRMmsGrVKnbu3MmsWbM4cOAArVq18uzvp59+IjMzk+zs7BOuzvpfzZo1Y+fOnXz88cds2bKFl19+2ROijhs3bhwfffQR48aNIyMjg/Xr13tGpGJjYxk4cCBDhgxhzpw5bNu2jcWLF/PJJ5+c+S/H8MKePXsMwFi+fHm59Y888oiRmJhY4TbNmjUzYmJijNLSUs+6F154wYiKijrpcY4dO2bk5OR4ll27dhmAkZOT4025IiIippSZmWlcfPHFRkBAgAEY27ZtMzZv3mzceOONRs2aNY2AgACjZcuWxvDhww232238/PPPRkpKilG7dm3D4XAYzZs3NyZPnuzZ3/79+42rr77aCAoKMgBj0aJFf1rDI488YtSqVcsICgoy+vXrZ7z44otGaGhouTYzZ840EhISDLvdbkRERBh9+vTxvFdYWGg8+OCDRt26dQ273W40bdrUmDp16hn/bry6qqu4uJjAwEBmzJhR7g6OAwcO5MiRI3z66acnbHP55Zfj7+/PwoULPeu++OILevToQVFREXa7/U+Pq6u6REREpCp4darLbrfToUOHcufk3G436enpdO7cucJtunbtyq+//orb7fas27x5M3Xr1j2t0CMiIiJSVby+c3Nqaipvvvkm7777LhkZGfztb3+joKDAc5XXgAEDGDVqlKf93/72Nw4dOsQDDzzA5s2bmTt3LhMmTGDYsGFV1wsRERE5ZyZMmEBQUFCFS/fu3X1d3il5fV1ev379OHDgAGPHjmXfvn0kJCQwf/58z4TnnTt3YrX+nqdiYmJYsGABDz74IO3atSM6OpoHHniAESNGVF0vRERE5Jy555576Nu3b4Xvnc1L0atCpe7cfK5pjo+IiIhUBT2kVERERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERKrU9u3bsVgsrFu3ztelnEDBR0REpJq54oorGD58eJXtb9CgQeWe0XkhU/ARERER01DwERER8UZxwakXV+nvbUuLT922pPD3toZRcRsvDRo0iCVLlvDSSy9hsViwWCxs376dDRs20L17d4KCgoiMjOSOO+4gOzvbs92MGTOIi4sjICCAWrVqkZycTEFBAePHj+fdd9/l008/9exv8eLFXte1ZMkSEhMTcTgc1K1bl5EjR1Ja+vvv6mTHB1i8eDGJiYnUqFGDmjVr0rVrV3bs2OF1DVCJZ3WJiIiY2oR6p37/5negzY1lP3/9JCyffPK29S6CuxeX/Xz0IDzf5MQ243O8Ku+ll15i8+bNtG3blieffBIAf39/EhMTueuuu3jxxRcpLCxkxIgR9O3bl6+//pq9e/dy66238txzz3HjjTeSl5fH0qVLMQyDhx9+mIyMDHJzc3n77bcBCA8P96qmPXv20KNHDwYNGsR7773Hpk2bGDp0KE6nk/Hjx5/y+KWlpfTu3ZuhQ4fy0UcfUVxczMqVK7FYLF7VcJyCj4iISDUSGhqK3W4nMDCQqKgoAJ5++mkuuugiJkyY4Gk3depUYmJi2Lx5M/n5+ZSWltKnTx8aNmwIQFxcnKdtQEAARUVFnv1569VXXyUmJoZXXnkFi8VCy5Yt+e233xgxYgRjx45l7969Jz3+oUOHyMnJ4frrr6dJk7Jg2KpVq0rVAQo+IiIi3nnst1O/b3P8/vNVY+GKUSdva/nDjJPAWn++70r68ccfWbRoEUFBQSe8t2XLFq655hq6detGXFwcKSkpXHPNNfzlL38hLCysSo6fkZFB586dy43SdO3alfz8fHbv3k18fPxJjx8eHs6gQYNISUnh6quvJjk5mb59+1K3bt1K1aI5PiIiIt6w1zj1YvvDmIKf/dRt/QN+b2uxVNymCuTn59OzZ0/WrVtXbvnll1+47LLLsNlsfPXVV3zxxRe0bt2ayZMn06JFC7Zt21Ylx/8zf3b8t99+mxUrVtClSxemT59O8+bN+e677yp1LAUfERGRasZut+NyuTyv27dvz8aNG4mNjaVp06bllho1ysKVxWKha9euPPHEE6xduxa73c7s2bMr3J+3WrVqxYoVKzAMw7Nu2bJlBAcHU79+/T89PsBFF13EqFGjWL58OW3btmXatGmVqkXBR0REpJqJjY3l+++/Z/v27WRnZzNs2DAOHTrErbfeyg8//MCWLVtYsGABgwcPxuVy8f333zNhwgRWrVrFzp07mTVrFgcOHPDMpYmNjeWnn34iMzOT7OxsSkpKvKrn3nvvZdeuXdx///1s2rSJTz/9lHHjxpGamorVaj3l8bdt28aoUaNYsWIFO3bs4Msvv+SXX36p/Dwf4wKQk5NjAEZOTo6vSxERETnvZWZmGhdffLEREBBgAMa2bduMzZs3GzfeeKNRs2ZNIyAgwGjZsqUxfPhww+12Gz///LORkpJi1K5d23A4HEbz5s2NyZMne/a3f/9+4+qrrzaCgoIMwFi0aNEpj79t2zYDMNauXetZt3jxYqNTp06G3W43oqKijBEjRhglJSWGYRinPP6+ffuM3r17G3Xr1jXsdrvRsGFDY+zYsYbL5arU78ZiGH8YdzpP5ebmEhoaSk5ODiEhIb4uR0RERC5QOtUlIiIipqHgIyIiIl6ZMGECQUFBFS7du3f3dXmnpFNdIiIi4pVDhw5x6NChCt8LCAggOjr6HFd0+nQDQxEREfFKeHi414+tOF/oVJeIiIiYhoKPiIiImIaCj4iIiJiGgo+IiIiYhoKPiIiImIaCj4iIiJQTGxvLpEmTfF3GWaHgIyIiIqah4CMiIiKmoeAjIiLihaMlRzlacpTjDz4oLC3kaMlRXG4XAEWuIo6WHKXEXQJAiauEoyVHKXYVA1DqLuVoyVGOlR4DwG24Pfs82TG88X//93/Uq1cPt9tdbn2vXr0YMmQIW7ZsoVevXkRGRhIUFESnTp1YuHCh97+I/5o4cSJxcXHUqFGDmJgY7r33XvLz88u1WbZsGVdccQWBgYGEhYWRkpLC4cOHAXC73Tz33HM0bdoUh8NBgwYN+Mc//lHpev6Mgo+IiIgXkqYlkTQticNFZX9x3/qfW0malsSa/WsAGLV0FEnTkpixeQYAb65/k6RpSTz3w3MApO9MJ2laEn9b+DcAth7ZStK0JK6dee1Jj+GNm2++mYMHD7Jo0SLPukOHDjF//nz69+9Pfn4+PXr0ID09nbVr13LttdfSs2dPdu7cWanfh9Vq5eWXX2bjxo28++67fP311zz66KOe99etW0e3bt1o3bo1K1as4Ntvv6Vnz564XGVBcdSoUTzzzDOMGTOGn3/+mWnTphEZGVmpWk6HHlkhIiJSjYSFhdG9e3emTZtGt27dAJgxYwYRERFceeWVWK1W4uPjPe2feuopZs+ezWeffcZ9993n9fGGDx/u+Tk2Npann36ae+65h1dffRWA5557jo4dO3peA7Rp0waAvLw8XnrpJV555RUGDhwIQJMmTbjkkku8ruN06SGlIiIiXjh+SirALwCLxUJhaSGGYeCwObBZbRS5inC5Xfjb/PG3+lPiKqHEXYKf1Q+7zU6pu5RiVzFWixWnnxO34fac9gr0D6zwGN7697//zdChQ8nKysLhcHD55ZfTsWNHXnjhBfLz8xk/fjxz585l7969lJaWUlhYyEMPPcRzz5WNSsXGxjJ8+PByoeZkFi5cSFpaGps2bSI3N5fS0lKOHTtGQUEBgYGBtG7dmptvvpknnnjihG1XrlxJUlISW7dupVGjRl73szJ0qktERMQLgf6BBPoHegJJgF8Agf6B2Kw2ABw2B4H+gfhb/QHwt/kT6B+I3WYHwM/qR6B/IE4/JwBWi9Wzz5Mdw1s9e/bEMAzmzp3Lrl27WLp0Kf379wfg4YcfZvbs2UyYMIGlS5eybt064uLiKC4u9vo427dv5/rrr6ddu3bMnDmT1atXM2XKFADP/gICAk66/aneO1sUfERERKoZp9NJnz59+PDDD/noo49o0aIF7du3B8omGg8aNIgbb7yRuLg4oqKi2L59e6WOs3r1atxuNy+88AIXX3wxzZs357fffivXpl27dqSnp1e4fbNmzQgICDjp+2eD5viIiIhUQ/379+f6669n48aN3H777Z71zZo1Y9asWfTs2ROLxcKYMWNOuALsdDVt2pSSkhImT55Mz549WbZsGa+//nq5NqNGjSIuLo57772Xe+65B7vdzqJFi7j55puJiIhgxIgRPProo9jtdrp27cqBAwfYuHEjd9555xn1/2Q04iMiIlINXXXVVYSHh5OZmcltt93mWT9x4kTCwsLo0qULPXv2JCUlxTMa5K34+HgmTpzIs88+S9u2bfnwww9JS0sr16Z58+Z8+eWX/PjjjyQmJtK5c2c+/fRT/PzKxl7GjBnDQw89xNixY2nVqhX9+vVj//79le/4n9DkZhERETENjfiIiIiIaSj4iIiISIU+/PBDgoKCKlyO34vnQqNTXSIiIlKhvLw8srKyKnzP39+fhg0bnuOKzpyu6hIREZEKBQcHExwc7OsyqpROdYmIiIhpKPiIiIiIaSj4iIiIiGlUKvhMmTKF2NhYnE4nSUlJrFy58qRt33nnHSwWS7nF6XRWumARERGRyvI6+EyfPp3U1FTGjRvHmjVriI+PJyUl5ZR3WQwJCWHv3r2eZceOHWdUtIiIiEhleB18Jk6cyNChQxk8eDCtW7fm9ddfJzAwkKlTp550G4vFQlRUlGeJjIw85TGKiorIzc0tt4iIiMi5ERsby6RJk06rrcViYc6cOWe1nqrkVfApLi5m9erVJCcn/74Dq5Xk5GRWrFhx0u3y8/Np2LAhMTEx9OrVi40bN57yOGlpaYSGhnqWmJgYb8oUERERqZBXwSc7OxuXy3XCiE1kZCT79u2rcJsWLVowdepUPv30Uz744APcbjddunRh9+7dJz3OqFGjyMnJ8Sy7du3ypkwRERGRCp31q7o6d+7MgAEDSEhI4PLLL2fWrFnUrl2bN95446TbOBwOQkJCyi0iIiLnA/fRoxUuhssFgOF2l1t/nFFSUvG2hYW/77u4+Pf1xcWVqu///u//qFevHm63u9z6Xr16MWTIELZs2UKvXr2IjIwkKCiITp06sXDhwkodqyLr16/nqquuIiAggFq1anH33XeTn5/veX/x4sUkJiZSo0YNatasSdeuXT1zf3/88UeuvPJKgoODCQkJoUOHDqxatarKagMv79wcERGBzWY74fbVWVlZREVFndY+/P39ueiii/j111+9ObSIiMh5IbN9hwrXN3j3XWokJVKycydbru1ettLPj1Yb1gNw+JNPyHrq6RO2szdtQpP//AeA/f/8J4ffex+AsAF3EPXYY17Xd/PNN3P//fezaNEiunXrBsChQ4eYP38+8+bNIz8/nx49evCPf/wDh8PBe++9R8+ePcnMzKRBgwZeH++PCgoKSElJoXPnzvzwww/s37+fu+66i/vuu4933nmH0tJSevfuzdChQ/noo48oLi5m5cqVWCwWAPr3789FF13Ea6+9hs1mY926dfj7+59RTf/Lq+Bjt9vp0KED6enp9O7dGwC32016ejr33Xffae3D5XKxfv16evTo4XWxIiIicmphYWF0796dadOmeYLPjBkziIiI4Morr8RqtRIfH+9p/9RTTzF79mw+++yz0/67/GSmTZvGsWPHeO+996hRowYAr7zyCj179uTZZ5/F39+fnJwcrr/+epo0aQJAq1atPNvv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/ym32759Ow8//DCXXnpppYu9kFj8/al15xCa/Odzgq64gjoPpWKx2wEo2rrVx9WJiIiYk9eTm5OSkujUqROvvPIKAG63m5iYGO6//35GjhxZ4TYul4vLLruMIUOGsHTpUo4cOcKcOXNO+5jn++TmP3P8V2yxWCj86Se297uFkO7XUmfkSPzr1PFxdSIiIubh1YhPcXExq1evJjk5+fcdWK0kJyezYsWKk2735JNPUqdOHe68887TOk5RURG5ubnllguZxWLBYrEAULjuR7BYyJ33BXvu/7uPKxMRETEXr4JPdnY2LpeLyMjIcusjIyPZt29fhdt8++23vPXWW7z55punfZy0tDRCQ0M9S0xMjDdlntfCB9xB7L8/wRkXR52HHwLKRoSKd+70cWUiIiLV31m9qisvL4877riDN998k4iIiNPebtSoUeTk5HiWXbt2ncUqz72ANm2I/WQ6gZ06AZD31Vds6d6DrGeexV1Q4OPqREREqi8/bxpHRERgs9nIysoqtz4rK4uoqKgT2m/ZsoXt27fTs2dPzzr3f+9p4+fnR2ZmJk2aNDlhO4fDgcPh8Ka0C87xU18AR39YBS4Xh955h9wFC4h6fDTB3br5sDoREZHqyasRH7vdTocOHUhPT/esc7vdpKen07lz5xPat2zZkvXr17Nu3TrPcsMNN3DllVeybt26anUK60xEjX6MmP97A//oaEr37mX3sPvYNew+Svbu9XVpIiIi1YpXIz4AqampDBw4kI4dO5KYmMikSZMoKChg8ODBAAwYMIDo6GjS0tJwOp20bdu23PY1a9YEOGG92QVddhmN//M52a++xsG33yZ/0SJcw+7Fv25dX5cmIiJSbXgdfPr168eBAwcYO3Ys+/btIyEhgfnz53smPO/cuROrVTeErgxrQAB1HkolpOf1FK5ejbN1awDyvl6EX0QtAtq183GFIiIiFzY9pPQ8V3r4MFu798CVk0PYrbdQ+8EHsQUH+7osERGRC5KGZi4AQZdfBoZBzpxPddWXiIjIGdCIzwWi4LvvKN2/n9AbbgAg5z9zCWgXh71BAx9XJiIicuFQ8LkAFW3dxrZevcBqJeJvf6PWkMGe54CJiIjIyelU1wXI4u9HQIcOGEVFHJg0ia19+nB01SpflyUiInLe04jPBcowDHI//5ysZ57FdegQAOFDhhD56CM+rkxEROT8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jRtwtmnjowpF5HynER8RERExDT1xUERERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMw8/XBZwOwzAAyM3N9XElIiJiFsHBwVgsFl+XIVXsggg+eXl5AMTExPi4EhERMYucnBxCQkJ8XYZUMYtxfDjlPOZ2u/ntt9/OOH3n5uYSExPDrl27TPeHWX03X9/N2m8wb9/N2m84O33XiE/1dEGM+FitVurXr19l+wsJCTHd/xSOU9/N13ez9hvM23ez9hvM3Xc5PZrcLCIiIqah4CMiIiKmYarg43A4GDduHA6Hw9elnHPqu/n6btZ+g3n7btZ+g7n7Lt65ICY3i4iIiFQFU434iIiIiLkp+IiIiIhpKPiIiIiIaSj4iIiIiGlUu+AzZcoUYmNjcTqdJCUlsXLlylO2//e//03Lli1xOp3ExcUxb968c1Rp1fOm7++88w4Wi6Xc4nQ6z2G1VeObb76hZ8+e1KtXD4vFwpw5c/50m8WLF9O+fXscDgdNmzblnXfeOet1ng3e9n3x4sUnfOYWi4V9+/adm4KrSFpaGp06dSI4OJg6derQu3dvMjMz/3S7C/27Xpl+V5fv+WuvvUa7du08Nyfs3LkzX3zxxSm3udA/bzl7qlXwmT59OqmpqYwbN441a9YQHx9PSkoK+/fvr7D98uXLufXWW7nzzjtZu3YtvXv3pnfv3mzYsOEcV37mvO07lN3hdO/evZ5lx44d57DiqlFQUEB8fDxTpkw5rfbbtm3juuuu48orr2TdunUMHz6cu+66iwULFpzlSquet30/LjMzs9znXqdOnbNU4dmxZMkShg0bxnfffcdXX31FSUkJ11xzDQUFBSfdpjp81yvTb6ge3/P69evzzDPPsHr1alatWsVVV11Fr1692LhxY4Xtq8PnLWeRUY0kJiYaw4YN87x2uVxGvXr1jLS0tArb9+3b17juuuvKrUtKSjL++te/ntU6zwZv+/72228boaGh56i6cwMwZs+efco2jz76qNGmTZty6/r162ekpKSc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p7ICAgJOq52/v7/nZ4vFApTNPxIRuZBpxEfkPNK6dWscDgc7d+6kadOm5ZaYmBhPu++++87z8+HDh9m8eTOtWrUCoFWrVixbtqzcfpctW0bz5s2x2WzExcXhdrvLzRkSETELjfiInEeCg4N5+OGHefDBB3G73VxyySXk5OSwbNkyQkJCaNiwIQBPPvkktWrVIjIyktGjRxMREUHv3r0BeOihh+jUqRNPPfUU/fr1Y8WKFbzyyiu8+uqrAMTGxjJw4ECGDBnCyy+/THx8PDt27GD//v307dvXV10XETknFHxEzjNPPfUUtWvXJi0tja1bt1KzZk3at2/PY4895jnV9Mwzz/DAAw/wyy+/kJCQwOeff47dbgegffv2fPLJJ4wdO5annnqKunXr8uSTTzJo0CDPMV577TUee+wx7r33Xg4ePEiDBg147LHHfNFdEZFzSld1iVxAjl9xdfjwYWrWrOnrckRELjia4yMiIiKmoeAjIiIipqFTXSIiImIaGvERERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdP4f9PSxldFA587AAAAAElFTkSuQmCC", "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": "e53a3ff4", "metadata": {"papermill": {"duration": 0.016299, "end_time": "2024-07-26T13:07:59.466049", "exception": false, "start_time": "2024-07-26T13:07:59.449750", "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": "id,colab,colab_type,-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": 58.053699, "end_time": "2024-07-26T13:08:00.805879", "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-07-26T13:07:02.752180", "version": "2.6.0"}, "widgets": {"application/vnd.jupyter.widget-state+json": {"state": {"0065c3429e61424d81d89bfa3ef48d61": {"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}}, "0296275fd1264baeb405e9295ae577a9": {"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": ""}}, "040956af6d4146cd8c8b528939f8c462": {"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_0065c3429e61424d81d89bfa3ef48d61", "max": 20.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_0296275fd1264baeb405e9295ae577a9", "tabbable": null, "tooltip": null, "value": 20.0}}, "07a1ef7a8af742158cfdbdd6c0f30225": {"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}}, "08e2709a39384b0581c7b146b783672e": {"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}}, "0e72c8845f9d499088a168e99810a8fd": {"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_8357bd9df4584537a80b101f276b3b07", "max": 215.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_e742b5b4149c48579c527755969e6666", "tabbable": null, "tooltip": null, "value": 215.0}}, "0e94373a3e844f0c9bdced3e6c9fefb3": {"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}}, "17e92c75004649b0a364a1d045212102": {"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}}, "195d0477edeb4485a5e68ef66476314e": {"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}}, "1a447c2560d34dce8788ee2fbcafaa14": {"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}}, "208e7562dcd64066b8f331aafff3c4c6": {"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}}, "2387bff1d4ae42bab8c1dab23d16d76f": {"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_c80d43a4049d47f8b16246c2f5ae7920", "placeholder": "\u200b", "style": "IPY_MODEL_07a1ef7a8af742158cfdbdd6c0f30225", "tabbable": null, "tooltip": null, "value": "\u20072/2\u2007[00:00<00:00,\u200747.50it/s]"}}, "263c1d664c4a429ab99f13688efcfe7d": {"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_967606506e894b559f52be3eb5a87bb8", "placeholder": "\u200b", "style": "IPY_MODEL_d2ad184fbc8448328b531801b8d631e2", "tabbable": null, "tooltip": null, "value": "Testing\u2007DataLoader\u20070:\u2007100%"}}, "2ff6b7125602441298624b47d1272f1d": {"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": ""}}, "3101f2b0170747519ae46e4e45bf80f5": {"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_39b59b06a7004b49af120e371db0261f", "max": 20.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_82c3d17644b8455492eda5620d1f64b0", "tabbable": null, "tooltip": null, "value": 20.0}}, "32be712229ff40a6a2ffb5d08a700cbb": {"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}}, "3932d42ec46c4ac1a85bdb0072b4d331": {"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}}, "39b59b06a7004b49af120e371db0261f": {"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}}, "3a64890dad494a178887db08e2a987a4": {"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_44ebb3646074489a8fb9e1efc6499208", "placeholder": "\u200b", "style": "IPY_MODEL_c7418ca130684507a51726487ae21c49", "tabbable": null, "tooltip": null, "value": "Validation\u2007DataLoader\u20070:\u2007100%"}}, "3abea66b683449739d797c5ab0d2314a": {"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_17e92c75004649b0a364a1d045212102", "placeholder": "\u200b", "style": "IPY_MODEL_82213fd93218466fbc4d86cd81761138", "tabbable": null, "tooltip": null, "value": "\u20072/2\u2007[00:00<00:00,\u200718.36it/s]"}}, "3b1b3d3ab1524097840f57f263e30f49": {"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%"}}, "3fb4f40005314f029b95ba66bc7dbc12": {"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_208e7562dcd64066b8f331aafff3c4c6", "placeholder": "\u200b", "style": "IPY_MODEL_79c21bcd582645d9adec234a42111160", "tabbable": null, "tooltip": null, "value": "Sanity\u2007Checking\u2007DataLoader\u20070:\u2007100%"}}, "401e9bcce6084c82bbe5151375eeab99": {"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": ""}}, "42a4d1a523e14180a0b7ee1e04a4f99e": {"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_ec3012e304a84c6d87f068bccc0ec666", "placeholder": "\u200b", "style": "IPY_MODEL_1a447c2560d34dce8788ee2fbcafaa14", "tabbable": null, "tooltip": null, "value": "Validation\u2007DataLoader\u20070:\u2007100%"}}, "435ea724d3b044978ac9a75a39ecdeb0": {"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_96c9f1924c844cadba4355a1a4c87874", "IPY_MODEL_cc17f7cc3f164a36b774973f93ae36b5", "IPY_MODEL_7a4862ea212a4a2c8201ede4dfc581de"], "layout": "IPY_MODEL_9434aea4dce24ea1ab8e56355c4307d7", "tabbable": null, "tooltip": null}}, "44029e39d042450296814e6469531710": {"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_3a64890dad494a178887db08e2a987a4", "IPY_MODEL_040956af6d4146cd8c8b528939f8c462", "IPY_MODEL_9cf1b5254fb14b28bdd4d95c4c4a75d1"], "layout": "IPY_MODEL_e34a71ee7b164d66a57540ed579c76dd", "tabbable": null, "tooltip": null}}, "44ebb3646074489a8fb9e1efc6499208": {"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}}, "493cb225b50040e2826e85bcbb97ccf0": {"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_c21d939e70ed4a77a10d96fd8188e696", "placeholder": "\u200b", "style": "IPY_MODEL_bf8fe82765084f588548ed9d9ff08b47", "tabbable": null, "tooltip": null, "value": "Sanity\u2007Checking\u2007DataLoader\u20070:\u2007100%"}}, "4afc30f08bf04a9db1ef9ab071832336": {"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_aa2fcbe178994728a9541fb1cd898bdd", "placeholder": "\u200b", "style": "IPY_MODEL_ef88b33444074530bc0d97e380055b87", "tabbable": null, "tooltip": null, "value": "Epoch\u20072:\u2007100%"}}, "4b600bdcfd6d45f98a4c157dabce79a9": {"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}}, "4bd638e879c04f1a99922a69a798303b": {"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": ""}}, "4f07e2e2ff83409697748ac71405ee62": {"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}}, "53e569e3b53f494e8aa2fe17f9acb686": {"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%"}}, "5530a3479a2d4ad7807a442b759e0b24": {"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_6f5efa4692a740279ac6743f0088df08", "IPY_MODEL_3101f2b0170747519ae46e4e45bf80f5", "IPY_MODEL_99e8a6a9f50a4030aa889135da46f0b9"], "layout": "IPY_MODEL_3b1b3d3ab1524097840f57f263e30f49", "tabbable": null, "tooltip": null}}, "56298a1bfaed4f6494143c2b00055244": {"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_493cb225b50040e2826e85bcbb97ccf0", "IPY_MODEL_e72cb5ad881849eeae6dd207d33ffdca", "IPY_MODEL_2387bff1d4ae42bab8c1dab23d16d76f"], "layout": "IPY_MODEL_d3393302808f463fbcde4032b7bc5bcd", "tabbable": null, "tooltip": null}}, "5a21f17a11074a679b13300fd353096f": {"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_f6f90ad47a604337baa55a0f88f06eee", "max": 40.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_401e9bcce6084c82bbe5151375eeab99", "tabbable": null, "tooltip": null, "value": 40.0}}, "63510b8ba21d4c43bd3a9dd680f3bb61": {"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}}, "65005d32080249749ab2a4276112d791": {"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}}, "6af390e0ae1b47d0b098b476ef969bf2": {"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_42a4d1a523e14180a0b7ee1e04a4f99e", "IPY_MODEL_77fbd34d3b944dce85c4d3165f23604e", "IPY_MODEL_c8b17dd7f8564a6891e8e8145b4e6a51"], "layout": "IPY_MODEL_c0741709f55f4b92aceb3da58deef142", "tabbable": null, "tooltip": null}}, "6f5efa4692a740279ac6743f0088df08": {"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_a2cd7dcfb63241f39b866069a2317287", "placeholder": "\u200b", "style": "IPY_MODEL_b25c745ac7ae40b59209acac46706c75", "tabbable": null, "tooltip": null, "value": "Validation\u2007DataLoader\u20070:\u2007100%"}}, "7553726917124b3e88d893bd78b3691e": {"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}}, "77fbd34d3b944dce85c4d3165f23604e": {"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_4f07e2e2ff83409697748ac71405ee62", "max": 20.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_2ff6b7125602441298624b47d1272f1d", "tabbable": null, "tooltip": null, "value": 20.0}}, "79c21bcd582645d9adec234a42111160": {"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}}, "7a4862ea212a4a2c8201ede4dfc581de": {"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_32be712229ff40a6a2ffb5d08a700cbb", "placeholder": "\u200b", "style": "IPY_MODEL_c1c39081b5594d87acb230e4e19adc54", "tabbable": null, "tooltip": null, "value": "\u2007235/235\u2007[00:05<00:00,\u200742.52it/s,\u2007v_num=0]"}}, "7fc92f6e47bc4ed3a12ece98caefd7a8": {"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}}, "82213fd93218466fbc4d86cd81761138": {"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}}, "82c3d17644b8455492eda5620d1f64b0": {"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": ""}}, "8357bd9df4584537a80b101f276b3b07": {"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}}, "915bb8bb86b44ee2a84db7c8fa02d055": {"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}}, "9434aea4dce24ea1ab8e56355c4307d7": {"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%"}}, "967606506e894b559f52be3eb5a87bb8": {"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}}, "96c9f1924c844cadba4355a1a4c87874": {"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_4b600bdcfd6d45f98a4c157dabce79a9", "placeholder": "\u200b", "style": "IPY_MODEL_08e2709a39384b0581c7b146b783672e", "tabbable": null, "tooltip": null, "value": "Epoch\u20072:\u2007100%"}}, "99e8a6a9f50a4030aa889135da46f0b9": {"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_caedfdbd3d9b46b5b4d2f255acff9bd0", "placeholder": "\u200b", "style": "IPY_MODEL_63510b8ba21d4c43bd3a9dd680f3bb61", "tabbable": null, "tooltip": null, "value": "\u200720/20\u2007[00:00<00:00,\u200726.94it/s]"}}, "9c6d887829384e4788c785ff648156a3": {"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}}, "9cf1b5254fb14b28bdd4d95c4c4a75d1": {"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_65005d32080249749ab2a4276112d791", "placeholder": "\u200b", "style": "IPY_MODEL_915bb8bb86b44ee2a84db7c8fa02d055", "tabbable": null, "tooltip": null, "value": "\u200720/20\u2007[00:00<00:00,\u200727.06it/s]"}}, "9fcbe7fb7b784124ba771b8eb9bc2c53": {"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_3932d42ec46c4ac1a85bdb0072b4d331", "max": 2.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_f1d6bbd8225d4659a2042e202db81e23", "tabbable": null, "tooltip": null, "value": 2.0}}, "a067190c48474ca2997da8431157ee48": {"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": ""}}, "a071f873792145e0bf1ea13d5a88094a": {"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}}, "a2cd7dcfb63241f39b866069a2317287": {"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}}, "aa2fcbe178994728a9541fb1cd898bdd": {"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}}, "afe6602027bb478aa4cd908491d40779": {"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_b2bd3157f2554596b4db95cafd4adebb", "placeholder": "\u200b", "style": "IPY_MODEL_c612a5a286854df6827f6bf25a8105a1", "tabbable": null, "tooltip": null, "value": "\u200740/40\u2007[00:01<00:00,\u200729.13it/s]"}}, "b25c745ac7ae40b59209acac46706c75": {"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}}, "b2bd3157f2554596b4db95cafd4adebb": {"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}}, "bf8fe82765084f588548ed9d9ff08b47": {"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}}, "c0741709f55f4b92aceb3da58deef142": {"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%"}}, "c1c39081b5594d87acb230e4e19adc54": {"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}}, "c21d939e70ed4a77a10d96fd8188e696": {"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}}, "c612a5a286854df6827f6bf25a8105a1": {"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}}, "c6274ecbffea455293a8a0dcb4dfeb76": {"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%"}}, "c7418ca130684507a51726487ae21c49": {"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}}, "c80d43a4049d47f8b16246c2f5ae7920": {"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}}, "c8b17dd7f8564a6891e8e8145b4e6a51": {"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_195d0477edeb4485a5e68ef66476314e", "placeholder": "\u200b", "style": "IPY_MODEL_7fc92f6e47bc4ed3a12ece98caefd7a8", "tabbable": null, "tooltip": null, "value": "\u200720/20\u2007[00:00<00:00,\u200727.21it/s]"}}, "caedfdbd3d9b46b5b4d2f255acff9bd0": {"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}}, "cc17f7cc3f164a36b774973f93ae36b5": {"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_9c6d887829384e4788c785ff648156a3", "max": 235.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_4bd638e879c04f1a99922a69a798303b", "tabbable": null, "tooltip": null, "value": 235.0}}, "d2ad184fbc8448328b531801b8d631e2": {"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}}, "d2c7e8fa04904091a17eb4fe72b9c2a7": {"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_4afc30f08bf04a9db1ef9ab071832336", "IPY_MODEL_0e72c8845f9d499088a168e99810a8fd", "IPY_MODEL_e0ee68035497451f9c0d72b12d7263df"], "layout": "IPY_MODEL_f5db69908a414c2b93ebef9d2fe395f7", "tabbable": null, "tooltip": null}}, "d3393302808f463fbcde4032b7bc5bcd": {"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%"}}, "e0ee68035497451f9c0d72b12d7263df": {"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_0e94373a3e844f0c9bdced3e6c9fefb3", "placeholder": "\u200b", "style": "IPY_MODEL_7553726917124b3e88d893bd78b3691e", "tabbable": null, "tooltip": null, "value": "\u2007215/215\u2007[00:09<00:00,\u200722.54it/s,\u2007v_num=0,\u2007val_loss=0.255,\u2007val_acc=0.929]"}}, "e34a71ee7b164d66a57540ed579c76dd": {"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%"}}, "e72cb5ad881849eeae6dd207d33ffdca": {"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_a071f873792145e0bf1ea13d5a88094a", "max": 2.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_a067190c48474ca2997da8431157ee48", "tabbable": null, "tooltip": null, "value": 2.0}}, "e742b5b4149c48579c527755969e6666": {"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": ""}}, "e87f20421dab47eba6b43445ea4bdb8b": {"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_3fb4f40005314f029b95ba66bc7dbc12", "IPY_MODEL_9fcbe7fb7b784124ba771b8eb9bc2c53", "IPY_MODEL_3abea66b683449739d797c5ab0d2314a"], "layout": "IPY_MODEL_53e569e3b53f494e8aa2fe17f9acb686", "tabbable": null, "tooltip": null}}, "ec029966a090472487539e33127553d5": {"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_263c1d664c4a429ab99f13688efcfe7d", "IPY_MODEL_5a21f17a11074a679b13300fd353096f", "IPY_MODEL_afe6602027bb478aa4cd908491d40779"], "layout": "IPY_MODEL_c6274ecbffea455293a8a0dcb4dfeb76", "tabbable": null, "tooltip": null}}, "ec3012e304a84c6d87f068bccc0ec666": {"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}}, "ef88b33444074530bc0d97e380055b87": {"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}}, "f1d6bbd8225d4659a2042e202db81e23": {"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": ""}}, "f5db69908a414c2b93ebef9d2fe395f7": {"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%"}}, "f6f90ad47a604337baa55a0f88f06eee": {"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}