{"cells": [{"cell_type": "markdown", "id": "c366b640", "metadata": {"papermill": {"duration": 0.006254, "end_time": "2025-05-01T12:00:21.833818", "exception": false, "start_time": "2025-05-01T12:00:21.827564", "status": "completed"}, "tags": []}, "source": ["\n", "# Introduction to PyTorch Lightning\n", "\n", "* **Author:** Lightning.ai\n", "* **License:** CC BY-SA\n", "* **Generated:** 2025-05-01T12:00:15.144594\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": "5818dbe8", "metadata": {"papermill": {"duration": 0.005575, "end_time": "2025-05-01T12:00:21.845193", "exception": false, "start_time": "2025-05-01T12:00:21.839618", "status": "completed"}, "tags": []}, "source": ["## Setup\n", "This notebook requires some packages besides pytorch-lightning."]}, {"cell_type": "code", "execution_count": 1, "id": "3d24e8e6", "metadata": {"colab": {}, "colab_type": "code", "execution": {"iopub.execute_input": "2025-05-01T12:00:21.856914Z", "iopub.status.busy": "2025-05-01T12:00:21.856583Z", "iopub.status.idle": "2025-05-01T12:00:22.987459Z", "shell.execute_reply": "2025-05-01T12:00:22.986156Z"}, "id": "LfrJLKPFyhsK", "lines_to_next_cell": 0, "papermill": {"duration": 1.138775, "end_time": "2025-05-01T12:00:22.989226", "exception": false, "start_time": "2025-05-01T12:00:21.850451", "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 \"pandas\" \"pytorch-lightning >=2.0,<2.6\" \"torchvision\" \"seaborn\" \"torch>=1.8.1, <2.8\" \"numpy <3.0\" \"matplotlib\" \"torchmetrics >=0.11.0\" \"torchmetrics>=1.0, <1.8\""]}, {"cell_type": "code", "execution_count": 2, "id": "339fe5d0", "metadata": {"execution": {"iopub.execute_input": "2025-05-01T12:00:22.996323Z", "iopub.status.busy": "2025-05-01T12:00:22.995934Z", "iopub.status.idle": "2025-05-01T12:00:27.125547Z", "shell.execute_reply": "2025-05-01T12:00:27.124241Z"}, "papermill": {"duration": 4.135386, "end_time": "2025-05-01T12:00:27.127554", "exception": false, "start_time": "2025-05-01T12:00:22.992168", "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": "97f7a870", "metadata": {"lines_to_next_cell": 2, "papermill": {"duration": 0.005428, "end_time": "2025-05-01T12:00:27.138814", "exception": false, "start_time": "2025-05-01T12:00:27.133386", "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": "e0109f80", "metadata": {"execution": {"iopub.execute_input": "2025-05-01T12:00:27.151055Z", "iopub.status.busy": "2025-05-01T12:00:27.150683Z", "iopub.status.idle": "2025-05-01T12:00:27.158170Z", "shell.execute_reply": "2025-05-01T12:00:27.157235Z"}, "papermill": {"duration": 0.015629, "end_time": "2025-05-01T12:00:27.159764", "exception": false, "start_time": "2025-05-01T12:00:27.144135", "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": "546478a6", "metadata": {"papermill": {"duration": 0.005355, "end_time": "2025-05-01T12:00:27.170608", "exception": false, "start_time": "2025-05-01T12:00:27.165253", "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": "b4019633", "metadata": {"execution": {"iopub.execute_input": "2025-05-01T12:00:27.182289Z", "iopub.status.busy": "2025-05-01T12:00:27.182102Z", "iopub.status.idle": "2025-05-01T12:00:45.558808Z", "shell.execute_reply": "2025-05-01T12:00:45.558009Z"}, "papermill": {"duration": 18.384622, "end_time": "2025-05-01T12:00:45.560620", "exception": false, "start_time": "2025-05-01T12:00:27.175998", "status": "completed"}, "tags": []}, "outputs": [{"name": "stderr", "output_type": "stream", "text": ["\r", " 0%| | 0.00/9.91M [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": "587c6d80", "metadata": {"execution": {"iopub.execute_input": "2025-05-01T12:00:45.631488Z", "iopub.status.busy": "2025-05-01T12:00:45.630876Z", "iopub.status.idle": "2025-05-01T12:01:14.425309Z", "shell.execute_reply": "2025-05-01T12:01:14.424366Z"}, "papermill": {"duration": 28.805505, "end_time": "2025-05-01T12:01:14.427386", "exception": false, "start_time": "2025-05-01T12:00:45.621881", "status": "completed"}, "tags": []}, "outputs": [{"name": "stderr", "output_type": "stream", "text": ["Using default `ModelCheckpoint`. Consider installing `litmodels` package to enable `LitModelCheckpoint` for automatic upload to the Lightning model registry.\n"]}, {"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": ["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", "11 Modules in train mode\n", "0 Modules in eval mode\n"]}, {"data": {"application/vnd.jupyter.widget-view+json": {"model_id": "47553890d6a14055a211443ebc581c34", "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.87980.449493
1NaNNaN0.90820.318566
2NaNNaN0.91940.272458
30.92340.262441NaNNaN
\n", ""], "text/plain": [" test_acc test_loss val_acc val_loss\n", "epoch \n", "0 NaN NaN 0.8798 0.449493\n", "1 NaN NaN 0.9082 0.318566\n", "2 NaN NaN 0.9194 0.272458\n", "3 0.9234 0.262441 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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oOw5TLUCalEnuA75JfmE2EN4tvOzhNhDPMFmbKfyV8GdfC6UiIiI/EaPrKgipe5SrBYrVouVr3d/zdajW+nRpAcNwxoyYskI5uyaw8iEkdzV4i7e2vAWr617jZsa38RzVz7HsgPLGLJgCB3rdmRy18nkFecxc8dMYkJiuOaSa3zdNRERkWpDDyn1UrGrmIX7F3Iw7yD9Lu+HxWLh1i9vZefxncy+eTaxYbF8uu1TVmeupmlEUxqGNSTKGQVAVmEWAB1qd+Cvrf/qeXBmYp1EVt29yjOJONgeTN/L+/qmgyIiItWYgs//yC7K5scjP2Jg0KluJ/Zk7+Hx/zyO23Az46YZGBg8tvgxAG5ucjMRzggMDFyGi/25+4kNi6XrJV1pGtGUmJCye9YMbD2Qh+If8lwNFV8rnvha8Z5jnnz8goiIiJxbpgs+ucW57MvdR6g9lJiQGBbtX8RHWz6idVRr/q/t/5F+KJ3BCwbTIrIFnep2ItgezJajW7BarJS4SnDYHHSJ6UKwfzDFrmIAXrrqJYL9g6kZWDYn5+7L7i53zDBH2PnupoiIiFTAdMFn8rrJTN06lXtb3ssj7R4hpziHFQdXeN6PCY2hUVgjYkNjAajhrMGkaydRL7ie51TUpGsnldtn4/DG561+ERERqTzTBZ/6IfWJCojCZik7vdQuuh3Pdn7WE14ahTXiix5feNpbLBa6xHTxRakiIiJSxUx3VdfJRziIiIiI+Xj1yIrqQKFHRETEvEwXfERERMS8FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0KhV8pkyZQmxsLE6nk8TERFauXHna9hMnTqRZs2YEBAQQExPDI488wokTJypVsIiIiEhleR18pk+fzrBhwxgzZgxr164lLi6O5ORkDh06VGH7qVOnMmLECMaMGcOWLVt4++23mT59Ok888cRZFy8iIiLiDYthGIY3GyQmJtKhQwcmT54MgNvtJiYmhiFDhjBixIjftR88eDBbtmwhLS3Ns+7RRx9lxYoVfP/992d0zJycHMLCwsjOziY0NNSbckVEREQ8vBrxKS4uZs2aNSQlJf22A6uVpKQkli9fXuE2nTp1Ys2aNZ7TYbt27WLu3Ll069btlMcpKioiJyen3CIiIiJytvy8aZyVlYXL5SI6Orrc+ujoaLZu3VrhNnfddRdZWVlceeWVGIZBaWkpDzzwwGlPdaWmpjJ27FhvShMRERH5Q+f8qq5FixYxfvx4Xn/9ddauXcvMmTOZM2cOzzzzzCm3GTlyJNnZ2Z5l//7957pMERERMQGvRnyioqKw2WxkZmaWW5+ZmUnt2rUr3GbUqFHcc8893HfffQC0atWK/Px87r//fp588kms1t9nL4fDgcPh8KY0ERERkT/k1YiP3W6nXbt25SYqu91u0tLS6NixY4XbFBQU/C7c2Gw2ALycVy0iIiJyVrwa8QEYNmwY/fr1o3379iQkJDBx4kTy8/MZMGAAAH379qVevXqkpqYCkJKSwoQJE2jTpg2JiYn89NNPjBo1ipSUFE8AEhERETkfvA4+vXv35vDhw4wePZqMjAzi4+OZN2+eZ8Lzvn37yo3wPPXUU1gsFp566ikOHDhAzZo1SUlJ4bnnnqu6XoiIiIicAa/v4+MLuo+PiIiIVAU9q0tERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0REREyjUsFnypQpxMbG4nQ6SUxMZOXKlads26VLFywWy++W7t27V7poERERkcrwOvhMnz6dYcOGMWbMGNauXUtcXBzJyckcOnSowvYzZ87k4MGDnmXTpk3YbDZuv/32sy5eRERExBsWwzAMbzZITEykQ4cOTJ48GQC3201MTAxDhgxhxIgRf7j9xIkTGT16NAcPHiQoKOiMjpmTk0NYWBjZ2dmEhoZ6U66IiIiIh1cjPsXFxaxZs4akpKTfdmC1kpSUxPLly89oH2+//TZ33HHHaUNPUVEROTk55RYRERGRs+VV8MnKysLlchEdHV1ufXR0NBkZGX+4/cqVK9m0aRP33XffadulpqYSFhbmWWJiYrwpU0RERKRC5/WqrrfffptWrVqRkJBw2nYjR44kOzvbs+zfv/88VSgiIiLVmZ83jaOiorDZbGRmZpZbn5mZSe3atU+7bX5+PtOmTWPcuHF/eByHw4HD4fCmNBEREZE/5NWIj91up127dqSlpXnWud1u0tLS6Nix42m3/eyzzygqKuLuu++uXKUiIiIiZ8mrER+AYcOG0a9fP9q3b09CQgITJ04kPz+fAQMGANC3b1/q1atHampque3efvttevToQY0aNaqmchEREREveR18evfuzeHDhxk9ejQZGRnEx8czb948z4Tnffv2YbWWH0jatm0b33//PfPnz6+aqkVEREQqwev7+PiC7uMjIiIiVUHP6hIRERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERER01DwEREREdNQ8BERERHTUPARERGpZrp06cLQoUOrbH/9+/enR48eVbY/X1LwEREREdNQ8BERETkDhmFQUFzqk8UwjDOus3//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Tvz888+nPE5qaiphYWGeJSYmxpsyRUREzhlrYGCFi8VmA8BitZZbf5LF37/ibQMCftu33f7beru90jWmpKRgGAZz5sxh//79LFmyhD59+gDw2GOPMWvWLMaPH8+SJUtIT0+nVatWFFdyTpG33n33XZYvX06nTp2YPn06TZs25YcffgDg6aefZvPmzXTv3p0FCxZw2WWXMWvWrCo9/jm/qqtjx4707duX+Ph4rr76ambOnEnNmjV58803T7nNyJEjyc7O9iz79+8/12WKiIhUG06nk1tuuYWPP/6YTz75hGbNmtG2bVsAli5dSv/+/enZsyetWrWidu3a7Nmzp0qO26JFC9avX09+fr5n3dKlS7FarTRr1syzrk2bNowcOZJly5bRsmVLpk6d6nmvadOmPPLII8yfP59bbrmFd999t0pqO8mr4BMVFYXNZiMzM7Pc+szMzDOew+Pv70+bNm346aefTtnG4XAQGhpabhEREZEz16dPH88c3JOjPVA2b2bmzJmkp6ezfv167rrrrt9dAXY2x3Q6nfTr149NmzaxcOFChgwZwj333EN0dDS7d+9m5MiRLF++nL179zJ//nx27NhBixYtKCwsZPDgwSxatIi9e/eydOlSVq1aVW4OUFXwKvjY7XbatWtHWlqaZ53b7SYtLY2OHTue0T5cLhcbN270nM8TERGRqnfttdcSGRnJtm3buOuuuzzrJ0yYQEREBJ06dSIlJYXk5GTPaNDZCgwM5JtvvuHo0aN06NCB2267ja5duzJ58mTP+1u3buXWW2+ladOm3H///QwaNIi//vWv2Gw2jhw5Qt++fWnatCm9evXihhtuYOzYsVVS20kWwzAMbzaYPn06/fr148033yQhIYGJEyfy6aefsnXrVqKjo+nbty/16tUjNTUVgHHjxnHFFVfQpEkTjh8/zksvvcTs2bNZs2YNl1122RkdMycnh7CwMLKzszX6IyIiIpXm9ZTx3r17c/jwYUaPHk1GRgbx8fHMmzfPM+F53759WK2/DSQdO3aMgQMHkpGRQUREBO3atWPZsmVnHHpEREREqorXIz6+oBEfERGR8+/jjz/mr3/9a4XvNWjQgM2bN5/nis6ego+IiIhUKDc393cXNJ3k7+9PgwYNznNFZ6/yd0cSERGRai0kJISQkBBfl1Gl9HR2ERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ0FHxERETENBR8RERExDQUfERERMQ3TBR93cTElBw/6ugwRERHxAdMFn6Nvv83O7jdy5O13MEpKfF2OiIiInEemCj6GYVCwahVGQQGHXnqJ3bfeRsHatb4uS0RERM4Ti2EYhq+L+CM5OTmEhYWRnZ1NaGjoWe3LcLvJnjWLQy/9Hdfx4wCE3XYr0Y89hi08/OyLFRERkQuWqUZ8ACxWK+G33kqjr+cSdtutAOR++x2Gy+XjykRERORcM92Iz/8qWLuW0qwsQq+/HoBj06YT0KYNzmZNq/Q4IiIi4numDz7/7cS2bey+pWwUKLJfP2oOGYw1IOCcHU9ERETOL9Od6jodW1gYIddeAy4Xud9+CxaLr0sSERGRKqQRnwrkLlqE1RlA0BWJABx5+x1CkpOx1693zo8tIiIi546Czx/IW7KE/QPvx+J0EvXQQ9To3w+L3X5eaxAREZGqoVNdf8C/Xj0CExIwTpzg8IQJ7LrlFvJXrvR1WSIiIlIJGvE5A4ZhkPPll2S+8CKuo0cBiPq/IdR86KHzXouIiIhUnkZ8zoDFYiHs5ptp/PVcwu/oDTYbwZ06AWWhyHC7fVyhiIiInAmN+FRCyYED+Ncrm+ic/dUcjn34IbWfHoOzRQsfVyYiIiKnoxGfSjgZegy3m6xJkyhcv57dt97G8c8/93FlIiIicjoKPmfBYrVyyQfvE3LDn7H4+xOYkACA4XJxEQykiYiImI5OdVWR/z79lfXPtyhYtYrao57CfsklPq5MRERETtKITxU5GXrcBQUceftt8pcsYdeNKRyeMgV3cbGPqxMRERFQ8Kly1sBAYqd9QmDHKzCKi8maNJndN91M/vLlvi5NRETE9HSq6xwxDIOcOXPJfOF5XIezsIaE0GRBGraQEF+XJiIiYlp+vi6gurJYLITd2J3gq6/i8MRXcVzaxBN6CtatI6B1ayw2m4+rFBERMReN+JxnJ7ZvZ/ctt+Js3pzaY8YQ0Kqlr0sSERExDc3xOc9K9u/HGhDAiU2bOPDooxilpb4uSURExDQUfM6zkK5daTx3DqEpKUSPHIHFr+xsY8Hatbr3j4iIyDmmU10XgLylS9n/l/sI6tSR6FGjcDRs6OuSREREqiWN+FwASg4cwOJwkL9sObtvupnDr03CXVTk67JERESqHQWfC0BEr140+urfBF31J4ySErJef51dKTdRsHq1r0sTERGpVioVfKZMmUJsbCxOp5PExERWrlx5RttNmzYNi8VCjx49KnPYas0eE0PMm29S79VX8YuOpmTfPrBYfF2WiIhIteJ18Jk+fTrDhg1jzJgxrF27lri4OJKTkzl06NBpt9uzZw+PPfYYf/rTnypdbHVnsVgITb6eRnPmUG/CywS2awdA7nffcfSDD3QFmIiIyFnyenJzYmIiHTp0YPLkyQC43W5iYmIYMmQII0aMqHAbl8vFVVddxb333suSJUs4fvw4s2fPPuNjVvfJzafjystn1w03UHr4MI4WLaj7/PM4mzX1dVkiIiIXJa9GfIqLi1mzZg1JSUm/7cBqJSkpieWneRbVuHHjqFWrFn/5y1/O6DhFRUXk5OSUW8zKGhhA1ODBWMPCKN65E6vT4euSRERELlpePbIiKysLl8tFdHR0ufXR0dFs3bq1wm2+//573n77bdLT08/4OKmpqYwdO9ab0qoti9VKRO9ehCR1pTA9HXuDBgAcm/4pFoedsJtvxqK5QCIiImfknF7VlZubyz333MNbb71FVFTUGW83cuRIsrOzPcv+/fvPYZUXB78aNQjp2hWAkowMMl94gYMjRrKvbz+KfvrJx9WJiIhcHLwa8YmKisJms5GZmVlufWZmJrVr1/5d+507d7Jnzx5SUlI869xud9mB/fzYtm0bjRs3/t12DocDh0OndE7FLzKSqAceIOv11ylYtYpdPXpSY8AAoh56EGtAgK/LExERuWB5NeJjt9tp164daWlpnnVut5u0tDQ6duz4u/bNmzdn48aNpKene5abbrqJa665hvT0dGJiYs6+ByZksduJun8gjb76iuAuXaC0lCNvvcWeO+7E+DVYioiIyO95NeIDMGzYMPr160f79u1JSEhg4sSJ5OfnM2DAAAD69u1LvXr1SE1Nxel00rJl+aePh4eHA/xuvXjPXr8e9f/xOnlpaWQ8N57wW2/FYi3Lsu6CAqyBgT6uUERE5MLidfDp3bs3hw8fZvTo0WRkZBAfH8+8efM8E5737duH1aobQp8vFouFkKQkgjp1wmK3A1C0cyd77upD1P33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qo2T9xayN2yIX0SEr8sRkQuQRnxEpNo4eW8hEZFTsf5xExEREZHqQcFHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMQ8FHRERETEPBR0RERExDwUdERERMw8/XBZwJwzAAyMnJ8XElIiJiFiEhIVgsFl+XIVXsogg+ubm5AMTExPi4EhERMYvs7GxCQ0N9XYZUMYtxcjjlAuZ2u/nll1/OOn3n5OQQExPD/v37TfcPs/puvr6btd9g3r6btd9wbvquEZ/q6aIY8bFardSvX7/K9hcaGmq6fymcpL6br+9m7TeYt+9m7TeYu+9yZjS5WURERExDwUdERERMw1TBx+FwMGbMGBwOh69LOe/Ud/P13az9BvP23az9BnP3XbxzUUxuFhEREakKphrxEREREXNT8BERERHTUPARERER01DwEREREdOodsFnypQpxMbG4nQ6SUxMZOXKladt/9lnn9G8eXOcTietWrVi7ty556nSqudN39977z0sFku5xel0nsdqq8Z//vMfUlJSqFu3LhaLhdmzZ//hNosWLaJt27Y4HA6aNGnCe++9d87rPBe87fuiRYt+951bLBYyMjLOT8FVJDU1lQ4dOhASEkKtWrXo0aMH27Zt+8PtLvbfemX6XV1+5//4xz9o3bq15+aEHTt25Ouvvz7tNhf79y3nTrUKPtOnT2fYsGGMGTOGtWvXEhcXR3JyMocOHaqw/bJly7jzzjv5y1/+wrp16+jRowc9evRg06ZN57nys+dt36HsDqcHDx70LHv37j2PFVeN/Px84uLimDJlyhm13717N927d+eaa64hPT2doUOHct999/HNN9+c40qrnrd9P2nbtm3lvvdatWqdowrPjcWLFzNo0CB++OEHvv32W0pKSrj++uvJz88/5TbV4bdemX5D9fid169fn+eff541a9awevVqrr32Wm6++WY2b95cYfvq8H3LOWRUIwkJCcagQYM8r10ul1G3bl0jNTW1wva9evUyunfvXm5dYmKi8de//vWc1nkueNv3d9991wgLCztP1Z0fgDFr1qzTtnn88ceNyy+/vNy63r17G8nJyeewsnPvTPq+cOFCAzCOHTt2Xmo6Xw4dOmQAxuLFi0/Zpjr91k86k35Xx9/5SREREca//vWvCt+rjt+3VJ1qM+JTXFzMmjVrSEpK8qyzWq0kJSWxfPnyCrdZvnx5ufYAycnJp2x/oapM3wHy8vJo0KABMTExp/2/p+qkunznZyM+Pp46depw3XXXsXTpUl+Xc9ays7MBiIyMPGWb6vi9n0m/ofr9zl0uF9OmTSM/P5+OHTtW2KY6ft9SdapN8MnKysLlchEdHV1ufXR09CnnMGRkZHjV/kJVmb43a9aMd955hy+++IKPPvoIt9tNp06d+Pnnn89HyT5zqu88JyeHwsJCH1V1ftSpU4c33niDzz//nM8//5yYmBi6dOnC2rVrfV1apbndboYOHUrnzp1p2bLlKdtVl9/6SWfa7+r0O9+4cSPBwcE4HA4eeOABZs2axWWXXVZh2+r2fUvVuiiezi5Vr2PHjuX+b6lTp060aNGCN998k2eeecaHlcm50qxZM5o1a+Z53alTJ3bu3Mkrr7zChx9+6MPKKm/QoEFs2rSJ77//3telnFdn2u/q9Dtv1qwZ6enpZGdnM2PGDPr168fixYtPGX5ETqXajPhERUVhs9nIzMwstz4zM5PatWtXuE3t2rW9an+hqkzf/5e/vz9t2rThp59+OhclXjBO9Z2HhoYSEBDgo6p8JyEh4aL9zgcPHsxXX33FwoULqV+//mnbVpffOnjX7/91Mf/O7XY7TZo0oV27dqSmphIXF8err75aYdvq9H1L1as2wcdut9OuXTvS0tI869xuN2lpaac8D9yxY8dy7QG+/fbbU7a/UFWm7//L5XKxceNG6tSpc67KvCBUl++8qqSnp19037lhGAwePJhZs2axYMECGjZs+IfbVIfvvTL9/l/V6XfudrspKiqq8L3q8H3LOeTr2dVVadq0aYbD4TDee+8948cffzTuv/9+Izw83MjIyDAMwzDuueceY8SIEZ72S5cuNfz8/Iy///3vxpYtW4wxY8YY/v7+xsaNG33VhUrztu9jx441vvnmG2Pnzp3GmjVrjDvuuMNwOp3G5s2bfdWFSsnNzTXWrVtnrFu3zgCMCRMmGOvWrTP27t1rGIZhjBgxwrjnnns87Xft2mUEBgYaf/vb34wtW7YYU6ZMMWw2mzFv3jxfdaHSvO37K6+8YsyePdvYsWOHsXHjRuPhhx82rFar8d133/mqC5Xy4IMPGmFhYcaiRYuMgwcPepaCggJPm+r4W69Mv6vL73zEiBHG4sWLjd27dxsbNmwwRowYYVgsFmP+/PmGYVTP71vOnWoVfAzDMCZNmmRccsklht1uNxISEowffvjB897VV19t9OvXr1z7Tz/91GjatKlht9uNyy+/3JgzZ855rrjqeNP3oUOHetpGR0cb3bp1M9auXeuDqs/OyUu0/3c52dd+/foZV1999e+2iY+PN+x2u9GoUSPj3XffPe91VwVv+/7CCy8YjRs3NpxOpxEZGWl06dLFWLBggW+KPwsV9Rko9z1Wx996ZfpdXX7n9957r9GgQQPDbrcbNWvWNLp27eoJPYZRPb9vOXcshmEY5298SURERMR3qs0cHxEREZE/ouAjIiIipqHgIyIiIqah4CMiIiKmoeAjIiIipqHgIyIiIqah4CMiIiKmoeAjIiIipqHgIyLlLFq0CIvFwvHjx31diohIlVPwEREREdNQ8BERERHTUPARucC43W5SU1Np2LAhAQEBxMXFMWPGDOC301Bz5syhdevWOJ1OrrjiCjZt2lRuH59//jmXX345DoeD2NhYXn755XLvFxUVMXz4cGJiYnA4HDRp0oS33367XJs1a9bQvn17AgMD6dSpE9u2bTu3HRcROQ8UfEQuMKmpqXzwwQe88cYbbN68mUceeYS7776bxYsXe9r87W9/4+WXX2bVqlXUrFmTlJQUSkpKgLLA0qtXL+644w42btzI008/zahRo3jvvfc82/ft25dPPvmE1157jS1btvDmm28SHBxcro4nn3ySl19+mdWrV+Pn58e99957XvovInIu6ensIheQoqIiIiMj+e677+jYsaNn/X333UdBQQH3338/11xzDdOmTaN3794AHD16lPr16/Pee+/Rq1cv+vTpw+HDh5k/f75n+8cff5w5c+awefNmtm/fTrNmzfj2229JSkr6XQ2LFi3immuu4bvvvqNr164AzJ07l+7du1NYWIjT6TzHn4KIyLmjER+RC8hPP/1EQUEB1113HcHBwZ7lgw8+YOfOnZ52/x2KIiMjadasGVu2bAFgy5YtdO7cudx+O3fuzI4dO3C5XKSnp2Oz2bj66qtPW0vr1q09f9epUweAQ4cOnXUfRUR8yc/XBYjIb/Ly8gCYM2cO9erVK/eew+EoF34qKyAg4Iza+fv7e/62WCxA2fwjEZGLmUZ8RC4gl112GQ6Hg3379tGkSZNyS0xMjKfdDz/84Pn72LFjbN++nRYtWgDQokULli5dWm6/S5cupWnTpthsNlq1aoXb7S43Z0hExCw04iNyAQkJCeGxxx7jkUcewe12c+WVV5Kdnc3SpUsJDQ2lQYMGAIwbN44aNWoQHR3Nk08+SVRUFD169ADg0UcfpUOHDjzzzDP07t2b5cuXM3nyZF5//XUAYmNj6devH/feey+vvfYacXFx7N27l0OHDtGrVy9fdV1E5LxQ8BG5wDzzzDPUrFmT1NRUdu3aRXh4OG3btuWJJ57wnGp6/vnnefjhh9mxYwfx8fH8+9//xm63A9C2bVs+/fRTRo8ezTPPPEOdOnUYN24c/fv39xzjH//4B0888QQPPfQQR44c4ZJLLuGJJ57wRXdFRM4rXdUlchE5ecXVsWPHCA8P93U5IiIXHc3xEREREdNQ8BERERHT0KkuERERMQ2N+IiIiIhpKPiIiIiIaSj4iIiIiGko+IiIiIhpKPiIiIiIaSj4iIiIiGko+IiIiIhpKPiIiIiIafw/UyvmVn2g4XQAAAAASUVORK5CYII=", "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": "e503fdf7", "metadata": {"papermill": {"duration": 0.012656, "end_time": "2025-05-01T12:01:16.646481", "exception": false, "start_time": "2025-05-01T12:01:16.633825", "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.220929, "end_time": "2025-05-01T12:01:19.062523", "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": "2025-05-01T12:00:20.841594", "version": "2.6.0"}, "widgets": {"application/vnd.jupyter.widget-state+json": {"state": {"0290671962bc45eea4ef461c70d6e7e3": {"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_0a1f132f81f1498993876810e66baa91", "placeholder": "\u200b", "style": "IPY_MODEL_ef83c609f69d427aa8c7a17866091c52", "tabbable": null, "tooltip": null, "value": "Testing\u2007DataLoader\u20070:\u2007100%"}}, "0592c2989d0a4ef791296a75b889a158": {"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}}, "0a1f132f81f1498993876810e66baa91": {"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}}, "0ab1ffdf20224f03bec617af6ae7ef80": {"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}}, "0d2ce50d715d4c7583fc1f52de8097d1": {"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_f40a91c2421842d2a3b0ff4f049e1188", "placeholder": "\u200b", "style": "IPY_MODEL_aaa1325b81f04877bbd9f23baf684058", "tabbable": null, "tooltip": null, "value": "\u200720/20\u2007[00:00<00:00,\u200727.80it/s]"}}, "0da1ea759e4a46d8a238d71ba882a3b1": {"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}}, "0dc24aff68e34eff847bfdbe901ab2b0": {"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}}, "13c2f0b67c0a4320bf67c2b5db7dced6": {"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_55809917238e4a86a636aeb3a7ada92f", "max": 20.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_ccb87fa51b084e0cb17c4949b954526b", "tabbable": null, "tooltip": null, "value": 20.0}}, "1450bf0cf1114e35bd886ff7e2f2be46": {"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}}, "18268e5aae4f41d1acaf6bfef20057bb": {"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_c43349fae5f443babcd0b7aab10ce9a4", "placeholder": "\u200b", "style": "IPY_MODEL_c945efaeb26346b880bd9820cc3368f7", "tabbable": null, "tooltip": null, "value": "Validation\u2007DataLoader\u20070:\u2007100%"}}, "1c1b1dfa907840a9aff82640ec433380": {"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_200ce78bebc74f01bdb23e85112767c0", "placeholder": "\u200b", "style": "IPY_MODEL_0dc24aff68e34eff847bfdbe901ab2b0", "tabbable": null, "tooltip": null, "value": "\u20072/2\u2007[00:00<00:00,\u200716.19it/s]"}}, "1d979f35dd0e40d4a442b1193a58e552": {"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}}, "1fd3b53af3284574b9607ad2665f74cb": {"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%"}}, "200ce78bebc74f01bdb23e85112767c0": {"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}}, "22fb0765ab344f51af823057587fd725": {"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_2aafcbd550484b62a6d4186990ed7727", "max": 20.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_a2f892e9c1df4ba090012aed2b7b0766", "tabbable": null, "tooltip": null, "value": 20.0}}, "23f323d454de41129b9fd0dc0e089741": {"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%"}}, "2aafcbd550484b62a6d4186990ed7727": {"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}}, "30475530917c4ff5acf607997a221028": {"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}}, "3222c65836e940a798f127097f563b74": {"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}}, "381a2de88e9a41b3aa8aa833a701e312": {"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_b75b0b9310ed438f92741e34003901dc", "IPY_MODEL_3b7b995fc30d4b55aa7280444ee7ba09", "IPY_MODEL_ef82868d713a4ee8b0a1888d9e072bfa"], "layout": "IPY_MODEL_679177c0cf5a43e99b4af101125b8a88", "tabbable": null, "tooltip": null}}, "3a370b809692420cb7779da5a7034684": {"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}}, "3b7b995fc30d4b55aa7280444ee7ba09": {"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_76dfb14a5f52443ebe81379e29183a02", "max": 2.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_dd6b6cb7e04b4e91936122e7fa63c80f", "tabbable": null, "tooltip": null, "value": 2.0}}, "3d42b15d060e4c478ca188410dc684da": {"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}}, "3fe1674c30d84889b8e15728515dabee": {"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_46f1e371cb054a289f11058bb0a52664", "max": 2.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_3fe4858b224d4f5f89cac5bdb111307e", "tabbable": null, "tooltip": null, "value": 2.0}}, "3fe4858b224d4f5f89cac5bdb111307e": {"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": ""}}, "40fa571b13424572b901605e07dff203": {"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_fefa637239d54fbdbdc29d9cd916c1db", "placeholder": "\u200b", "style": "IPY_MODEL_b556743edf1a4727b97404651c77dca8", "tabbable": null, "tooltip": null, "value": "\u200720/20\u2007[00:00<00:00,\u200727.20it/s]"}}, "46f1e371cb054a289f11058bb0a52664": {"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}}, "47553890d6a14055a211443ebc581c34": {"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_66b9e6fad365410bb5a807a0749a7ad9", "IPY_MODEL_3fe1674c30d84889b8e15728515dabee", "IPY_MODEL_1c1b1dfa907840a9aff82640ec433380"], "layout": "IPY_MODEL_506905c0a050447fad45621e201400a2", "tabbable": null, "tooltip": null}}, "4996e57e3f7c4c6ba7067b90b7eb71fe": {"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}}, "4ae6b8c5d367494287af49e399ebf510": {"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}}, "506905c0a050447fad45621e201400a2": {"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%"}}, "510fdae678514fb29ebc068a477fd805": {"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_18268e5aae4f41d1acaf6bfef20057bb", "IPY_MODEL_c55bfc62521a4b3fa2497f968da8191a", "IPY_MODEL_d04d2335eeec40d8abe2b491beaf99ac"], "layout": "IPY_MODEL_23f323d454de41129b9fd0dc0e089741", "tabbable": null, "tooltip": null}}, "549357d243624d0fb88d5a670e95763f": {"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_adbf18fa482e4bc4b1f01bf684face71", "IPY_MODEL_95cb2f41eeb945789573a079e5d207da", "IPY_MODEL_ec3270a4eba9404c92026ab7d3d6c7f6"], "layout": "IPY_MODEL_79a6991baad34b17a8658f07c9623c34", "tabbable": null, "tooltip": null}}, "55809917238e4a86a636aeb3a7ada92f": {"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}}, "571f204886d44b4b8cd64ecbdd68a7e3": {"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}}, "5dc9d159b3af4568a70e3b79b8d8263e": {"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}}, "6195bdf181f349118d0f1013d1d15b80": {"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_0290671962bc45eea4ef461c70d6e7e3", "IPY_MODEL_934187f7ef954957a32007fdbf712ac0", "IPY_MODEL_e523e37fab3b42718622672c8ab887b7"], "layout": "IPY_MODEL_9e4913ed2cde4dc988bc5f4ed423ace3", "tabbable": null, "tooltip": null}}, "61e6190567db4641973ae9437a7cd95e": {"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}}, "66b9e6fad365410bb5a807a0749a7ad9": {"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_1450bf0cf1114e35bd886ff7e2f2be46", "placeholder": "\u200b", "style": "IPY_MODEL_30475530917c4ff5acf607997a221028", "tabbable": null, "tooltip": null, "value": "Sanity\u2007Checking\u2007DataLoader\u20070:\u2007100%"}}, "679177c0cf5a43e99b4af101125b8a88": {"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%"}}, "748469a7981f4a418e25462cdbefc3f5": {"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}}, "76dfb14a5f52443ebe81379e29183a02": {"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}}, "77dfd20dafd4464390e92069a97ae081": {"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_fdde5c01d0f84799bcbd297869b9295d", "IPY_MODEL_93f83a92718842cd90e7db0bd3cdf45d", "IPY_MODEL_dd80847093184cdfb1aca897437df3a1"], "layout": "IPY_MODEL_d073748347394066bc167254a027223c", "tabbable": null, "tooltip": null}}, "79a6991baad34b17a8658f07c9623c34": {"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%"}}, "7c89e92ab2dd4a509e382739aca47539": {"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": ""}}, "7ccbed48673f4df4aa10ded508029eeb": {"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}}, "7d489a4f40b84422a7791ed7d249b5f7": {"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}}, "856c0ce0cf3f4a86adedec52e43f61c6": {"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}}, "8c46ee6ba83e48d6a9095948a1ba6dcf": {"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": ""}}, "913211ccee904888af21aba6f5f38741": {"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_3a370b809692420cb7779da5a7034684", "placeholder": "\u200b", "style": "IPY_MODEL_856c0ce0cf3f4a86adedec52e43f61c6", "tabbable": null, "tooltip": null, "value": "Validation\u2007DataLoader\u20070:\u2007100%"}}, "934187f7ef954957a32007fdbf712ac0": {"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_7d489a4f40b84422a7791ed7d249b5f7", "max": 40.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_7c89e92ab2dd4a509e382739aca47539", "tabbable": null, "tooltip": null, "value": 40.0}}, "93f83a92718842cd90e7db0bd3cdf45d": {"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_4ae6b8c5d367494287af49e399ebf510", "max": 235.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_df308d73c6b847eb99b77ea19486e192", "tabbable": null, "tooltip": null, "value": 235.0}}, "95cb2f41eeb945789573a079e5d207da": {"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_3222c65836e940a798f127097f563b74", "max": 215.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_b7a8a52f5a5e47938057baa70dd8b23d", "tabbable": null, "tooltip": null, "value": 215.0}}, "98a2b3e2f5a14583b9de204cbeeeb6c0": {"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_61e6190567db4641973ae9437a7cd95e", "placeholder": "\u200b", "style": "IPY_MODEL_e386d5807ac34d03bebaaaf9149956cd", "tabbable": null, "tooltip": null, "value": "Validation\u2007DataLoader\u20070:\u2007100%"}}, "9e4913ed2cde4dc988bc5f4ed423ace3": {"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%"}}, "9eeb14b71b46468d9aa4516ba9c38fe0": {"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%"}}, "a2f892e9c1df4ba090012aed2b7b0766": {"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": ""}}, "aaa1325b81f04877bbd9f23baf684058": {"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}}, "ab5a0f9589e4426a869715d3f659161a": {"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_98a2b3e2f5a14583b9de204cbeeeb6c0", "IPY_MODEL_13c2f0b67c0a4320bf67c2b5db7dced6", "IPY_MODEL_40fa571b13424572b901605e07dff203"], "layout": "IPY_MODEL_9eeb14b71b46468d9aa4516ba9c38fe0", "tabbable": null, "tooltip": null}}, "adbf18fa482e4bc4b1f01bf684face71": {"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_ce141fa57ee5434295a0a7104a2ed63a", "placeholder": "\u200b", "style": "IPY_MODEL_c02694ec154946f18483e990af1f185b", "tabbable": null, "tooltip": null, "value": "Epoch\u20072:\u2007100%"}}, "ae7873422717458ba5b54056adc386cd": {"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_913211ccee904888af21aba6f5f38741", "IPY_MODEL_22fb0765ab344f51af823057587fd725", "IPY_MODEL_0d2ce50d715d4c7583fc1f52de8097d1"], "layout": "IPY_MODEL_1fd3b53af3284574b9607ad2665f74cb", "tabbable": null, "tooltip": null}}, "b556743edf1a4727b97404651c77dca8": {"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}}, "b75b0b9310ed438f92741e34003901dc": {"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_ec1f8ee12fdd4a479dcf5d2498d58d5c", "placeholder": "\u200b", "style": "IPY_MODEL_e721bd7ec5f741c5af3317700a1ce818", "tabbable": null, "tooltip": null, "value": "Sanity\u2007Checking\u2007DataLoader\u20070:\u2007100%"}}, "b7a8a52f5a5e47938057baa70dd8b23d": {"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": ""}}, "c02694ec154946f18483e990af1f185b": {"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}}, "c43349fae5f443babcd0b7aab10ce9a4": {"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}}, "c55bfc62521a4b3fa2497f968da8191a": {"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_7ccbed48673f4df4aa10ded508029eeb", "max": 20.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_8c46ee6ba83e48d6a9095948a1ba6dcf", "tabbable": null, "tooltip": null, "value": 20.0}}, "c945efaeb26346b880bd9820cc3368f7": {"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}}, "cb980ec682ef484e86646d3ffe5f418b": {"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}}, "ccb87fa51b084e0cb17c4949b954526b": {"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": ""}}, "ce141fa57ee5434295a0a7104a2ed63a": {"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}}, "ceaa73ad7e9b462c905dcd59da9bedc1": {"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}}, "d04d2335eeec40d8abe2b491beaf99ac": {"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_5dc9d159b3af4568a70e3b79b8d8263e", "placeholder": "\u200b", "style": "IPY_MODEL_cb980ec682ef484e86646d3ffe5f418b", "tabbable": null, "tooltip": null, "value": "\u200720/20\u2007[00:00<00:00,\u200726.43it/s]"}}, "d073748347394066bc167254a027223c": {"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%"}}, "dd6b6cb7e04b4e91936122e7fa63c80f": {"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": ""}}, "dd80847093184cdfb1aca897437df3a1": {"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_ceaa73ad7e9b462c905dcd59da9bedc1", "placeholder": "\u200b", "style": "IPY_MODEL_0ab1ffdf20224f03bec617af6ae7ef80", "tabbable": null, "tooltip": null, "value": "\u2007235/235\u2007[00:05<00:00,\u200744.61it/s,\u2007v_num=0]"}}, "df308d73c6b847eb99b77ea19486e192": {"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": ""}}, "e386d5807ac34d03bebaaaf9149956cd": {"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}}, "e523e37fab3b42718622672c8ab887b7": {"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_4996e57e3f7c4c6ba7067b90b7eb71fe", "placeholder": "\u200b", "style": "IPY_MODEL_0da1ea759e4a46d8a238d71ba882a3b1", "tabbable": null, "tooltip": null, "value": "\u200740/40\u2007[00:01<00:00,\u200729.84it/s]"}}, "e721bd7ec5f741c5af3317700a1ce818": {"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}}, "ec1f8ee12fdd4a479dcf5d2498d58d5c": {"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}}, "ec3270a4eba9404c92026ab7d3d6c7f6": {"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_ff48d99a60b348d0bf24f65f12a06842", "placeholder": "\u200b", "style": "IPY_MODEL_748469a7981f4a418e25462cdbefc3f5", "tabbable": null, "tooltip": null, "value": "\u2007215/215\u2007[00:09<00:00,\u200723.01it/s,\u2007v_num=0,\u2007val_loss=0.272,\u2007val_acc=0.919]"}}, "ef82868d713a4ee8b0a1888d9e072bfa": {"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_571f204886d44b4b8cd64ecbdd68a7e3", "placeholder": "\u200b", "style": "IPY_MODEL_3d42b15d060e4c478ca188410dc684da", "tabbable": null, "tooltip": null, "value": "\u20072/2\u2007[00:00<00:00,\u200747.14it/s]"}}, "ef83c609f69d427aa8c7a17866091c52": {"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}}, "f40a91c2421842d2a3b0ff4f049e1188": {"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}}, "fdde5c01d0f84799bcbd297869b9295d": {"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_1d979f35dd0e40d4a442b1193a58e552", "placeholder": "\u200b", "style": "IPY_MODEL_0592c2989d0a4ef791296a75b889a158", "tabbable": null, "tooltip": null, "value": "Epoch\u20072:\u2007100%"}}, "fefa637239d54fbdbdc29d9cd916c1db": {"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}}, "ff48d99a60b348d0bf24f65f12a06842": {"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}}}, "version_major": 2, "version_minor": 0}}}, "nbformat": 4, "nbformat_minor": 5}