diff --git "a/train_model.ipynb" "b/train_model.ipynb" new file mode 100644--- /dev/null +++ "b/train_model.ipynb" @@ -0,0 +1,3822 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "742dd25e", + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "execution": { + "iopub.execute_input": "2025-04-09T14:57:34.588701Z", + "iopub.status.busy": "2025-04-09T14:57:34.588348Z", + "iopub.status.idle": "2025-04-09T14:57:36.465959Z", + "shell.execute_reply": "2025-04-09T14:57:36.464971Z" + }, + "papermill": { + "duration": 1.884778, + "end_time": "2025-04-09T14:57:36.467568", + "exception": false, + "start_time": "2025-04-09T14:57:34.582790", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "import os\n", + "import urllib.request\n", + "import sys\n", + "\n", + "from sklearn.model_selection import train_test_split" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "6376949e", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T14:57:36.477658Z", + "iopub.status.busy": "2025-04-09T14:57:36.477313Z", + "iopub.status.idle": "2025-04-09T14:57:44.372695Z", + "shell.execute_reply": "2025-04-09T14:57:44.371993Z" + }, + "papermill": { + "duration": 7.901685, + "end_time": "2025-04-09T14:57:44.374160", + "exception": false, + "start_time": "2025-04-09T14:57:36.472475", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import torch\n", + "import torch.nn as nn\n", + "from torch.utils.data import Dataset, DataLoader\n", + "import torch.nn.functional as f\n", + "import torch.optim as optim\n", + "\n", + "import torchvision\n", + "from torchvision.transforms import v2\n", + "from torchvision import models\n", + "from torchvision.models import resnet50, ResNet50_Weights\n", + "import torch.optim.lr_scheduler as lr_scheduler\n", + "\n", + "import random\n", + "from PIL import Image\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "c2c2efd2", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T14:57:44.384169Z", + "iopub.status.busy": "2025-04-09T14:57:44.383727Z", + "iopub.status.idle": "2025-04-09T14:57:44.850886Z", + "shell.execute_reply": "2025-04-09T14:57:44.849673Z" + }, + "papermill": { + "duration": 0.474073, + "end_time": "2025-04-09T14:57:44.852622", + "exception": false, + "start_time": "2025-04-09T14:57:44.378549", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "df = pd.read_csv('/kaggle/input/fakenews-fakedit/Dataset/df_balanced_resized.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "cd73260e", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T14:57:44.862381Z", + "iopub.status.busy": "2025-04-09T14:57:44.862092Z", + "iopub.status.idle": "2025-04-09T14:57:44.892519Z", + "shell.execute_reply": "2025-04-09T14:57:44.891636Z" + }, + "papermill": { + "duration": 0.036914, + "end_time": "2025-04-09T14:57:44.894122", + "exception": false, + "start_time": "2025-04-09T14:57:44.857208", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
authorclean_titlecreated_utcdomainhasImageidimage_urllinked_submission_idnum_commentsscoresubredditupvote_ratio6_way_labelbinary_label
0BruxellesBlondesooooo satisfying1.537968e+09i.redd.itTrue9j2gd1https://preview.redd.it/bjlftqsj3lo11.jpg?widt...NaN3.015mildlyinteresting0.7500
1korkowthe chips fell out of this chocolate chip cookie1.384738e+09i.imgur.comTrue1qv2m9https://external-preview.redd.it/ESPM-tTuK3wer...NaN4.08misleadingthumbnails0.5921
2kyletheheromanhas anyone seen a square cloud before1.551516e+09i.redd.itTrueawfsgwhttps://preview.redd.it/trqkt1rx4oj21.jpg?widt...NaN6.04mildlyinteresting0.6000
3FledPotatoit almost seems to smile back1.522871e+09i.redd.itTrue89ssvshttps://preview.redd.it/yf1j0rvq4yp01.jpg?widt...NaN9.0212pareidolia0.9821
4allhundredyearsthis tape deck has seen some shit1.426363e+09imgur.comTrue2z1thahttps://external-preview.redd.it/QFHuRDeu_v1cm...NaN2.06pareidolia0.8821
5spyder_19saw an interesting sign at the store so i got it1.564682e+09i.redd.itTrueckrv3khttps://preview.redd.it/ketwpycjmvd31.jpg?widt...NaN2.032mildlyinteresting0.8700
6Not3Shabbyinherent paradox scrabeck1.489213e+09imgur.comTrue5yrdcshttps://external-preview.redd.it/g3nNRMvtW8FCT...NaN0.04fakealbumcovers0.8311
7mikewallgop senate candidate kelli ward complained mcc...1.535296e+09newsweek.comTrue9ag51lhttps://external-preview.redd.it/3c79PddPA_og2...NaN15.0243nottheonion0.9500
8worldnews_SSchristians fleeing iraqs mosul region to provi...1.458731e+09engadget.comTrue4bm0cshttps://external-preview.redd.it/xNKcWQsoGpWr3...NaN20.010subredditsimulator0.9231
9todayilearned_SStil pegi europes video game in only to turn to...1.486354e+09nytimes.comTrue5sc05yhttps://external-preview.redd.it/PL4PyhChdGdhF...NaN61.05subredditsimulator0.8631
\n", + "
" + ], + "text/plain": [ + " author clean_title \\\n", + "0 BruxellesBlonde sooooo satisfying \n", + "1 korkow the chips fell out of this chocolate chip cookie \n", + "2 kyletheheroman has anyone seen a square cloud before \n", + "3 FledPotato it almost seems to smile back \n", + "4 allhundredyears this tape deck has seen some shit \n", + "5 spyder_19 saw an interesting sign at the store so i got it \n", + "6 Not3Shabby inherent paradox scrabeck \n", + "7 mikewall gop senate candidate kelli ward complained mcc... \n", + "8 worldnews_SS christians fleeing iraqs mosul region to provi... \n", + "9 todayilearned_SS til pegi europes video game in only to turn to... \n", + "\n", + " created_utc domain hasImage id \\\n", + "0 1.537968e+09 i.redd.it True 9j2gd1 \n", + "1 1.384738e+09 i.imgur.com True 1qv2m9 \n", + "2 1.551516e+09 i.redd.it True awfsgw \n", + "3 1.522871e+09 i.redd.it True 89ssvs \n", + "4 1.426363e+09 imgur.com True 2z1tha \n", + "5 1.564682e+09 i.redd.it True ckrv3k \n", + "6 1.489213e+09 imgur.com True 5yrdcs \n", + "7 1.535296e+09 newsweek.com True 9ag51l \n", + "8 1.458731e+09 engadget.com True 4bm0cs \n", + "9 1.486354e+09 nytimes.com True 5sc05y \n", + "\n", + " image_url linked_submission_id \\\n", + "0 https://preview.redd.it/bjlftqsj3lo11.jpg?widt... NaN \n", + "1 https://external-preview.redd.it/ESPM-tTuK3wer... NaN \n", + "2 https://preview.redd.it/trqkt1rx4oj21.jpg?widt... NaN \n", + "3 https://preview.redd.it/yf1j0rvq4yp01.jpg?widt... NaN \n", + "4 https://external-preview.redd.it/QFHuRDeu_v1cm... NaN \n", + "5 https://preview.redd.it/ketwpycjmvd31.jpg?widt... NaN \n", + "6 https://external-preview.redd.it/g3nNRMvtW8FCT... NaN \n", + "7 https://external-preview.redd.it/3c79PddPA_og2... NaN \n", + "8 https://external-preview.redd.it/xNKcWQsoGpWr3... NaN \n", + "9 https://external-preview.redd.it/PL4PyhChdGdhF... NaN \n", + "\n", + " num_comments score subreddit upvote_ratio 6_way_label \\\n", + "0 3.0 15 mildlyinteresting 0.75 0 \n", + "1 4.0 8 misleadingthumbnails 0.59 2 \n", + "2 6.0 4 mildlyinteresting 0.60 0 \n", + "3 9.0 212 pareidolia 0.98 2 \n", + "4 2.0 6 pareidolia 0.88 2 \n", + "5 2.0 32 mildlyinteresting 0.87 0 \n", + "6 0.0 4 fakealbumcovers 0.83 1 \n", + "7 15.0 243 nottheonion 0.95 0 \n", + "8 20.0 10 subredditsimulator 0.92 3 \n", + "9 61.0 5 subredditsimulator 0.86 3 \n", + "\n", + " binary_label \n", + "0 0 \n", + "1 1 \n", + "2 0 \n", + "3 1 \n", + "4 1 \n", + "5 0 \n", + "6 1 \n", + "7 0 \n", + "8 1 \n", + "9 1 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "722e2299", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T14:57:44.905475Z", + "iopub.status.busy": "2025-04-09T14:57:44.905209Z", + "iopub.status.idle": "2025-04-09T14:57:58.592716Z", + "shell.execute_reply": "2025-04-09T14:57:58.591624Z" + }, + "papermill": { + "duration": 13.695117, + "end_time": "2025-04-09T14:57:58.594460", + "exception": false, + "start_time": "2025-04-09T14:57:44.899343", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "%%capture\n", + "\n", + "! pip install bert-serving-server\n", + "! pip install bert-serving-client\n", + "! pip install torch transformers" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "09e8dffc", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T14:57:58.605520Z", + "iopub.status.busy": "2025-04-09T14:57:58.605233Z", + "iopub.status.idle": "2025-04-09T14:58:16.242728Z", + "shell.execute_reply": "2025-04-09T14:58:16.241824Z" + }, + "papermill": { + "duration": 17.644708, + "end_time": "2025-04-09T14:58:16.244174", + "exception": false, + "start_time": "2025-04-09T14:57:58.599466", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3a33316103c840dcbe682c6f0aeea286", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "tokenizer_config.json: 0%| | 0.00/48.0 [00:00 self.best_loss + self.delta:\n", + " self.counter += 1\n", + " if self.verbose:\n", + " print(f\"EarlyStopping counter: {self.counter} out of {self.patience}\")\n", + " if self.counter >= self.patience:\n", + " self.early_stop = True\n", + " else:\n", + " self.best_loss = val_loss\n", + " self.counter = 0" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "f2584bec", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T14:58:16.738341Z", + "iopub.status.busy": "2025-04-09T14:58:16.738140Z", + "iopub.status.idle": "2025-04-09T14:58:16.743512Z", + "shell.execute_reply": "2025-04-09T14:58:16.742634Z" + }, + "papermill": { + "duration": 0.012462, + "end_time": "2025-04-09T14:58:16.745020", + "exception": false, + "start_time": "2025-04-09T14:58:16.732558", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0 0 0 ... 0 1 1]\n", + "Unique labels: [0 1]\n" + ] + } + ], + "source": [ + "labels = df_train[\"binary_label\"].values \n", + "\n", + "print(labels)\n", + "print(\"Unique labels:\", np.unique(labels))\n", + "# assert set(np.unique(labels)).issubset({0, 1}), \"🔥 Labels must be 0 or 1 for binary classification!\"" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "99e961ca", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T14:58:16.757348Z", + "iopub.status.busy": "2025-04-09T14:58:16.757133Z", + "iopub.status.idle": "2025-04-09T14:58:16.761985Z", + "shell.execute_reply": "2025-04-09T14:58:16.761219Z" + }, + "papermill": { + "duration": 0.012382, + "end_time": "2025-04-09T14:58:16.763299", + "exception": false, + "start_time": "2025-04-09T14:58:16.750917", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "class SelfAttentionFusion(nn.Module):\n", + " def __init__(self, embed_dim):\n", + " super().__init__()\n", + " self.attn = nn.Linear(embed_dim * 2, 2)\n", + " self.softmax = nn.Softmax(dim=1)\n", + "\n", + " def forward(self, x_text, x_img):\n", + " stacked = torch.stack([x_text, x_img], dim=1) # (B, 2, D)\n", + " attn_weights = self.softmax(self.attn(torch.cat([x_text, x_img], dim=1))).unsqueeze(2) # (B, 2, 1)\n", + " fused = (attn_weights * stacked).sum(dim=1) # (B, D)\n", + " return fused" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "09b3f58a", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T14:58:16.774550Z", + "iopub.status.busy": "2025-04-09T14:58:16.774308Z", + "iopub.status.idle": "2025-04-09T14:58:16.780321Z", + "shell.execute_reply": "2025-04-09T14:58:16.779507Z" + }, + "papermill": { + "duration": 0.013157, + "end_time": "2025-04-09T14:58:16.781710", + "exception": false, + "start_time": "2025-04-09T14:58:16.768553", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "class BERTResNetClassifier(nn.Module):\n", + " def __init__(self, num_classes=2):\n", + " super(BERTResNetClassifier, self).__init__()\n", + "\n", + " self.num_classes = num_classes\n", + "\n", + " # Image model\n", + " self.image_model = resnet50(weights=ResNet50_Weights.IMAGENET1K_V1)\n", + " self.fc_image = nn.Linear(1000, 512)\n", + " self.drop_img = nn.Dropout(p=0.3)\n", + "\n", + " # Text model\n", + " self.text_model = BertModel.from_pretrained(\"bert-base-uncased\")\n", + " self.fc_text = nn.Linear(self.text_model.config.hidden_size, 512)\n", + " self.drop_text = nn.Dropout(p=0.3)\n", + "\n", + " # Attention-based fusion\n", + " self.fusion = SelfAttentionFusion(embed_dim=512)\n", + "\n", + " # Final classification\n", + " self.fc_final = nn.Linear(512, num_classes)\n", + "\n", + " def forward(self, image, text_input_ids, text_attention_mask):\n", + " # Image path\n", + " x_img = self.image_model(image)\n", + " x_img = self.drop_img(x_img)\n", + " x_img = self.fc_image(x_img)\n", + "\n", + " # Text path\n", + " x_text_last_hidden = self.text_model(\n", + " input_ids=text_input_ids,\n", + " attention_mask=text_attention_mask,\n", + " return_dict=False\n", + " )[0][:, 0, :]\n", + " x_text = self.drop_text(x_text_last_hidden)\n", + " x_text = self.fc_text(x_text)\n", + "\n", + " # Fusion\n", + " x_fused = self.fusion(x_text, x_img)\n", + "\n", + " # Final classifier\n", + " logits = self.fc_final(x_fused)\n", + " return logits\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "40348647", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T14:58:16.792735Z", + "iopub.status.busy": "2025-04-09T14:58:16.792516Z", + "iopub.status.idle": "2025-04-09T14:58:16.795400Z", + "shell.execute_reply": "2025-04-09T14:58:16.794836Z" + }, + "papermill": { + "duration": 0.009703, + "end_time": "2025-04-09T14:58:16.796564", + "exception": false, + "start_time": "2025-04-09T14:58:16.786861", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "from sklearn.utils import compute_class_weight\n", + "# import torch_xla.core.xla_model as xm" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "b8ad064a", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T14:58:16.808136Z", + "iopub.status.busy": "2025-04-09T14:58:16.807923Z", + "iopub.status.idle": "2025-04-09T14:58:18.651123Z", + "shell.execute_reply": "2025-04-09T14:58:18.650416Z" + }, + "papermill": { + "duration": 1.850916, + "end_time": "2025-04-09T14:58:18.652720", + "exception": false, + "start_time": "2025-04-09T14:58:16.801804", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "cuda\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading: \"https://download.pytorch.org/models/resnet50-0676ba61.pth\" to /root/.cache/torch/hub/checkpoints/resnet50-0676ba61.pth\n", + "100%|██████████| 97.8M/97.8M [00:00<00:00, 172MB/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using 2 GPUs!\n" + ] + } + ], + "source": [ + "device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n", + "print(device)\n", + "model = BERTResNetClassifier(num_classes=2)\n", + "\n", + "if torch.cuda.device_count() > 1:\n", + " print(f\"Using {torch.cuda.device_count()} GPUs!\")\n", + " model = nn.DataParallel(model)\n", + "model = model.to(device)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "bafa7e70", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T14:58:18.666026Z", + "iopub.status.busy": "2025-04-09T14:58:18.665764Z", + "iopub.status.idle": "2025-04-09T14:58:18.670654Z", + "shell.execute_reply": "2025-04-09T14:58:18.669984Z" + }, + "papermill": { + "duration": 0.012684, + "end_time": "2025-04-09T14:58:18.671827", + "exception": false, + "start_time": "2025-04-09T14:58:18.659143", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import torch.nn.functional as F\n", + "\n", + "class FocalLoss(nn.Module):\n", + " def __init__(self, alpha=None, gamma=2.0, reduction='mean'):\n", + " super(FocalLoss, self).__init__()\n", + " self.alpha = alpha\n", + " self.gamma = gamma\n", + " self.reduction = reduction\n", + "\n", + " def forward(self, inputs, targets):\n", + " ce_loss = F.cross_entropy(inputs, targets, weight=self.alpha, reduction='none')\n", + " pt = torch.exp(-ce_loss) # Prob of correct class\n", + " focal_loss = ((1 - pt) ** self.gamma) * ce_loss\n", + "\n", + " if self.reduction == 'mean':\n", + " return focal_loss.mean()\n", + " elif self.reduction == 'sum':\n", + " return focal_loss.sum()\n", + " else:\n", + " return focal_loss" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "9f205502", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T14:58:18.684572Z", + "iopub.status.busy": "2025-04-09T14:58:18.684346Z", + "iopub.status.idle": "2025-04-09T14:58:18.702780Z", + "shell.execute_reply": "2025-04-09T14:58:18.701803Z" + }, + "papermill": { + "duration": 0.026304, + "end_time": "2025-04-09T14:58:18.704195", + "exception": false, + "start_time": "2025-04-09T14:58:18.677891", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "from sklearn.utils.class_weight import compute_class_weight\n", + "\n", + "class_weights = compute_class_weight(class_weight='balanced', classes=np.unique(labels), y=labels)\n", + "class_weights = torch.tensor(class_weights, dtype=torch.float).to(device)\n", + "\n", + "criterion = FocalLoss(alpha=class_weights, gamma=2.0)\n", + "# criterion = nn.CrossEntropyLoss(weight=class_weights)\n", + "# optimizer = torch.optim.Adam(model.parameters(), lr=1e-5, weight_decay=1e-4)\n", + "optimizer = torch.optim.Adam([\n", + " {'params': model.module.text_model.parameters(), 'lr': 1e-5},\n", + " {'params': model.module.image_model.parameters(), 'lr': 5e-5},\n", + " {'params': list(model.module.fc_image.parameters()) +\n", + " list(model.module.fc_text.parameters()) +\n", + " list(model.module.fusion.parameters()) +\n", + " list(model.module.fc_final.parameters()), 'lr': 1e-4}\n", + "], weight_decay=1e-5)\n", + "\n", + "scheduler = lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.5, patience=0, min_lr=1e-6, verbose=True)\n", + "num_epochs = 20\n", + "\n", + "def train_model(model, train_loader, val_loader, criterion, optimizer, scheduler, num_epochs):\n", + " early_stopping = EarlyStopping(patience=5, verbose=True)\n", + " \n", + " # Training loop\n", + " for epoch in range(num_epochs):\n", + " model.train()\n", + " running_loss = 0.0\n", + "\n", + " for input_ids, attention_mask, label, img in train_loader:\n", + " input_ids = input_ids.to(device)\n", + " attention_mask = attention_mask.to(device)\n", + " label = label.to(device)\n", + " img = img.to(device)\n", + " \n", + " optimizer.zero_grad()\n", + "\n", + " # Forward pass\n", + " outputs = model(img, input_ids, attention_mask)\n", + " loss = criterion(outputs, label)\n", + "\n", + " # Backward pass and optimization\n", + " loss.backward()\n", + " torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)\n", + " optimizer.step()\n", + "\n", + " running_loss += loss.item()* img.size(0)\n", + " \n", + " # Validating model and ensuring loss is decreasing \n", + " model.eval()\n", + " val_loss = 0.0\n", + " correct_preds = 0\n", + " with torch.no_grad():\n", + " for input_ids, attention_mask, label, img in val_loader:\n", + " input_ids = input_ids.to(device)\n", + " attention_mask = attention_mask.to(device)\n", + " label = label.to(device)\n", + " img = img.to(device)\n", + " \n", + " outputs = model(img, input_ids, attention_mask)\n", + " loss = criterion(outputs, label)\n", + " val_loss += loss.item() * img.size(0)\n", + "\n", + " _, preds = torch.max(outputs, 1)\n", + " correct_preds += torch.sum(preds == label)\n", + "\n", + " val_loss = val_loss / len(val_loader.dataset)\n", + " accuracy = correct_preds.double() / len(val_loader.dataset)\n", + " scheduler.step(val_loss)\n", + " print(f'Epoch {epoch+1}/{num_epochs}, Training Loss: {running_loss/len(train_loader.dataset):.4f}, Validation Loss: {val_loss:.4f}, Accuracy: {accuracy:.4f}')\n", + "\n", + " # Early stopping\n", + " early_stopping(val_loss)\n", + " if early_stopping.early_stop:\n", + " print(\"Early stopping triggered. Stopping training.\")\n", + " break\n", + "\n", + " torch.save(model.state_dict(), '/kaggle/working/model2.pth')" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "bec89fae", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T14:58:18.716491Z", + "iopub.status.busy": "2025-04-09T14:58:18.716211Z", + "iopub.status.idle": "2025-04-09T14:58:18.722261Z", + "shell.execute_reply": "2025-04-09T14:58:18.721597Z" + }, + "papermill": { + "duration": 0.013742, + "end_time": "2025-04-09T14:58:18.723546", + "exception": false, + "start_time": "2025-04-09T14:58:18.709804", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "from sklearn.metrics import precision_score, recall_score\n", + "\n", + "def evaluate_model(model, test_loader, criterion):\n", + " model.eval()\n", + " val_losses = []\n", + " correct_preds = 0\n", + "\n", + " all_preds = []\n", + " all_labels = []\n", + "\n", + " with torch.no_grad():\n", + " for input_ids, attention_mask, label, img in test_loader:\n", + " input_ids = input_ids.to(device)\n", + " attention_mask = attention_mask.to(device)\n", + " label = label.to(device)\n", + " img = img.to(device)\n", + "\n", + " outputs = model(\n", + " image = img,\n", + " text_input_ids = input_ids,\n", + " text_attention_mask = attention_mask\n", + " )\n", + "\n", + " # Final Softmax layer returns class predictions per sample in batch\n", + " # Highest probability value resembles class prediction and is assigned to preds variable\n", + " _, preds = torch.max(outputs, dim=1)\n", + " #print(outputs)\n", + "\n", + " # Loss is calculated by applying Cross Entropy Loss\n", + " val_loss = criterion(outputs, label)\n", + "\n", + " # Counting correct model predictions and incrementing correct prediction count\n", + " correct_preds += torch.sum(preds == label)\n", + " print(preds, label)\n", + "\n", + " # Appending current loss per batch to list of losses per epoch\n", + " val_losses.append(val_loss.item())\n", + " \n", + " all_preds.extend(preds.cpu().numpy())\n", + " all_labels.extend(label.cpu().numpy())\n", + " \n", + "\n", + " accuracy = float((correct_preds.double() / len(df_test)) * 100)\n", + " precision = precision_score(all_labels, all_preds, average='weighted')\n", + " recall = recall_score(all_labels, all_preds, average='weighted')\n", + "\n", + " print(\"\\nAccuracy: \", accuracy)\n", + " print(\"Precision: \", precision)\n", + " print(\"Recall: \", recall)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "73760f46", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T14:58:18.735738Z", + "iopub.status.busy": "2025-04-09T14:58:18.735525Z", + "iopub.status.idle": "2025-04-09T17:15:30.818242Z", + "shell.execute_reply": "2025-04-09T17:15:30.817069Z" + }, + "papermill": { + "duration": 8232.090989, + "end_time": "2025-04-09T17:15:30.820095", + "exception": false, + "start_time": "2025-04-09T14:58:18.729106", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/20, Training Loss: 0.1160, Validation Loss: 0.0951, Accuracy: 0.8409\n", + "Epoch 2/20, Training Loss: 0.0839, Validation Loss: 0.0968, Accuracy: 0.8478\n", + "EarlyStopping counter: 1 out of 5\n", + "Epoch 3/20, Training Loss: 0.0541, Validation Loss: 0.1117, Accuracy: 0.8513\n", + "EarlyStopping counter: 2 out of 5\n", + "Epoch 4/20, Training Loss: 0.0336, Validation Loss: 0.1642, Accuracy: 0.8517\n", + "EarlyStopping counter: 3 out of 5\n", + "Epoch 5/20, Training Loss: 0.0198, Validation Loss: 0.2515, Accuracy: 0.8484\n", + "EarlyStopping counter: 4 out of 5\n", + "Epoch 6/20, Training Loss: 0.0152, Validation Loss: 0.2819, Accuracy: 0.8484\n", + "EarlyStopping counter: 5 out of 5\n", + "Early stopping triggered. Stopping training.\n", + "\n", + "\n", + "tensor([0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0,\n", + " 1, 1, 0, 0, 1, 0, 1, 1], device='cuda:0') tensor([0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0,\n", + " 1, 1, 0, 1, 0, 0, 1, 0], device='cuda:0')\n", + "tensor([0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0,\n", + " 1, 0, 1, 1, 0, 1, 1, 1], device='cuda:0') tensor([0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0,\n", + " 0, 1, 1, 1, 0, 1, 1, 1], device='cuda:0')\n", + "tensor([0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0,\n", + " 0, 1, 0, 0, 1, 0, 1, 1], device='cuda:0') tensor([0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0,\n", + " 0, 1, 0, 0, 1, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,\n", + " 0, 1, 1, 0, 0, 1, 1, 1], device='cuda:0') tensor([0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,\n", + " 0, 1, 1, 0, 0, 1, 0, 1], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,\n", + " 0, 0, 1, 1, 0, 0, 0, 0], device='cuda:0') tensor([1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,\n", + " 1, 0, 1, 1, 1, 0, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1,\n", + " 1, 0, 0, 1, 0, 1, 0, 1], device='cuda:0') tensor([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1,\n", + " 1, 0, 0, 1, 0, 1, 0, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1,\n", + " 0, 0, 0, 0, 1, 0, 1, 0], device='cuda:0') tensor([0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1,\n", + " 0, 0, 0, 0, 1, 0, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1,\n", + " 1, 1, 0, 0, 0, 0, 1, 1], device='cuda:0') tensor([1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1,\n", + " 1, 1, 0, 1, 0, 1, 1, 1], device='cuda:0')\n", + "tensor([1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0,\n", + " 0, 1, 1, 0, 1, 1, 0, 0], device='cuda:0') tensor([1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0,\n", + " 1, 1, 1, 0, 1, 0, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0,\n", + " 1, 1, 0, 1, 1, 1, 1, 1], device='cuda:0') tensor([0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0,\n", + " 1, 1, 0, 1, 1, 0, 0, 1], device='cuda:0')\n", + "tensor([1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1,\n", + " 1, 0, 1, 1, 0, 1, 0, 0], device='cuda:0') tensor([0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1,\n", + " 1, 0, 1, 1, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1,\n", + " 0, 0, 0, 0, 1, 1, 0, 0], device='cuda:0') tensor([0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1,\n", + " 0, 0, 0, 0, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0,\n", + " 1, 1, 0, 0, 1, 0, 0, 1], device='cuda:0') tensor([1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0,\n", + " 1, 1, 0, 0, 1, 0, 0, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", + " 0, 0, 0, 0, 1, 1, 0, 0], device='cuda:0') tensor([0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1,\n", + " 0, 1, 1, 0, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0,\n", + " 1, 0, 0, 1, 0, 0, 1, 0], device='cuda:0') tensor([1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0,\n", + " 0, 0, 0, 1, 0, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0,\n", + " 1, 0, 0, 0, 1, 1, 1, 1], device='cuda:0') tensor([0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0,\n", + " 1, 0, 0, 0, 1, 1, 1, 1], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", + " 1, 0, 0, 1, 0, 0, 1, 0], device='cuda:0') tensor([1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", + " 1, 0, 0, 1, 0, 0, 1, 0], device='cuda:0')\n", + "tensor([1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1,\n", + " 1, 0, 0, 1, 1, 0, 1, 1], device='cuda:0') tensor([1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0,\n", + " 1, 0, 1, 1, 1, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,\n", + " 0, 0, 1, 1, 0, 1, 1, 1], device='cuda:0') tensor([0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0,\n", + " 1, 0, 0, 1, 0, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0,\n", + " 1, 1, 1, 1, 1, 1, 0, 0], device='cuda:0') tensor([0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0,\n", + " 1, 1, 1, 1, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0,\n", + " 1, 1, 1, 0, 1, 0, 0, 0], device='cuda:0') tensor([1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0,\n", + " 1, 1, 0, 0, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1,\n", + " 0, 1, 1, 0, 0, 0, 1, 0], device='cuda:0') tensor([1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1,\n", + " 0, 0, 0, 0, 0, 0, 1, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0,\n", + " 0, 0, 0, 0, 0, 1, 0, 0], device='cuda:0') tensor([1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1,\n", + " 0, 0, 0, 0, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1,\n", + " 0, 0, 1, 1, 0, 1, 1, 0], device='cuda:0') tensor([1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0,\n", + " 1, 0, 1, 1, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,\n", + " 0, 0, 0, 0, 0, 1, 1, 1], device='cuda:0') tensor([1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0,\n", + " 0, 0, 1, 0, 0, 1, 1, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1,\n", + " 0, 1, 0, 0, 0, 1, 0, 1], device='cuda:0') tensor([1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1,\n", + " 0, 1, 0, 1, 1, 1, 0, 1], device='cuda:0')\n", + "tensor([1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0,\n", + " 0, 1, 1, 1, 0, 0, 1, 1], device='cuda:0') tensor([1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0,\n", + " 0, 0, 1, 1, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0,\n", + " 0, 0, 1, 0, 1, 0, 0, 1], device='cuda:0') tensor([1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 1, 1, 0, 0, 0, 0, 1], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,\n", + " 1, 1, 1, 0, 0, 1, 0, 1], device='cuda:0') tensor([1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0,\n", + " 1, 1, 1, 1, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0,\n", + " 0, 0, 0, 1, 1, 0, 0, 0], device='cuda:0') tensor([1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1,\n", + " 0, 0, 0, 1, 1, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0,\n", + " 1, 1, 0, 1, 1, 1, 0, 0], device='cuda:0') tensor([1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,\n", + " 0, 1, 0, 1, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1,\n", + " 1, 0, 0, 0, 0, 0, 1, 0], device='cuda:0') tensor([0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0,\n", + " 0, 0, 0, 1, 0, 0, 0, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,\n", + " 1, 0, 1, 0, 1, 0, 1, 1], device='cuda:0') tensor([0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0,\n", + " 1, 0, 0, 0, 1, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0,\n", + " 1, 1, 1, 0, 1, 1, 1, 0], device='cuda:0') tensor([0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0,\n", + " 1, 1, 1, 0, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1,\n", + " 1, 1, 1, 1, 1, 0, 1, 1], device='cuda:0') tensor([0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1,\n", + " 0, 1, 1, 1, 1, 0, 1, 1], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0,\n", + " 0, 1, 0, 0, 1, 0, 0, 0], device='cuda:0') tensor([1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0,\n", + " 1, 1, 0, 0, 1, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1,\n", + " 1, 0, 1, 0, 1, 0, 0, 1], device='cuda:0') tensor([1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1,\n", + " 1, 1, 1, 0, 1, 0, 0, 1], device='cuda:0')\n", + "tensor([0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0,\n", + " 0, 1, 0, 0, 1, 0, 1, 1], device='cuda:0') tensor([0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0,\n", + " 0, 1, 0, 0, 1, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,\n", + " 1, 1, 1, 1, 0, 0, 1, 1], device='cuda:0') tensor([0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,\n", + " 1, 0, 1, 1, 0, 0, 1, 0], device='cuda:0')\n", + "tensor([0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1,\n", + " 1, 0, 1, 0, 1, 1, 1, 0], device='cuda:0') tensor([1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1,\n", + " 1, 0, 1, 0, 0, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0,\n", + " 0, 0, 0, 0, 0, 1, 0, 1], device='cuda:0') tensor([0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0,\n", + " 0, 0, 1, 0, 1, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1,\n", + " 1, 1, 0, 1, 0, 1, 0, 1], device='cuda:0') tensor([1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1,\n", + " 0, 1, 0, 1, 0, 1, 1, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1,\n", + " 0, 1, 1, 0, 0, 0, 1, 1], device='cuda:0') tensor([0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,\n", + " 0, 1, 1, 0, 0, 0, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,\n", + " 0, 1, 1, 0, 1, 1, 0, 0], device='cuda:0') tensor([0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1,\n", + " 0, 1, 1, 0, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0,\n", + " 1, 1, 0, 1, 0, 1, 0, 1], device='cuda:0') tensor([1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0,\n", + " 1, 1, 0, 1, 1, 1, 0, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 0, 1, 1, 1], device='cuda:0') tensor([0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1,\n", + " 0, 0, 0, 0, 0, 1, 0, 0], device='cuda:0') tensor([0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1,\n", + " 1, 0, 0, 0, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0,\n", + " 1, 1, 1, 0, 0, 1, 1, 1], device='cuda:0') tensor([0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0,\n", + " 1, 1, 1, 0, 1, 1, 1, 1], device='cuda:0')\n", + "tensor([1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0,\n", + " 0, 0, 1, 1, 0, 1, 0, 0], device='cuda:0') tensor([1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0,\n", + " 1, 1, 1, 1, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1,\n", + " 0, 1, 0, 0, 1, 1, 0, 0], device='cuda:0') tensor([0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1,\n", + " 0, 1, 0, 0, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1,\n", + " 1, 1, 0, 0, 1, 1, 1, 1], device='cuda:0') tensor([0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0,\n", + " 1, 1, 0, 0, 0, 1, 1, 1], device='cuda:0')\n", + "tensor([1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0,\n", + " 1, 0, 0, 0, 1, 0, 0, 0], device='cuda:0') tensor([1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0,\n", + " 1, 0, 1, 0, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0,\n", + " 0, 1, 1, 0, 1, 0, 1, 0], device='cuda:0') tensor([1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0,\n", + " 0, 1, 1, 0, 1, 0, 1, 0], device='cuda:0')\n", + "tensor([0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,\n", + " 1, 0, 0, 0, 0, 0, 0, 0], device='cuda:0') tensor([0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0,\n", + " 1, 0, 0, 0, 0, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0,\n", + " 0, 1, 0, 1, 1, 0, 1, 0], device='cuda:0') tensor([1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0,\n", + " 0, 1, 0, 1, 1, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1,\n", + " 1, 1, 1, 1, 1, 0, 0, 0], device='cuda:0') tensor([0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1,\n", + " 1, 1, 1, 1, 0, 0, 0, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1,\n", + " 1, 1, 0, 0, 1, 0, 0, 0], device='cuda:0') tensor([0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1,\n", + " 1, 1, 0, 0, 1, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0,\n", + " 1, 0, 0, 0, 0, 1, 0, 1], device='cuda:0') tensor([1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,\n", + " 1, 0, 0, 1, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0,\n", + " 1, 0, 0, 1, 0, 1, 0, 1], device='cuda:0') tensor([1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0,\n", + " 1, 1, 0, 1, 0, 1, 0, 1], device='cuda:0')\n", + "tensor([1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,\n", + " 0, 1, 1, 1, 0, 1, 0, 0], device='cuda:0') tensor([1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0,\n", + " 0, 1, 1, 1, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0,\n", + " 1, 0, 0, 1, 0, 1, 1, 0], device='cuda:0') tensor([1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0,\n", + " 1, 1, 0, 1, 0, 1, 1, 1], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,\n", + " 1, 0, 1, 1, 1, 0, 1, 1], device='cuda:0') tensor([0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,\n", + " 1, 0, 1, 1, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0,\n", + " 1, 1, 0, 1, 1, 0, 1, 0], device='cuda:0') tensor([1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,\n", + " 1, 0, 0, 1, 1, 0, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0,\n", + " 1, 1, 1, 1, 1, 1, 0, 1], device='cuda:0') tensor([0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0,\n", + " 1, 1, 1, 1, 1, 1, 0, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1,\n", + " 0, 0, 1, 0, 0, 0, 0, 0], device='cuda:0') tensor([0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1,\n", + " 0, 0, 1, 1, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1,\n", + " 0, 1, 0, 1, 0, 0, 1, 1], device='cuda:0') tensor([1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1,\n", + " 0, 0, 0, 0, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1,\n", + " 1, 1, 1, 1, 0, 0, 1, 1], device='cuda:0') tensor([0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1,\n", + " 1, 1, 1, 1, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1,\n", + " 0, 0, 1, 0, 0, 0, 0, 0], device='cuda:0') tensor([1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1,\n", + " 0, 0, 1, 0, 0, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0,\n", + " 0, 1, 0, 0, 1, 1, 0, 1], device='cuda:0') tensor([1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0,\n", + " 0, 1, 0, 0, 1, 1, 0, 1], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0,\n", + " 0, 1, 0, 1, 0, 1, 0, 0], device='cuda:0') tensor([0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0,\n", + " 0, 1, 0, 1, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1,\n", + " 1, 1, 0, 1, 0, 1, 0, 0], device='cuda:0') tensor([1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0,\n", + " 1, 1, 0, 0, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1,\n", + " 1, 0, 0, 0, 1, 1, 1, 1], device='cuda:0') tensor([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1,\n", + " 1, 1, 0, 0, 1, 1, 1, 1], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1,\n", + " 0, 0, 1, 0, 0, 1, 1, 1], device='cuda:0') tensor([1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1,\n", + " 0, 0, 1, 0, 0, 1, 0, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0,\n", + " 1, 1, 0, 1, 1, 0, 0, 1], device='cuda:0') tensor([0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0,\n", + " 1, 1, 0, 1, 1, 0, 0, 1], device='cuda:0')\n", + "tensor([1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1,\n", + " 1, 0, 0, 1, 1, 0, 1, 0], device='cuda:0') tensor([1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1,\n", + " 1, 0, 0, 1, 1, 0, 1, 1], device='cuda:0')\n", + "tensor([1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1,\n", + " 1, 1, 0, 1, 1, 1, 0, 1], device='cuda:0') tensor([1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0,\n", + " 1, 1, 1, 1, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,\n", + " 0, 1, 0, 1, 1, 0, 0, 0], device='cuda:0') tensor([0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,\n", + " 0, 1, 0, 0, 1, 0, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1,\n", + " 0, 1, 1, 1, 0, 1, 1, 0], device='cuda:0') tensor([1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1,\n", + " 0, 1, 1, 1, 0, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0,\n", + " 1, 0, 0, 1, 1, 1, 0, 1], device='cuda:0') tensor([0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0,\n", + " 1, 0, 0, 1, 1, 1, 0, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1,\n", + " 1, 0, 1, 0, 1, 0, 0, 1], device='cuda:0') tensor([0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1,\n", + " 0, 0, 1, 0, 1, 0, 0, 1], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1,\n", + " 1, 0, 1, 1, 0, 0, 0, 1], device='cuda:0') tensor([1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1,\n", + " 1, 0, 0, 1, 0, 0, 0, 1], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,\n", + " 1, 0, 1, 1, 1, 0, 1, 1], device='cuda:0') tensor([1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1,\n", + " 1, 0, 1, 1, 1, 0, 1, 1], device='cuda:0')\n", + "tensor([1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1,\n", + " 1, 0, 0, 1, 1, 0, 0, 0], device='cuda:0') tensor([1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0,\n", + " 1, 0, 0, 1, 1, 0, 0, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1,\n", + " 1, 1, 0, 1, 0, 1, 0, 1], device='cuda:0') tensor([0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1,\n", + " 1, 1, 0, 1, 0, 1, 1, 0], device='cuda:0')\n", + "tensor([1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1,\n", + " 1, 1, 1, 1, 1, 0, 0, 0], device='cuda:0') tensor([1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1,\n", + " 1, 0, 0, 1, 0, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1,\n", + " 1, 0, 0, 0, 0, 0, 1, 1], device='cuda:0') tensor([1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1,\n", + " 0, 0, 0, 0, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1,\n", + " 0, 0, 0, 0, 1, 0, 1, 0], device='cuda:0') tensor([0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1,\n", + " 0, 0, 0, 0, 1, 0, 1, 0], device='cuda:0')\n", + "tensor([1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0,\n", + " 0, 0, 0, 0, 1, 0, 0, 1], device='cuda:0') tensor([1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 1], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1,\n", + " 0, 0, 1, 0, 0, 1, 1, 1], device='cuda:0') tensor([1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1,\n", + " 0, 0, 1, 0, 0, 1, 1, 1], device='cuda:0')\n", + "tensor([0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1,\n", + " 1, 0, 1, 1, 1, 1, 1, 0], device='cuda:0') tensor([1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1,\n", + " 1, 0, 0, 1, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1,\n", + " 1, 1, 1, 1, 0, 1, 0, 0], device='cuda:0') tensor([0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1,\n", + " 1, 1, 1, 1, 0, 0, 1, 0], device='cuda:0')\n", + "tensor([0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1,\n", + " 0, 0, 1, 0, 1, 0, 0, 0], device='cuda:0') tensor([0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0,\n", + " 0, 0, 1, 1, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1,\n", + " 0, 1, 0, 1, 1, 1, 0, 0], device='cuda:0') tensor([1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1,\n", + " 0, 1, 1, 0, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0,\n", + " 1, 1, 0, 0, 1, 1, 1, 0], device='cuda:0') tensor([1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0,\n", + " 1, 0, 0, 0, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1,\n", + " 1, 1, 1, 0, 1, 0, 0, 1], device='cuda:0') tensor([1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1,\n", + " 1, 1, 1, 0, 1, 0, 0, 1], device='cuda:0')\n", + "tensor([1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1,\n", + " 0, 1, 0, 1, 0, 1, 0, 1], device='cuda:0') tensor([1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1,\n", + " 0, 1, 0, 1, 0, 1, 0, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1,\n", + " 1, 1, 0, 1, 1, 0, 1, 0], device='cuda:0') tensor([0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1,\n", + " 1, 1, 0, 1, 0, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0,\n", + " 0, 0, 1, 0, 1, 1, 1, 0], device='cuda:0') tensor([1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0,\n", + " 0, 0, 1, 0, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,\n", + " 0, 1, 0, 0, 0, 1, 1, 0], device='cuda:0') tensor([0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,\n", + " 0, 1, 1, 0, 0, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1,\n", + " 0, 0, 0, 1, 0, 1, 1, 0], device='cuda:0') tensor([0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1,\n", + " 0, 0, 0, 0, 0, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0,\n", + " 0, 0, 1, 0, 0, 0, 0, 0], device='cuda:0') tensor([0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1,\n", + " 0, 0, 1, 0, 0, 0, 0, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1,\n", + " 0, 1, 1, 1, 0, 0, 1, 0], device='cuda:0') tensor([1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 1], device='cuda:0') tensor([1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 0, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1,\n", + " 1, 0, 0, 1, 0, 0, 0, 1], device='cuda:0') tensor([1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1,\n", + " 1, 1, 0, 1, 0, 0, 0, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0,\n", + " 0, 1, 1, 0, 1, 0, 0, 0], device='cuda:0') tensor([1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1,\n", + " 0, 1, 1, 0, 1, 0, 0, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 0, 0, 1], device='cuda:0') tensor([0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 0, 0, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1,\n", + " 1, 0, 1, 0, 1, 1, 0, 1], device='cuda:0') tensor([0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1,\n", + " 1, 0, 1, 0, 1, 1, 0, 1], device='cuda:0')\n", + "tensor([1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,\n", + " 1, 1, 1, 1, 0, 0, 1, 0], device='cuda:0') tensor([0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,\n", + " 1, 1, 1, 1, 0, 0, 1, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0,\n", + " 0, 1, 0, 0, 0, 1, 0, 0], device='cuda:0') tensor([1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0,\n", + " 0, 1, 0, 1, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0,\n", + " 1, 1, 1, 0, 0, 1, 1, 0], device='cuda:0') tensor([1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,\n", + " 1, 1, 0, 0, 0, 1, 1, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1,\n", + " 0, 0, 1, 0, 1, 0, 0, 0], device='cuda:0') tensor([0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1,\n", + " 0, 0, 1, 0, 1, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1,\n", + " 1, 0, 1, 1, 0, 0, 0, 1], device='cuda:0') tensor([1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0,\n", + " 0, 0, 1, 1, 0, 0, 0, 1], device='cuda:0')\n", + "tensor([0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 0, 0, 1, 1], device='cuda:0') tensor([0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0,\n", + " 1, 1, 1, 1, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1,\n", + " 0, 1, 0, 1, 0, 0, 1, 1], device='cuda:0') tensor([0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1,\n", + " 0, 1, 0, 1, 0, 1, 1, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,\n", + " 0, 0, 1, 1, 0, 0, 0, 1], device='cuda:0') tensor([1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1,\n", + " 0, 0, 1, 1, 0, 0, 0, 1], device='cuda:0')\n", + "tensor([0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0,\n", + " 1, 0, 0, 0, 0, 0, 0, 0], device='cuda:0') tensor([0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0,\n", + " 1, 1, 0, 0, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1,\n", + " 1, 1, 0, 1, 0, 0, 0, 1], device='cuda:0') tensor([0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1,\n", + " 1, 1, 0, 0, 0, 0, 0, 1], device='cuda:0')\n", + "tensor([1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1,\n", + " 1, 0, 1, 1, 1, 0, 0, 1], device='cuda:0') tensor([1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1,\n", + " 1, 0, 1, 1, 1, 0, 0, 1], device='cuda:0')\n", + "tensor([1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1,\n", + " 0, 0, 1, 1, 1, 1, 0, 1], device='cuda:0') tensor([1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,\n", + " 0, 0, 1, 1, 1, 1, 0, 1], device='cuda:0')\n", + "tensor([1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1,\n", + " 1, 0, 1, 1, 0, 0, 0, 1], device='cuda:0') tensor([1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1,\n", + " 1, 0, 1, 1, 0, 0, 0, 1], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1,\n", + " 0, 1, 0, 0, 0, 1, 0, 0], device='cuda:0') tensor([1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1,\n", + " 0, 0, 0, 0, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1,\n", + " 1, 0, 1, 1, 0, 0, 0, 1], device='cuda:0') tensor([0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1,\n", + " 1, 0, 1, 0, 0, 0, 0, 1], device='cuda:0')\n", + "tensor([1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0,\n", + " 1, 1, 1, 0, 1, 0, 1, 1], device='cuda:0') tensor([1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0,\n", + " 1, 0, 1, 0, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0,\n", + " 1, 0, 0, 0, 1, 1, 1, 0], device='cuda:0') tensor([0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0,\n", + " 1, 1, 0, 0, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1,\n", + " 0, 1, 1, 0, 1, 1, 1, 1], device='cuda:0') tensor([0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1,\n", + " 1, 1, 1, 0, 1, 1, 1, 1], device='cuda:0')\n", + "tensor([1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0,\n", + " 0, 0, 1, 1, 0, 1, 0, 0], device='cuda:0') tensor([1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0,\n", + " 0, 0, 0, 1, 0, 0, 0, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0,\n", + " 1, 0, 1, 0, 1, 0, 1, 0], device='cuda:0') tensor([1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0,\n", + " 1, 0, 1, 1, 1, 0, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0,\n", + " 1, 1, 0, 0, 0, 1, 0, 1], device='cuda:0') tensor([0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1,\n", + " 1, 1, 1, 0, 0, 1, 0, 1], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1,\n", + " 1, 0, 0, 0, 0, 0, 1, 1], device='cuda:0') tensor([1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0,\n", + " 1, 0, 1, 0, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1,\n", + " 1, 0, 0, 1, 0, 1, 0, 0], device='cuda:0') tensor([1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,\n", + " 1, 0, 0, 1, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0,\n", + " 1, 1, 0, 1, 1, 1, 0, 0], device='cuda:0') tensor([0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0,\n", + " 1, 1, 0, 1, 0, 1, 0, 1], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n", + " 0, 0, 1, 0, 0, 1, 0, 0], device='cuda:0') tensor([0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n", + " 0, 1, 1, 0, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0,\n", + " 1, 1, 0, 1, 1, 0, 1, 0], device='cuda:0') tensor([0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0,\n", + " 1, 1, 0, 1, 1, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1,\n", + " 0, 1, 1, 0, 1, 0, 0, 0], device='cuda:0') tensor([0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1,\n", + " 0, 1, 1, 0, 1, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0,\n", + " 1, 1, 1, 1, 0, 1, 1, 0], device='cuda:0') tensor([1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0,\n", + " 1, 1, 1, 1, 0, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1,\n", + " 1, 1, 1, 1, 0, 1, 1, 0], device='cuda:0') tensor([0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1,\n", + " 1, 1, 0, 1, 0, 1, 1, 0], device='cuda:0')\n", + "tensor([1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0,\n", + " 1, 0, 1, 1, 1, 1, 1, 1], device='cuda:0') tensor([1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0,\n", + " 1, 0, 1, 1, 1, 1, 1, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0,\n", + " 0, 1, 1, 1, 1, 0, 0, 0], device='cuda:0') tensor([0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0,\n", + " 0, 0, 1, 1, 1, 0, 0, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1,\n", + " 0, 0, 0, 0, 1, 1, 1, 0], device='cuda:0') tensor([0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1,\n", + " 0, 0, 0, 0, 1, 1, 1, 1], device='cuda:0')\n", + "tensor([0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,\n", + " 1, 0, 1, 1, 1, 0, 1, 1], device='cuda:0') tensor([0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,\n", + " 0, 0, 0, 1, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0,\n", + " 1, 1, 0, 0, 1, 1, 1, 0], device='cuda:0') tensor([1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0,\n", + " 0, 1, 0, 0, 1, 0, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,\n", + " 1, 0, 1, 1, 0, 0, 0, 1], device='cuda:0') tensor([0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1,\n", + " 1, 0, 1, 1, 0, 0, 0, 1], device='cuda:0')\n", + "tensor([0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,\n", + " 0, 1, 0, 0, 0, 1, 1, 0], device='cuda:0') tensor([1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0,\n", + " 1, 1, 0, 0, 0, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1,\n", + " 1, 0, 1, 1, 1, 1, 1, 1], device='cuda:0') tensor([0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1,\n", + " 1, 0, 1, 1, 1, 1, 1, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1,\n", + " 1, 0, 1, 1, 1, 0, 0, 1], device='cuda:0') tensor([0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1,\n", + " 1, 0, 0, 1, 1, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0,\n", + " 0, 1, 1, 1, 0, 0, 0, 1], device='cuda:0') tensor([0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0,\n", + " 0, 1, 1, 1, 0, 0, 0, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1,\n", + " 0, 1, 1, 1, 0, 1, 1, 0], device='cuda:0') tensor([0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1,\n", + " 0, 1, 0, 1, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,\n", + " 1, 0, 1, 0, 1, 1, 1, 0], device='cuda:0') tensor([1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1,\n", + " 1, 0, 1, 0, 1, 1, 1, 1], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0,\n", + " 1, 1, 0, 0, 1, 0, 1, 0], device='cuda:0') tensor([1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0,\n", + " 1, 1, 0, 0, 1, 0, 1, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1,\n", + " 0, 1, 0, 0, 0, 1, 1, 0], device='cuda:0') tensor([1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1,\n", + " 1, 0, 1, 1, 0, 1, 1, 0], device='cuda:0')\n", + "tensor([1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1,\n", + " 1, 0, 1, 1, 0, 1, 0, 0], device='cuda:0') tensor([1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1,\n", + " 1, 0, 1, 1, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1,\n", + " 1, 0, 0, 0, 1, 0, 0, 1], device='cuda:0') tensor([1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1,\n", + " 1, 0, 1, 0, 1, 0, 0, 1], device='cuda:0')\n", + "tensor([1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1,\n", + " 0, 1, 0, 0, 0, 0, 1, 0], device='cuda:0') tensor([1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0,\n", + " 0, 1, 0, 0, 0, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1,\n", + " 0, 0, 1, 1, 1, 1, 1, 1], device='cuda:0') tensor([1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1,\n", + " 0, 0, 1, 1, 1, 1, 1, 1], device='cuda:0')\n", + "tensor([0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,\n", + " 1, 0, 0, 0, 1, 0, 0, 1], device='cuda:0') tensor([0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0,\n", + " 1, 1, 0, 0, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1,\n", + " 1, 0, 0, 1, 0, 0, 1, 0], device='cuda:0') tensor([1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1,\n", + " 1, 0, 0, 1, 0, 0, 1, 0], device='cuda:0')\n", + "tensor([1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1,\n", + " 0, 1, 1, 0, 0, 0, 1, 0], device='cuda:0') tensor([1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1,\n", + " 0, 1, 1, 0, 0, 0, 1, 0], device='cuda:0')\n", + "tensor([1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1,\n", + " 1, 0, 0, 1, 1, 1, 1, 0], device='cuda:0') tensor([0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1,\n", + " 1, 1, 0, 1, 1, 1, 0, 1], device='cuda:0')\n", + "tensor([0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0,\n", + " 0, 1, 1, 0, 1, 0, 0, 0], device='cuda:0') tensor([0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0,\n", + " 0, 1, 1, 0, 1, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0,\n", + " 1, 1, 1, 0, 0, 0, 1, 1], device='cuda:0') tensor([1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0,\n", + " 1, 1, 1, 0, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1,\n", + " 1, 0, 1, 1, 1, 0, 1, 0], device='cuda:0') tensor([0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1,\n", + " 0, 0, 1, 1, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,\n", + " 1, 0, 1, 0, 1, 1, 1, 1], device='cuda:0') tensor([1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1,\n", + " 1, 0, 1, 0, 1, 1, 0, 1], device='cuda:0')\n", + "tensor([0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1,\n", + " 0, 0, 0, 1, 1, 1, 0, 0], device='cuda:0') tensor([1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1,\n", + " 0, 0, 0, 1, 1, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1,\n", + " 0, 1, 0, 1, 0, 1, 0, 0], device='cuda:0') tensor([0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0,\n", + " 0, 1, 1, 1, 0, 1, 0, 1], device='cuda:0')\n", + "tensor([1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0,\n", + " 0, 1, 1, 0, 0, 0, 0, 0], device='cuda:0') tensor([1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0,\n", + " 1, 0, 1, 0, 0, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1,\n", + " 0, 1, 1, 1, 0, 1, 0, 0], device='cuda:0') tensor([1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1,\n", + " 0, 1, 1, 1, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1,\n", + " 1, 0, 0, 1, 0, 1, 1, 1], device='cuda:0') tensor([0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1,\n", + " 1, 0, 0, 1, 0, 1, 1, 1], device='cuda:0')\n", + "tensor([0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0,\n", + " 1, 1, 0, 0, 0, 0, 0, 0], device='cuda:0') tensor([0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1,\n", + " 0, 1, 0, 1, 0, 0, 0, 1], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1,\n", + " 1, 0, 1, 0, 0, 1, 0, 0], device='cuda:0') tensor([0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1,\n", + " 1, 0, 1, 0, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0,\n", + " 1, 0, 1, 0, 1, 1, 0, 1], device='cuda:0') tensor([1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0,\n", + " 1, 0, 1, 0, 1, 1, 0, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1,\n", + " 0, 0, 1, 1, 0, 0, 0, 0], device='cuda:0') tensor([0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1,\n", + " 0, 0, 1, 0, 0, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n", + " 0, 1, 0, 1, 0, 0, 1, 1], device='cuda:0') tensor([1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1,\n", + " 0, 1, 0, 1, 0, 1, 1, 1], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 1, 0, 0], device='cuda:0') tensor([1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1,\n", + " 0, 0, 1, 1, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1,\n", + " 0, 0, 1, 1, 0, 1, 1, 1], device='cuda:0') tensor([1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1,\n", + " 0, 0, 1, 1, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0,\n", + " 0, 1, 0, 0, 0, 1, 0, 0], device='cuda:0') tensor([1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0,\n", + " 1, 1, 0, 0, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1,\n", + " 0, 1, 0, 0, 1, 0, 0, 1], device='cuda:0') tensor([1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1,\n", + " 0, 1, 0, 0, 1, 0, 0, 1], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0,\n", + " 1, 1, 1, 1, 0, 1, 0, 0], device='cuda:0') tensor([1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0,\n", + " 1, 1, 1, 1, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,\n", + " 1, 0, 1, 1, 1, 1, 1, 1], device='cuda:0') tensor([0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0,\n", + " 0, 1, 1, 1, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,\n", + " 1, 0, 0, 0, 1, 0, 1, 1], device='cuda:0') tensor([0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,\n", + " 1, 1, 0, 0, 1, 0, 0, 1], device='cuda:0')\n", + "tensor([0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,\n", + " 0, 1, 0, 1, 1, 1, 1, 1], device='cuda:0') tensor([0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0,\n", + " 0, 1, 0, 1, 1, 1, 1, 1], device='cuda:0')\n", + "tensor([0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1,\n", + " 1, 0, 1, 0, 1, 1, 0, 0], device='cuda:0') tensor([1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1,\n", + " 1, 0, 1, 0, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,\n", + " 1, 0, 0, 0, 1, 0, 0, 1], device='cuda:0') tensor([0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0,\n", + " 1, 1, 0, 0, 1, 0, 0, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1,\n", + " 1, 1, 0, 0, 0, 1, 1, 0], device='cuda:0') tensor([0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1,\n", + " 0, 1, 0, 0, 0, 1, 1, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1,\n", + " 0, 0, 1, 0, 0, 0, 1, 0], device='cuda:0') tensor([0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1,\n", + " 1, 0, 1, 0, 0, 0, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0,\n", + " 0, 1, 1, 0, 1, 1, 1, 0], device='cuda:0') tensor([0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0,\n", + " 0, 1, 0, 0, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1,\n", + " 1, 1, 0, 0, 0, 0, 0, 0], device='cuda:0') tensor([0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1,\n", + " 1, 1, 1, 0, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1,\n", + " 1, 1, 0, 0, 1, 1, 1, 0], device='cuda:0') tensor([0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1,\n", + " 0, 1, 0, 0, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0,\n", + " 1, 1, 1, 1, 1, 0, 0, 0], device='cuda:0') tensor([0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0,\n", + " 1, 1, 1, 1, 1, 0, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1,\n", + " 1, 1, 0, 0, 1, 1, 0, 1], device='cuda:0') tensor([1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1,\n", + " 1, 1, 1, 0, 1, 1, 0, 1], device='cuda:0')\n", + "tensor([0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,\n", + " 1, 0, 1, 1, 0, 1, 0, 0], device='cuda:0') tensor([0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0,\n", + " 1, 0, 1, 1, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0,\n", + " 0, 1, 0, 1, 1, 1, 1, 0], device='cuda:0') tensor([0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0,\n", + " 0, 1, 0, 1, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1,\n", + " 0, 1, 0, 0, 1, 0, 1, 0], device='cuda:0') tensor([1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1,\n", + " 0, 1, 1, 0, 1, 0, 1, 1], device='cuda:0')\n", + "tensor([0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,\n", + " 1, 1, 1, 0, 0, 0, 1, 0], device='cuda:0') tensor([0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1,\n", + " 1, 1, 1, 0, 0, 0, 1, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1,\n", + " 1, 0, 0, 0, 1, 1, 1, 1], device='cuda:0') tensor([1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1,\n", + " 0, 0, 0, 0, 1, 1, 1, 1], device='cuda:0')\n", + "tensor([1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0,\n", + " 0, 1, 0, 1, 1, 1, 0, 0], device='cuda:0') tensor([1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0,\n", + " 0, 1, 0, 1, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0,\n", + " 1, 1, 0, 0, 0, 0, 0, 0], device='cuda:0') tensor([1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1,\n", + " 1, 0, 0, 0, 1, 1, 0, 1], device='cuda:0') tensor([1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1,\n", + " 0, 0, 0, 1, 1, 0, 0, 1], device='cuda:0')\n", + "tensor([0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1,\n", + " 1, 0, 0, 0, 0, 1, 1, 0], device='cuda:0') tensor([0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0,\n", + " 1, 0, 0, 0, 0, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1,\n", + " 1, 1, 1, 0, 1, 0, 0, 0], device='cuda:0') tensor([0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1,\n", + " 1, 1, 1, 0, 1, 0, 0, 0], device='cuda:0')\n", + "tensor([1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0,\n", + " 1, 1, 0, 1, 1, 1, 0, 0], device='cuda:0') tensor([0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0,\n", + " 0, 0, 0, 0, 1, 1, 0, 0], device='cuda:0')\n", + "tensor([0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1,\n", + " 0, 1, 0, 1, 0, 0, 1, 0], device='cuda:0') tensor([1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1,\n", + " 0, 1, 0, 1, 0, 0, 1, 0], device='cuda:0')\n", + "tensor([1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0,\n", + " 1, 0, 0, 0, 1, 1, 1, 0], device='cuda:0') tensor([1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1,\n", + " 1, 0, 0, 0, 1, 1, 1, 0], device='cuda:0')\n", + "tensor([0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0,\n", + " 1, 0, 0, 1, 1, 0, 1, 0], device='cuda:0') tensor([0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0,\n", + " 1, 0, 0, 1, 1, 0, 1, 0], device='cuda:0')\n", + "tensor([0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1,\n", + " 0, 0, 0, 0, 0, 0, 1, 1], device='cuda:0') tensor([0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1,\n", + " 0, 0, 1, 0, 0, 0, 1, 1], device='cuda:0')\n", + "tensor([1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0,\n", + " 0, 1, 0, 1, 0, 0, 0, 0], device='cuda:0') tensor([0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0,\n", + " 0, 1, 0, 1, 0, 1, 0, 0], device='cuda:0')\n", + "tensor([1, 0, 0, 1, 1, 1, 0, 0, 1], device='cuda:0') tensor([1, 0, 1, 1, 1, 0, 0, 0, 1], device='cuda:0')\n", + "\n", + "Accuracy: 85.61424874410108\n", + "Precision: 0.8561740091595716\n", + "Recall: 0.8561424874410108\n" + ] + } + ], + "source": [ + "train_model(model, train_loader,val_loader, criterion, optimizer, scheduler, num_epochs)\n", + "print(\"\\n\")\n", + "evaluate_model(model, test_loader, criterion)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "afc77f76", + "metadata": { + "execution": { + "iopub.execute_input": "2025-04-09T17:15:30.856373Z", + "iopub.status.busy": "2025-04-09T17:15:30.856007Z", + "iopub.status.idle": "2025-04-09T17:15:32.493494Z", + "shell.execute_reply": "2025-04-09T17:15:32.492607Z" + }, + "papermill": { + "duration": 1.656113, + "end_time": "2025-04-09T17:15:32.495130", + "exception": false, + "start_time": "2025-04-09T17:15:30.839017", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "torch.save(model, \"/kaggle/working/model.pt\")\n", + "torch.save(model.state_dict(), \"/kaggle/working/state_dict.pth\") " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f409be3f", + "metadata": { + "papermill": { + "duration": 0.015863, + "end_time": "2025-04-09T17:15:32.527601", + "exception": false, + "start_time": "2025-04-09T17:15:32.511738", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kaggle": { + "accelerator": "nvidiaTeslaT4", + "dataSources": [ + { + "datasetId": 7057067, + "sourceId": 11328921, + "sourceType": "datasetVersion" + } + ], + "dockerImageVersionId": 30919, + "isGpuEnabled": true, + "isInternetEnabled": true, + "language": "python", + "sourceType": "notebook" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + }, + "papermill": { + "default_parameters": {}, + "duration": 8283.491684, + "end_time": "2025-04-09T17:15:35.373455", + "environment_variables": {}, + "exception": null, + "input_path": "__notebook__.ipynb", + "output_path": "__notebook__.ipynb", + "parameters": {}, + "start_time": "2025-04-09T14:57:31.881771", + "version": "2.6.0" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": { + "0285041787f74b7ba095ace50a72e574": { + "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 + } + }, + "07c6b547766e4cf0a6123096a6f21626": { + "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 + } + }, + "0e19184d5f6b4d94b5919750e8fcf274": { + "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 + } + }, + "12ea9a83d1cd4d88ad8a909e27473ed0": { + "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 + } + }, + "156fc409fd7f4673a17579f563c836a4": { + "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_86b19f2561a642c498dcabc829f0086b", + "placeholder": "​", + "style": "IPY_MODEL_350506cb0cc5476f84da42d58c77ffc1", + "tabbable": null, + "tooltip": null, + "value": "model.safetensors: 100%" + } + }, + "19ff028ca56e4b9997fa56c81ebd6bde": { + "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 + } + }, + "1b4a1d6ebf9f4a48b8e1f705c4a90fdf": { + "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 + } + }, + "1cd8b01c50ca4e92ada8fd06f58059c1": { + "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 + } + }, + "1f059dc277da4644b34aa54861d2a973": { + "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_58541b5838484ab3b01718408383c2db", + "placeholder": "​", + "style": "IPY_MODEL_dee6108f6ba247a6bf060f2e14d64614", + "tabbable": null, + "tooltip": null, + "value": " 440M/440M [00:01<00:00, 250MB/s]" + } + }, + "21f57957cee04faabfa4944b9e4c09f0": { + "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_cea1a56a25c44991bd38712b04ef55cd", + "max": 48.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_37b25998aacb4a079a7617313c5fd0e6", + "tabbable": null, + "tooltip": null, + "value": 48.0 + } + }, + "2644698b31044ed88b8fd330f3c02fee": { + "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_57e41f24608a421b9cfe928094120116", + "placeholder": "​", + "style": "IPY_MODEL_0285041787f74b7ba095ace50a72e574", + "tabbable": null, + "tooltip": null, + "value": "tokenizer.json: 100%" + } + }, + "26a54b761e244f6abf6b2d3fb1cdfdeb": { + "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_35b5ac5e42ba4efba7c22e4b10cc0265", + "placeholder": "​", + "style": "IPY_MODEL_69727cbcde6c43fead6243f53dd5fdca", + "tabbable": null, + "tooltip": null, + "value": " 570/570 [00:00<00:00, 54.4kB/s]" + } + }, + "32bccc63f7044ac497bd8ad9c918f44e": { + "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_87fe0b5e67ec41bc9e26a58f33f81a18", + "IPY_MODEL_be7fb2b086554b139c08b8dcd3b4ea39", + "IPY_MODEL_57f05aa864ae40d0ab176845e5a0fab7" + ], + "layout": "IPY_MODEL_f49f3f0db628406d88cfac2cb38726b2", + "tabbable": null, + "tooltip": null + } + }, + "350506cb0cc5476f84da42d58c77ffc1": { + "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 + } + }, + "35b5ac5e42ba4efba7c22e4b10cc0265": { + "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 + } + }, + "37b25998aacb4a079a7617313c5fd0e6": { + "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": "" + } + }, + "39eaafd9f45a48c3abf8ad7ecd444af2": { + "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 + } + }, + "3a33316103c840dcbe682c6f0aeea286": { + "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_c85303099ccc4b81ba9b7f4e6ff139ae", + "IPY_MODEL_21f57957cee04faabfa4944b9e4c09f0", + "IPY_MODEL_7b50ea08c3f947f0a014f74c634f832a" + ], + "layout": "IPY_MODEL_9f5a5a8f76ae43a4992130e49bd273c1", + "tabbable": null, + "tooltip": null + } + }, + "3bc3c45949334ae2bafc543ce27d59f2": { + "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 + } + }, + "3c5f7725c98149cd9576004f9a5d3387": { + "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_e6320c15f0004a2ca37e52fb1a10cc26", + "max": 440449768.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_b855e0a0c2f5489fa7b47f5461d28d94", + "tabbable": null, + "tooltip": null, + "value": 440449768.0 + } + }, + "44a0a0f1927d4b4abfa23702200b5dfe": { + "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_2644698b31044ed88b8fd330f3c02fee", + "IPY_MODEL_95835c43ca944cefb167946b29d738bd", + "IPY_MODEL_ff869ec0da4c45bb87b2e84c04c7789b" + ], + "layout": "IPY_MODEL_b21344ec94e94243ba2ec46a64c85281", + "tabbable": null, + "tooltip": null + } + }, + "4e9cb8cc1d83476aa2e41fa0370abfac": { + "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 + } + }, + "4edcb2d0ea964d348230e57d8938ce49": { + "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_cc637d8fd2ce455eae2f978e58096187", + "IPY_MODEL_97af4c5b554e48f9a52d2d0cfbbe7ef4", + "IPY_MODEL_26a54b761e244f6abf6b2d3fb1cdfdeb" + ], + "layout": "IPY_MODEL_19ff028ca56e4b9997fa56c81ebd6bde", + "tabbable": null, + "tooltip": null + } + }, + "57e41f24608a421b9cfe928094120116": { + "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 + } + }, + "57f05aa864ae40d0ab176845e5a0fab7": { + "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_4e9cb8cc1d83476aa2e41fa0370abfac", + "placeholder": "​", + "style": "IPY_MODEL_82c27606d99049eb8bf8af591d8aa869", + "tabbable": null, + "tooltip": null, + "value": " 232k/232k [00:00<00:00, 5.02MB/s]" + } + }, + "58541b5838484ab3b01718408383c2db": { + "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 + } + }, + "64736576032745efbe91b3eabb802825": { + "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": "" + } + }, + "650f016f79034b158ba69259f81fd267": { + "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": "" + } + }, + "69727cbcde6c43fead6243f53dd5fdca": { + "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 + } + }, + "7b50ea08c3f947f0a014f74c634f832a": { + "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_badf7a1fdc1a462eb5eb834b3b8ca119", + "placeholder": "​", + "style": "IPY_MODEL_07c6b547766e4cf0a6123096a6f21626", + "tabbable": null, + "tooltip": null, + "value": " 48.0/48.0 [00:00<00:00, 4.28kB/s]" + } + }, + "7b6c88ddab4c4613b22abdcbe8b273c0": { + "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": "" + } + }, + "82c27606d99049eb8bf8af591d8aa869": { + "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 + } + }, + "82c6dcf1f6aa478a8332f5d5a0b83d2c": { + "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 + } + }, + "86b19f2561a642c498dcabc829f0086b": { + "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 + } + }, + "87fe0b5e67ec41bc9e26a58f33f81a18": { + "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_3bc3c45949334ae2bafc543ce27d59f2", + "placeholder": "​", + "style": "IPY_MODEL_d9b30b7841094cf1b547eb43def9f569", + "tabbable": null, + "tooltip": null, + "value": "vocab.txt: 100%" + } + }, + "95835c43ca944cefb167946b29d738bd": { + "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_0e19184d5f6b4d94b5919750e8fcf274", + "max": 466062.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_7b6c88ddab4c4613b22abdcbe8b273c0", + "tabbable": null, + "tooltip": null, + "value": 466062.0 + } + }, + "95bdf94084dd4ab2b9daaed5b4324c19": { + "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 + } + }, + "97af4c5b554e48f9a52d2d0cfbbe7ef4": { + "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_cf2bb8d025de4dd08a8a4e3460dc8524", + "max": 570.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_650f016f79034b158ba69259f81fd267", + "tabbable": null, + "tooltip": null, + "value": 570.0 + } + }, + "9f5a5a8f76ae43a4992130e49bd273c1": { + "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 + } + }, + "b21344ec94e94243ba2ec46a64c85281": { + "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 + } + }, + "b855e0a0c2f5489fa7b47f5461d28d94": { + "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": "" + } + }, + "badf7a1fdc1a462eb5eb834b3b8ca119": { + "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 + } + }, + "be5ed94ddf5549149c06487d14d0150e": { + "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 + } + }, + "be7fb2b086554b139c08b8dcd3b4ea39": { + "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_39eaafd9f45a48c3abf8ad7ecd444af2", + "max": 231508.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_64736576032745efbe91b3eabb802825", + "tabbable": null, + "tooltip": null, + "value": 231508.0 + } + }, + "c85303099ccc4b81ba9b7f4e6ff139ae": { + "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_82c6dcf1f6aa478a8332f5d5a0b83d2c", + "placeholder": "​", + "style": "IPY_MODEL_12ea9a83d1cd4d88ad8a909e27473ed0", + "tabbable": null, + "tooltip": null, + "value": "tokenizer_config.json: 100%" + } + }, + "cc637d8fd2ce455eae2f978e58096187": { + "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_95bdf94084dd4ab2b9daaed5b4324c19", + "placeholder": "​", + "style": "IPY_MODEL_f6f5e70be7024b0ebaac6ed8c224577d", + "tabbable": null, + "tooltip": null, + "value": "config.json: 100%" + } + }, + "cea1a56a25c44991bd38712b04ef55cd": { + "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 + } + }, + "cf2bb8d025de4dd08a8a4e3460dc8524": { + "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 + } + }, + "d9b30b7841094cf1b547eb43def9f569": { + "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 + } + }, + "da7ae94dd26a44b9851cf104543c0fd3": { + "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_156fc409fd7f4673a17579f563c836a4", + "IPY_MODEL_3c5f7725c98149cd9576004f9a5d3387", + "IPY_MODEL_1f059dc277da4644b34aa54861d2a973" + ], + "layout": "IPY_MODEL_1b4a1d6ebf9f4a48b8e1f705c4a90fdf", + "tabbable": null, + "tooltip": null + } + }, + "dee6108f6ba247a6bf060f2e14d64614": { + "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 + } + }, + "e6320c15f0004a2ca37e52fb1a10cc26": { + "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 + } + }, + "f49f3f0db628406d88cfac2cb38726b2": { + "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 + } + }, + "f6f5e70be7024b0ebaac6ed8c224577d": { + "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 + } + }, + "ff869ec0da4c45bb87b2e84c04c7789b": { + "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_be5ed94ddf5549149c06487d14d0150e", + "placeholder": "​", + "style": "IPY_MODEL_1cd8b01c50ca4e92ada8fd06f58059c1", + "tabbable": null, + "tooltip": null, + "value": " 466k/466k [00:00<00:00, 23.2MB/s]" + } + } + }, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}