diff --git a/tutorials/generative/3d_ddpm/3d_ddpm_tutorial.ipynb b/tutorials/generative/3d_ddpm/3d_ddpm_tutorial.ipynb index 7ea3b769..70c23960 100644 --- a/tutorials/generative/3d_ddpm/3d_ddpm_tutorial.ipynb +++ b/tutorials/generative/3d_ddpm/3d_ddpm_tutorial.ipynb @@ -23,7 +23,7 @@ "metadata": {}, "outputs": [], "source": [ - "!python -c \"import monai\" || pip install -q \"monai-weekly[gdown, nibabel, tqdm, ignite]\"\n", + "!python -c \"import monai\" || pip install -q \"monai-weekly[nibabel, tqdm]\"\n", "!python -c \"import matplotlib\" || pip install -q matplotlib\n", "%matplotlib inline" ] @@ -38,37 +38,48 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 2, "id": "cdea37d5", "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/media/walter/Storage/Projects/GenerativeModels/venv/lib/python3.10/site-packages/tqdm/auto.py:22: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + }, { "name": "stdout", "output_type": "stream", "text": [ - "MONAI version: 1.1.dev2248\n", - "Numpy version: 1.23.3\n", - "Pytorch version: 1.8.0+cu111\n", + "2023-02-28 00:16:00,289 - A matching Triton is not available, some optimizations will not be enabled.\n", + "Error caught was: No module named 'triton'\n", + "MONAI version: 1.2.dev2304\n", + "Numpy version: 1.23.5\n", + "Pytorch version: 1.13.1+cu117\n", "MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False\n", - "MONAI rev id: 3400bd91422ccba9ccc3aa2ffe7fecd4eb5596bf\n", - "MONAI __file__: /media/walter/Storage/Projects/GenerativeModels/venv/lib/python3.8/site-packages/monai/__init__.py\n", + "MONAI rev id: 9a57be5aab9f2c2a134768c0c146399150e247a0\n", + "MONAI __file__: /media/walter/Storage/Projects/GenerativeModels/venv/lib/python3.10/site-packages/monai/__init__.py\n", "\n", "Optional dependencies:\n", "Pytorch Ignite version: 0.4.10\n", + "ITK version: 5.3.0\n", "Nibabel version: 4.0.2\n", - "scikit-image version: NOT INSTALLED or UNKNOWN VERSION.\n", - "Pillow version: 9.2.0\n", + "scikit-image version: 0.19.3\n", + "Pillow version: 9.3.0\n", "Tensorboard version: 2.11.0\n", - "gdown version: NOT INSTALLED or UNKNOWN VERSION.\n", - "TorchVision version: 0.9.0+cu111\n", + "gdown version: 4.6.0\n", + "TorchVision version: 0.14.1+cu117\n", "tqdm version: 4.64.1\n", - "lmdb version: NOT INSTALLED or UNKNOWN VERSION.\n", - "psutil version: 5.9.3\n", - "pandas version: NOT INSTALLED or UNKNOWN VERSION.\n", + "lmdb version: 1.4.0\n", + "psutil version: 5.9.4\n", + "pandas version: 1.5.3\n", "einops version: 0.6.0\n", - "transformers version: NOT INSTALLED or UNKNOWN VERSION.\n", - "mlflow version: NOT INSTALLED or UNKNOWN VERSION.\n", - "pynrrd version: NOT INSTALLED or UNKNOWN VERSION.\n", + "transformers version: 4.21.3\n", + "mlflow version: 2.1.1\n", + "pynrrd version: 1.0.0\n", "\n", "For details about installing the optional dependencies, please visit:\n", " https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies\n", @@ -129,7 +140,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "c38b4c33", "metadata": {}, "outputs": [ @@ -137,7 +148,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "/tmp/tmplnn_oq6n\n" + "/tmp/tmp4dbx0xcm\n" ] } ], @@ -157,7 +168,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "515d8583", "metadata": {}, "outputs": [], @@ -175,10 +186,18 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 5, "id": "f640d7ac", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + ": Class `AddChannel` has been deprecated since version 0.8. please use MetaTensor data type and monai.transforms.EnsureChannelFirst instead.\n" + ] + } + ], "source": [ "train_transform = Compose(\n", " [\n", @@ -205,42 +224,62 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 6, "id": "ddd61e60", "metadata": { "lines_to_next_cell": 2 }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Task01_BrainTumour.tar: 7.09GB [06:55, 18.3MB/s] " + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2023-02-28 00:22:56,253 - INFO - Downloaded: /tmp/tmp4dbx0xcm/Task01_BrainTumour.tar\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + }, { "name": "stdout", "output_type": "stream", "text": [ - "2022-11-28 14:36:36,241 - INFO - Verified 'Task01_BrainTumour.tar', md5: 240a19d752f0d9e9101544901065d872.\n", - "2022-11-28 14:36:36,242 - INFO - File exists: /tmp/tmplnn_oq6n/Task01_BrainTumour.tar, skipped downloading.\n", - "2022-11-28 14:36:36,242 - INFO - Non-empty folder exists in /tmp/tmplnn_oq6n/Task01_BrainTumour, skipped extracting.\n" + "2023-02-28 00:23:04,765 - INFO - Verified 'Task01_BrainTumour.tar', md5: 240a19d752f0d9e9101544901065d872.\n", + "2023-02-28 00:23:04,766 - INFO - Writing into directory: /tmp/tmp4dbx0xcm.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Loading dataset: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 388/388 [03:39<00:00, 1.77it/s]\n" + "Loading dataset: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 388/388 [03:43<00:00, 1.74it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "2022-11-28 14:40:23,825 - INFO - Verified 'Task01_BrainTumour.tar', md5: 240a19d752f0d9e9101544901065d872.\n", - "2022-11-28 14:40:23,825 - INFO - File exists: /tmp/tmplnn_oq6n/Task01_BrainTumour.tar, skipped downloading.\n", - "2022-11-28 14:40:23,826 - INFO - Non-empty folder exists in /tmp/tmplnn_oq6n/Task01_BrainTumour, skipped extracting.\n" + "2023-02-28 00:27:00,775 - INFO - Verified 'Task01_BrainTumour.tar', md5: 240a19d752f0d9e9101544901065d872.\n", + "2023-02-28 00:27:00,775 - INFO - File exists: /tmp/tmp4dbx0xcm/Task01_BrainTumour.tar, skipped downloading.\n", + "2023-02-28 00:27:00,776 - INFO - Non-empty folder exists in /tmp/tmp4dbx0xcm/Task01_BrainTumour, skipped extracting.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Loading dataset: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 96/96 [00:53<00:00, 1.80it/s]\n" + "Loading dataset: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 96/96 [00:55<00:00, 1.72it/s]\n" ] } ], @@ -249,13 +288,13 @@ " root_dir=root_dir, task=\"Task01_BrainTumour\", transform=train_transform, section=\"training\", download=True\n", ")\n", "\n", - "train_loader = DataLoader(train_ds, batch_size=16, shuffle=True, num_workers=8)\n", + "train_loader = DataLoader(train_ds, batch_size=4, shuffle=True, num_workers=8)\n", "\n", "val_ds = DecathlonDataset(\n", " root_dir=root_dir, task=\"Task01_BrainTumour\", transform=val_transform, section=\"validation\", download=True\n", ")\n", "\n", - "val_loader = DataLoader(val_ds, batch_size=16, shuffle=False, num_workers=8)" + "val_loader = DataLoader(val_ds, batch_size=4, shuffle=False, num_workers=8)" ] }, { @@ -268,13 +307,13 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 7, "id": "bffb4abc", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAACuCAYAAAArkG50AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAkZElEQVR4nO3d23OWV/n/8YVabdlkQ8ImEMIe2gxtbStjHTfjgXUcD/TAGY/8a/wHPHLGA/8Sj9zMaCtTNtVCIQSEQEhIgAQoIFr5Hf2Gea7rjbkE7m9279fZc8393M+9W2vdazLrkw1Pnjx50iRJkiRJ0kv3peU+AEmSJEmS1ion3ZIkSZIkdcRJtyRJkiRJHXHSLUmSJElSR5x0S5IkSZLUESfdkiRJkiR1xEm3JEmSJEkdcdItSZIkSVJHnHRLkiRJktSRr1Q33LBhQ5fHIekFPHny5Lm+Z7uWVq7nbdet2ballcwxW1p7lmrX/qVbkiRJkqSOOOmWJEmSJKkjTrolSZIkSeqIk25JkiRJkjripFuSJEmSpI446ZYkSZIkqSNOuiVJkiRJ6oiTbkmSJEmSOuKkW5IkSZKkjjjpliRJkiSpI066JUmSJEnqiJNuSZIkSZI64qRbkiRJkqSOfGW5D0CSJGm1+PKXv5xqX/pS/hvGv/71r/+Lw5EkrQL+pVuSJEmSpI446ZYkSZIkqSNOuiVJkiRJ6si6XtNNa7D6+vpSbfPmzam2cePGns8bNmxI21TXfT18+DDVvvjii1T797//3fN5cXGxdKz9/f2pdv/+/VS7detWqn3lK72PCK1Re/ToUapJ6wm1a6r95z//WbIW+5bWcttvrbXHjx//L4corWuvvvpqz+dXXnllyW1aa23btm2pRuP9559/nmpx/KR2TGM2janU3ml/cYyen59P2zx58iTVJNXE9k9jPb3/U7sz92F98S/dkiRJkiR1xEm3JEmSJEkdcdItSZIkSVJHnHRLkiRJktSRdROktnXr1lQbHx9PNQpNoXCViEJUKFyB/POf/0y1GMBC+6PfvHfvXqpRkBoFOlG4Wgx+oOCWycnJ0nFQOJy0XKhdj42N9Xw+cuRI2mbLli2pRgEp1Maof7l27VrP58OHD6dtKODxwoULqXbnzp1Um5iYSLW5ubmez9SXUFunc5K6QOMnhY5RYBGNefEdgN4JKHRsZGQk1Sh0dM+ePakWj5fGdRr/q8FMsR231trdu3d7Pn/ta19L29B50nEYuKaVLrZjGmMprIzGMmor1C7i2EjvttR2qF0vLCykGh1v3F8llFUrj3/pliRJkiSpI066JUmSJEnqiJNuSZIkSZI64qRbkiRJkqSObHhSTMrYsGFD18fy3DZu3Njz+dixY2mboaGhVKNQFgo6oMClGFhAAUYUuERBB5WgBjoOCn148OBBqtF50m2n44i1wcHBtM3Dhw+XPNZn7Z+OI+7vo48+SttQkM16Dmp73sCbldyuK6i97t69O9V+8YtfpBqFk73yyis9nynQ5Ktf/WqqUbt7/PhxqlF4U/wNak+7du1KNeojYl/YWmu3b99OtRjoRKFsdG2vXr2aanTu1B/GNnvlypW0DZ3TevYiQVYruW3HUDAKIRsdHU01GsergX+xbZPZ2dlUO3DgQKrNzMykGrXR2B6pT6Cxkra7ceNGqtF4HNsVvSdQv0a/SWM2HW8ce2OYW2t8bRcXF1NtvVivYzahsYaCjqlPGB4e7vlM74FUoz6iGn4c0T2hcFLqNyjAmN4B4jhL50TtjgIYqc9cz+/PL9NS7dq/dEuSJEmS1BEn3ZIkSZIkdcRJtyRJkiRJHXHSLUmSJElSR1ZdkBqFkx09erTn86FDh9I2FBJAAQMUtkLBSTGIgEITaP/VoIZ79+4tuT+6FvSbhO4nhabE60bhU4SuNwW10LWN5077out98+bNVPvss89S7dGjR6m22q2HUBZqOz/+8Y9T7ac//WmqUZggBZjEgCEKCXvttddSbXp6OtWoLcbQl9by806/uWPHjtJxUDgMtdn5+fmezwMDA2kbak90D/r7+1ON2mzsr/785z+nbU6ePJlqf//731NtYWEh1dai1RakRs8Htb34vL377rtpGzp3CvGi8EAS2yOFcdK4u2/fvlSjoEAKeZubm+v5vH379rQNhRrRvaPrQX3F5ORkz+dNmzalbShcjdBxUHuP703U98U+pzUOlvrb3/6WavRustqthzE7Bna2xkGnFFZI21Fbie+QNPbQ96ivovd/Ch2soHOvBoXSb8a+icZA6r/oXZnOk57H+F16Z6r2Sy8ylq0mBqlJkiRJkrRMnHRLkiRJktQRJ92SJEmSJHXESbckSZIkSR1Z0UFqFDr0jW98I9ViQA8t4qcwIQoTofOk0IEYWEQBAxT+UQ1XoGOL36WgIwpNoVATCmEjMWyCQiro+tC5U2gaXe94/+iaUSgbHRsFS3zyySepdv369VRbTVZ7KAs9Gx988EHPZwpbGhkZSTUKW6JgksHBwVSLIXsUTEY1Cv+h4yDxN6m90rNN4WoxuKk1DqTZuXNnz2d6DiYmJlKNwtsoyIqOLfbnFy9eTNtQ0BSF1P3yl78sbbfareQgNXpODx8+nGo0jse2UQ0PpDZFfQeFJMUafY/GGhrb6bsPHz5Mtbt37/Z8pvcQOla6d7R/6otmZ2d7PtM1o/cL2j+dJ71jxPGe3gmo76B3H+p3zp07l2oUELWarPYxm8Q2+61vfSttQ88jvS/SuELfje2HgnKpnVTf9endoRKIXA01pv3TeB/ReVK7pr612ufE46D3bhp3KSAx9oWtrc9QY//SLUmSJElSR5x0S5IkSZLUESfdkiRJkiR1xEm3JEmSJEkdWTFBarT/73//+6kWA4Bay2EfdEoUHEChCdXvxpAECmqgoA+qUVgJBSLEUDAKNaDwCdo/HQcFncTzpOATuo60HR0bfTc+CxQqQeETVKP7SeENf/rTn3o+U0jdSraaQlmGhoZS7ec//3mqvffeez2fKRCEnjM6J7rnFAg0Ojra85mePWo7k5OTqUbBRPS8Lyws9HymkEMKBKRQGarRsxGvEYXKxUCm1jgUa+/evalWCcGi+0l9xK1bt1Lt1KlTqfbb3/421aamplJtNVnJQWoUYnj06NFUo3ElPkcUVkYGBgZSrRp+FNsyjes0VlbGqNb4XsX9UX9Svcf0jlEZBykc7vbt26m2uLiYanSNKAwuvotUg9Sov6K+jvrXkydP9nym67OSraYxm4yPj6dabP+bN29O21RDcOm5pbExvqNWn2PaP6HrXXnWKByOjqMa6BzfYej9gtoY9RHUPunYKoFudJ407tI79fz8fKrRe8FqYpCaJEmSJEnLxEm3JEmSJEkdcdItSZIkSVJHaosa/g/QGgNC/2A9rhuhdYHVdROksvaGjr+/vz/V6NgIrWuK50lrUqvnRGupSFy7QudJ61voetN2VItrdKrrYOL3WuO1grS/uD5xta3pXqm2b9+ear/61a9SjZ7lq1ev9nymZ5vWeNIaI6rR+s34PNKacWo7Bw4cSDVam0RrKeP6VuojaF0Wqa4/i9eDjvXIkSOpRuurqZ+jtXxxfRhtQ22Y1vHRekLKBfj1r3/d85nW9mtp1GdSNgOtKaTnI66npKwAehYI3VNqL7EdUDYDjbvUx1COAYnvDtW1lPTOQX0Rte14D2jtajWbha4RXdvYJ1IfWc3QoRo9a3HMvn79etpGLweNb8eOHUu1eN+reUX0TNEzSm0ljnk0XtBzXM1XoDYWj43aGB0rqWYRxON9kTXpdJ7U38Y2W22v+/fvT7Xdu3enGmU1nDt3rudzZV35auJfuiVJkiRJ6oiTbkmSJEmSOuKkW5IkSZKkjjjpliRJkiSpI8sSpEZhK2+++WaqURgHhRM8fvy45zOFN1RCk1rjMAGqxd+Mn591rNVAt0qIDO2fvkf7r4YwxJCESqhca/VwCBLPq7qv6vWmUK0Y/DA1NZW2oRAsPUXP1M9+9rNU27FjR6pR+4woDKUamkj3nAI6YjumgBc6Tzp+2o4C42KbogAZ2hcdG7V1ahfxOGIoUWv1MCSq0bWNx0Z9Fd3jhw8fphqFsL333nup9vWvf73n84cffpi20dKoTe3cuTPV6Pnu6+tLtfhM0vNdDROjdkDP38WLF3s+nz17Nm1D/QTZtWtXqbZ169aez3TNqJ3R9aC2Xek3adyamZlJNQpJpJA6+s147nTP6TzpnOgeU8Ddnj17ej5PT0+nbarvK3qK7t3Ro0dTja5tbIu0DfUl1WBfEt8PabyjOQf1ETT+0LHFGr2j0nHQb1L/VQl0q+6fVI83ts9qH0THT+M4vQvGdrzW3rv9S7ckSZIkSR1x0i1JkiRJUkecdEuSJEmS1BEn3ZIkSZIkdWRZgtTeeeedVBsbG0s1WrRPoT1xOwoEePDgQapRaAqFJlCwRAwPuHbtWtpmbm4u1ejYDh8+XDqOGH5AgSO0fwploe2eF4UyVEMq6H7GMB461moQBAVoVIL26J589NFHqaanjh07lmo/+clPUo3CzxYWFlIt3k8K3aA2QOE/FOJBQV7xu3/5y1/SNhTsQUGKx48fTzUKUoptpRpWQn0EhbKQSqgZhaHQPaiEW7bGbTGiIC6qXb58OdXu3r2bajFczSC1l4euN/Xn9BzFIDx6NmjcqgapVdpLta3Q8VNo1+zs7JK/OTAwkLah/pBUjzdeN+r7qA+rhsjROYyPj/d8Hh4eTttQv0zvZf39/alG/Un8LvUT9+/fTzU9Rf0+jVtDQ0OpRu94cX80llF7qgRvtvb84WH0mzR+UshbJci3ep6E+szKO/XLDgmk/jb+JrVhOlY6NqrR3KrynrCa+ZduSZIkSZI64qRbkiRJkqSOOOmWJEmSJKkjTrolSZIkSerIsgSp0cJ7CiKoLOxvLQdqVAOGaP90HPSb8bu7du1K21DoA4WtUKjJ4OBgqsVwmGoYGl3vahBZvB70PQo5mZ+fT7WpqalUo8CyGIhCv0mBOnQc1XscAzT27NmTtvnkk09SjUJq1gO6hm+//XaqUcAg3RMKMIm/QdeawpwonIeeRwrsGBkZ6fn81ltvpW3++Mc/phodG7V1Ck2JNQq3of6L+jmq0f5in0bXkfq98+fPl/YfA8yetV1EbZ2el9HR0VSjoJYYXLdly5a0zb1795Y8rvUutovWWtu7d2+q0T2uhAxVg4hoO7qnFPhz6NChns/U55w9ezbVbt68WTq2SkBUNdCV2gEFkdKYV1G9tnSNKAh3//79PZ8XFxfTNmfOnEm1GKjXGr9LUTBbvLa0jUFq/x1ds61bt6YaPS/0vhjHMhq36Dmm/VPAYOU9gZ49qtEY8rz9ULU9VcbiF/nNav9LY2qlT6sEWbfG/VIlHLq13JfQexS9/68W/qVbkiRJkqSOOOmWJEmSJKkjTrolSZIkSeqIk25JkiRJkjqyLEFqV65cSbVqKAsFY8RwhWpoGi3sJ7S/iEIlKBBk27ZtqTY3N5dqFDYRVUMNKHSAAl3oN+N36TrSvhYWFlLt4MGDqUbXIwZLUCgO1SiQohIO11q+xxS8tZrDG142uoYx6K81DmW5detWqlGoWbwH1WBFqlFYEYWyxECxGOrXWms//OEPU+3TTz9NNQqRo+cxhiZSv0THSsEnN27cSDXqX+Jx0PWnNkyBNB988EGqkZmZmZ7PFD5HfS2dJx0vXaN4/6rhk+pF/W1lXGyNw7IqYy+N//Q96pdpLIuBpX19fWmbH/zgB6lG7eCvf/1rqlHboH4yomeyGohE36X+r7Ivuh7Hjx9PNQrVO3fu3JLHRShIid7x6FmLAYjUT+i/o8Deavgs3eN4D6rvX5WQTdo/7a+/v7/0m/TeWp0TxOOtHj+hY6N2UfletQ1Uw6xjrXqe9AxVw9vib1DYX3yXWE18A5EkSZIkqSNOuiVJkiRJ6oiTbkmSJEmSOuKkW5IkSZKkjixLkBotgqcgojfffDPVHj9+nGpxMX4lEKA1DleioIBKWBOFuVAIE4VNUfDDpUuXUm3jxo09nwcGBtI2dPwUmlAJamgthx1RQA2FZWzfvj3VhoaGUo2ubbzHFEhFoQyEtqMAp/gMxdCd1moBNesFPT90n06dOpVq4+PjqUZhXzdv3uz5TEFZFCZYDTSi34zfpcAuCp85cuRIqlEgUCWgjwKN6Dyp3V29ejXV6L7ENkbnSUGQ3/nOd1KNwvKmp6dTLYbU0X2i0K3Z2dlUo3ZN/WEcV+IxqIYC+i5cuJBqNGZTCFvsP+j5i0FZrXE7oEAk+s3Yf1A7o33RuPWjH/0o1U6cOJFq8Ryq7yZ0PSqho63lc68GgNJ5btmyJdUoCPP69es9n2l8oDZL7ZHaO20Xj+NF3ufWK3reXySMK9aq+6KxjPZP7Tr+Bt1zaus0l6iGMMffrD5T1dDEyns8HX+1rVM/SucZt6PrQ8dBbbEa0BdrNK4bpCZJkiRJkhIn3ZIkSZIkdcRJtyRJkiRJHVmWNd20zoPWatD6AVrzR+skKtvQmpHqOo+41oHWSNA6D1qrQWu/qRavEa2boDVYtD6MrgetY46/SWuAaF+0dp2uIx1b/C6tLaV12XRt6TjoHsf7R78Z1xi3trrXlrxstO6O1u2ePn061Spt+NVXX001agP0bNy5cyfV6DmIbZayCWK2Qmv87NHxTk5OLnkc1D9W2klrrY2OjpaOg+5LRGu1aX0V9d3UVuK1pX0tLCyk2sjISKrR9aY19HGdKvWr9D31omfy7NmzqUbjz86dO1MtPjO0TphUM0voeGN2CrUfepZpHKf3EOorYrul71GmC53nxMREqlGGQ+xPqutNKW+CcjSOHz+eavv27ev5TNeR9k/9BI29lTXitC/KFKE+Zr2i52dsbCzVqA+m9cPxntA2NNZXt6MxO9aoXQ8PD6catQt6n6N3+zh20XrlapYSnXvleac+jvoNOjbKy6isr6bfpGOleQKp9Lf0jK5m/qVbkiRJkqSOOOmWJEmSJKkjTrolSZIkSeqIk25JkiRJkjqyLEFqtNg/BnG0Vg8AizVa7E8hAaT6z+spwKmyL0KBDhQG1dfX1/OZAlgoRKJ67rS/eA8qoXKt8fWZnp5ONQqfiWE8FFxF50T3idB9iWET1RA/PfX555+nGgWf0D2nwJ54Dyj8oxpWSPungLFYi22OjutZx0EBXXv37k21GMpC/R4dK21Hv0nXLfaRdJ4UTHTy5MlU+/a3v51q+/fvT7XY7qiPI3RsdB0pvCWGNx08eDBtc+bMmdJxrGfU31LgEoVgUbhafP7oWRgcHEw1CgWi9l4ZP6ld0LNGY+qlS5dSjdpLbNt0fShQkI6ftqMAuhhsROM6jYF0PahtUF/6ve99r+cztUXqm2hspxqFOsbxhu7TZ599lmoGqT21bdu2VKPQNBp/KEArtkUa/+l79A5J95OejdgnUF9FYzaFq9I4Xgl+putD3yMUpFZ516G+iq4PXe9quGJE50T3qRp4TdvFe0UheKs5XM2/dEuSJEmS1BEn3ZIkSZIkdcRJtyRJkiRJHXHSLUmSJElSR5YlSG3Tpk2pVglbaY0DAGJoBwUTEApgoaAWCgqIwQkU1EDHQSEPFJpAxxYDUSi8gdB1pFADCmGohIdRUAOdOx3vlStXUi0GeVDwFgVv0HEQeobi8dI29GzoKXpWKAyJQvbo3sVaNSCRnjN6HinYJ4aTVfulCxcupBo9Qzt27Ei1+FxR26fzpNru3btTjQKvKqFmdJ9u3LiRahSu9s1vfjPV4rWlgCdq6/RcUYDUP/7xj1SL51ANb1MveiYPHz6cajRWVq45tZVr166lGoWJUZuithEDtKgdUz9x4sSJVJucnEy1AwcOpFoMqqLjrwQ6ttba+++/n2rvvvtuqsV7RedJoZfUtj/++ONUO3v2bKqNjo72fKZg3EqIZGvc3iv90+3bt9M2dJ56ito1tQF6v6XvxnGF2iE9j9WwLwoPjd+9fv162mZ2djbVqoHO1Ke9zHfBashrvLZ0n+ia0fFTgF7lHlSDa2l+QfunZyHO5+j4VzP/0i1JkiRJUkecdEuSJEmS1BEn3ZIkSZIkdcRJtyRJkiRJHVmWZCgKDqNArYMHD5b2F0MeKJiAgg8ojIuCHyoBXbTYvxLY1RoHgNBvVoLT6DcJBR0QCjqooGvb19eXaq+//vqSv1kNSCPVML54X+j6LC4uPvdxrAfV9kTXlmrxuxSiQgEvFAD2+PHjVKM+IYYJ0rNy6tSpVKMQov3796caXaN47nRc1KfRvug8K2hfFGg0Pj6eahSMWUH9WTWghto1hd7FsLznvT7rHY1bFG5F21H/HcdLav/0zL9I8FO893fv3k3bUNum0L7qO0YMLKJntNL3PWv/1PZi26BnnvZPQWfURh89epRq8XrQ9affpOtBzwvdgxiSRuNzDGVSrxgu2BpfawropHYXn1F6fmhMpXteDcudn5/v+Tw1NZW2IXRO9DxWVMOKqQ0QeteJv0HvOXRPqL3SsVXmSHRP6H5S+6caHVvsl+P9Xe38S7ckSZIkSR1x0i1JkiRJUkecdEuSJEmS1BEn3ZIkSZIkdWRZgtQodOD06dOl777xxhupFkM8KKyAgs4olIWCGuh4YwAA7YtqFGpCYRPDw8OpFs+TjqsawFINeYjXoxqCUd1/9XifFx0b1eJ5nT17Nm0zMzPz0o5rLfr4449Tja41BfZQcEgM8qLQIGpjtC8KPqJnL7apy5cvp20orGRkZCTVhoaGUi0GtbVWCzWk36S2+LxBinR96Firbb0SeEX7ouOgwBj6zcHBwVT7/e9/3/O5GrKjpVHbGBsbSzUa3ypBatWxhgLdaJyNoVp0/JWQsNZaO3ToUKp997vfTbV4nhQmRF4ksKgSREp9H7V3CoMklZAn6hPoelON7nEMAaMwXuo39RRd6xMnTqQajakUOhbD7eie0/sdvZ9Tn0DPcgzorYTztsbjxYv0QxXV+UWlXRPqq6pBp5XjoOtTDc+kGn03zgUp7G818y/dkiRJkiR1xEm3JEmSJEkdcdItSZIkSVJHnHRLkiRJktSRZQlSI7TI/ty5c6lGASMHDhzo+UxhAtUwEVrYT6EG8bsUGEHBBBRE0N/fn2oULBHRsVZ/sxowEkMkqtesGjRBgTcx+IGuBZ1nNbyBfjPeYwpcqgRZrGd3795NtYmJiVSjMERqP/HZiyEt1e+1xs8QBbrEYBkKW6GAtGpQ2+3bt1MtngMFn1RC32hfzxLbBQUVUe3evXupRoE6sU9uLffd1X6JgrgoAIj66T/84Q89n6tBc1ra9PR0qsXgutZa2717d6rF0K6BgYG0DYWyUTuIAWmtcTuIzxGFhO3atSvV6Pk+cuRIqlF/8ryBS9V+rRLCWA1cvXPnTqrdunUr1Xbs2JFqMWiL7gmFcVF7pxpd23iN1lrg0nKhfv/8+fOp9s4776Ra7OPpfZ3uZTU8l573OPbSeEGoXVAAILXh5w37fZF3SGqzUTVokvoXulfxXZnaJt2Tyjt2a63dv38/1egdYy3xL92SJEmSJHXESbckSZIkSR1x0i1JkiRJUkecdEuSJEmS1JEVE6RGKACgEuxBIQeVEILWnj/4pBoKVA1DocCFGB5U2eZZNQqWonCFGF5FIRXVUDMKVyDxuxSyQ+dUvXe03YULF3o+z87Olval/47Clk6fPp1qIyMjqRaDPShgjAJ76HmkMKS+vr5Ui8Eew8PDaRvqXygkhEJZyM2bN3s+V9sYhZBs37491SjgLqL+gELkFhcXS9+lwLi9e/cuuS/qp+fn51ONwux+97vfpRo9f+rOjRs3Uo0CtPbt29fzmdpnNQAshrK11trmzZtTLbbb6nsC1Wgsu3z5cqrF9xVqK9QPxT6hNQ4npLFsbm6u5zO1f2o/1J/EfbXG9yr2WXRc1B9SrRq4FN8Pq+Gw+t9RsOzOnTtTbXR0tOcz3Ut6B6bnoBpMGN9b6T22GkxI7ZqOLb5/Un9D6PipT6BnOfZD1ff6Sljxs8TfpMBYuj4UykZtOL53t1afJ6xW/qVbkiRJkqSOOOmWJEmSJKkjTrolSZIkSerIil7TTWiNXlxbQmuwaN00rTuorumK601ofQjVquvUSNwfrZeh86TjoPUVdBxxLQyt6aDv0XnS2jta4xKPl9a30HoWup90ja5fv55qtM5Y3fjwww9TbdeuXal27Nixns/0rFTbDrWLO3fupFp81ug5o+eY2ljMQ3jWdnF9Ja3npDZA50TrN2m7uAaNsjJozTWtjYvr+Frj87x3717P55mZmbQNrROkdcK/+c1vUu3TTz9NtbW+Pmw1uHr1aqpt3bq15/Prr7+etqFcAOoDqmu6Yzuo5quQa9eupRqtbYxrLKlPoHXTtJ51YmIi1WjMizU6T/rNhYWFVHvjjTdSjdbox+/S/qmvpvcJuraU7xP7BdpGLwc9QydPnky1+L5FWS00hlCOCY15lXGQ2jA9Z/RuSP0LPe/xHGispHXTdB3pNyvv8fSOXc24oRqJ14iOi9rdpUuXUo3GgUrezFrjX7olSZIkSeqIk25JkiRJkjripFuSJEmSpI446ZYkSZIkqSMbnhRX1FcDi5ZDPLaxsbG0zZ49e1JtcHAw1SjAhEIYYo0CEqoBYxSGQuJ2FGBQDWWg46DQqHg9KASDrhn9JgVX0P7iedE2hIKZLl68mGoUzEQBHatJNRgjWsntOj5D1K4p6Ke/vz/VKAyF2k/cjvZF14zaPwUTxTCx1nIQVDWAhYKbKJCO+q8Y8ET9BgW6UR8xPj6eanSN4m+cO3cubUOBhufPn081CoJci563Xbe2stt2FEMTW2tt27ZtqTYwMJBq8VlujdttfHYp1CwGvLXGIU9nzpxJNWpn8f7Rc0vnROPR4cOHU42CiOI4S+MuhUhSf3X06NHSscW+iAIM5+fnl/xeaxzCRqF6jtkrTzy2/fv3p23oXZzaOo159C4Yt6P3aeojqP1Xg4IrAWN0/NV3ZarRGF35TWrrdJ4USBn7l6mpqbQNvXdTMOt6sVS79i/dkiRJkiR1xEm3JEmSJEkdcdItSZIkSVJHnHRLkiRJktSRNRGkVkEBDO+//36qUfADnXvletClrYaCUcBIDDqgbSgcohrURscbz/NFwuEo9IUCrmJIBX2PwtAmJiaW3NdatRZDWSooEGT37t2pdvDgwVQbHh5OtaGhoZ7P1WebQn2qYSIxIIWCmyohKq3xOT148CDVYmAUtSf6HgUkUZ82OzubavE3pqen0zYUbreerZcgNULhShSQNjo6mmojIyOpFp8/amcUakaBqxTsde3atVTr6+vr+by4uJi22bFjR6pRO4v7ao37hRjWROFt9J5AfQD1rxQGFY+XQtmoj6QaBa6t9tA0sl7HbAo127dvX6rR807jWxyPqV3TM0vjGwWY0fHG57H6XkzPMW1HxxFDWOn9n4JaKRC1GiIX+w7ql6gPepFxa7UzSE2SJEmSpGXipFuSJEmSpI446ZYkSZIkqSNOuiVJkiRJ6si6CVIjFIj09ttvp9revXtTLYYrUPABhTfQdhSuQIEF8bvVsDIKSKAgBfrNL774YsljpaAWCnmobjc3N7fkb6rXeg1lqaLzHB8fT7W33npryX1Re6K2SIEu1P5ju5uamkrbUMATBZhR+5+cnEy1O3fu9HymUBkKIaT2SjW9HOs5SK2KxlkKJ4vt9siRI2mbON61xtcxBi62xuNbbMvUJ1Bt+/btqfbo0aNUu3r1aqpV3hMo6HBmZibV6J2Arnd8TtdLgOmLcMz+39G5x1DQaigbPcf0rlkJNqXQVApbpKAz6nOoFts1tTF6r1/PoWbLwSA1SZIkSZKWiZNuSZIkSZI64qRbkiRJkqSOOOmWJEmSJKkj6zpIjbz22mupNjY2lmqbN2/u+Tw6OlraV/U6UoBJDDuigAcKUqKgoxik1BqHPMTjoLCYhw8fphoFQag7hrK8HBs3buz5TAFmg4ODqUbbxX21xtc73jsKUovBLa1xW6dAF0ONVi+D1LqzadOmVKO2TeGH1LZHRkZSLbZRCjCL7xLPqlHI08LCQqrFZ4bGfxqzFxcXU03dccxeXjEMuTUOJ6W2GO9BdYyle0fvytQ+Y/undwItP4PUJEmSJElaJk66JUmSJEnqiJNuSZIkSZI64qRbkiRJkqSOGKT2klDYCgU10HWk71L4CQWpPO+xGcKwthjKIq09BqlJa5Nj9uoV36l9n9b/Z5CaJEmSJEnLxEm3JEmSJEkdcdItSZIkSVJHXNMtrQGuD5PWHtd0S2uTY7a09rimW5IkSZKkZeKkW5IkSZKkjjjpliRJkiSpI066JUmSJEnqiJNuSZIkSZI64qRbkiRJkqSOOOmWJEmSJKkjTrolSZIkSeqIk25JkiRJkjripFuSJEmSpI446ZYkSZIkqSNOuiVJkiRJ6oiTbkmSJEmSOuKkW5IkSZKkjmx48uTJk+U+CEmSJEmS1iL/0i1JkiRJUkecdEuSJEmS1BEn3ZIkSZIkdcRJtyRJkiRJHXHSLUmSJElSR5x0S5IkSZLUESfdkiRJkiR1xEm3JEmSJEkdcdItSZIkSVJH/h8NwhokU+9pFgAAAABJRU5ErkJggg==\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -316,11 +355,10 @@ " spatial_dims=3,\n", " in_channels=1,\n", " out_channels=1,\n", - " model_channels=128,\n", - " attention_resolutions=[8],\n", - " num_res_blocks=1,\n", - " channel_mult=[1, 1, 2, 2],\n", - " num_heads=1,\n", + " num_channels=[256, 256, 512],\n", + " attention_levels=[False, False, True],\n", + " num_head_channels=[256, 256, 512],\n", + " num_res_blocks=2,\n", ")\n", "model.to(device)\n", "\n", @@ -351,62 +389,37 @@ "name": "stderr", "output_type": "stream", "text": [ - "Epoch 0: 100%|████████████| 25/25 [00:57<00:00, 2.29s/it, loss=0.836]\n", - "Epoch 1: 100%|████████████| 25/25 [00:58<00:00, 2.34s/it, loss=0.505]\n", - "Epoch 2: 100%|████████████| 25/25 [00:59<00:00, 2.37s/it, loss=0.279]\n", - "Epoch 3: 100%|████████████| 25/25 [00:59<00:00, 2.39s/it, loss=0.145]\n", - "Epoch 4: 100%|███████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.0792]\n", - "Epoch 5: 100%|███████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.0471]\n", - "Epoch 6: 100%|███████████| 25/25 [01:00<00:00, 2.43s/it, loss=0.0272]\n", - "Epoch 7: 100%|███████████| 25/25 [01:01<00:00, 2.44s/it, loss=0.0175]\n", - "Epoch 8: 100%|███████████| 25/25 [01:01<00:00, 2.45s/it, loss=0.0166]\n", - "Epoch 9: 100%|███████████| 25/25 [01:00<00:00, 2.44s/it, loss=0.0107]\n", - "Epoch 10: 100%|██████████| 25/25 [01:00<00:00, 2.43s/it, loss=0.0129]\n", - "Epoch 11: 100%|██████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.0123]\n", - "Epoch 12: 100%|██████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.0108]\n", - "Epoch 13: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00742]\n", - "Epoch 14: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00805]\n", - "Epoch 15: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00876]\n", - "Epoch 16: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00957]\n", - "Epoch 17: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00693]\n", - "Epoch 18: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00775]\n", - "Epoch 19: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00958]\n", - "Epoch 20: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00941]\n", - "Epoch 21: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00811]\n", - "Epoch 22: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00768]\n", - "Epoch 23: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00656]\n", - "Epoch 24: 100%|██████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.0071]\n", - "Epoch 25: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00618]\n", - "Epoch 26: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00562]\n", - "Epoch 27: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00616]\n", - "Epoch 28: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00688]\n", - "Epoch 29: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00486]\n", - "Epoch 30: 100%|██████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.0068]\n", - "Epoch 31: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00633]\n", - "Epoch 32: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00511]\n", - "Epoch 33: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00679]\n", - "Epoch 34: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00744]\n", - "Epoch 35: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00519]\n", - "Epoch 36: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00812]\n", - "Epoch 37: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00405]\n", - "Epoch 38: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00422]\n", - "Epoch 39: 100%|██████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.0056]\n", - "Epoch 40: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00562]\n", - "Epoch 41: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00488]\n", - "Epoch 42: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00418]\n", - "Epoch 43: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00366]\n", - "Epoch 44: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00558]\n", - "Epoch 45: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00472]\n", - "Epoch 46: 100%|███████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.004]\n", - "Epoch 47: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00502]\n", - "Epoch 48: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00601]\n", - "Epoch 49: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00437]\n", - "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [11:40<00:00, 1.43it/s]\n" + "Epoch 0: 100%|████████████| 97/97 [01:12<00:00, 1.35it/s, loss=0.261]\n", + "Epoch 1: 100%|███████████| 97/97 [01:12<00:00, 1.34it/s, loss=0.0304]\n", + "Epoch 2: 100%|███████████| 97/97 [01:13<00:00, 1.33it/s, loss=0.0186]\n", + "Epoch 3: 100%|██████████| 97/97 [01:13<00:00, 1.32it/s, loss=0.00811]\n", + "Epoch 4: 100%|███████████| 97/97 [01:13<00:00, 1.32it/s, loss=0.0104]\n", + "Epoch 5: 100%|██████████| 97/97 [01:14<00:00, 1.30it/s, loss=0.00849]\n", + "Epoch 6: 100%|██████████| 97/97 [01:14<00:00, 1.30it/s, loss=0.00987]\n", + "Epoch 7: 100%|██████████| 97/97 [01:14<00:00, 1.30it/s, loss=0.00844]\n", + "Epoch 8: 100%|███████████| 97/97 [01:15<00:00, 1.29it/s, loss=0.0077]\n", + "Epoch 9: 100%|██████████| 97/97 [01:14<00:00, 1.29it/s, loss=0.00964]\n", + "Epoch 10: 100%|█████████| 97/97 [01:15<00:00, 1.29it/s, loss=0.00719]\n", + "Epoch 11: 100%|███████████| 97/97 [01:14<00:00, 1.29it/s, loss=0.006]\n", + "Epoch 12: 100%|█████████| 97/97 [01:15<00:00, 1.29it/s, loss=0.00456]\n", + "Epoch 13: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00512]\n", + "Epoch 14: 100%|█████████| 97/97 [01:14<00:00, 1.30it/s, loss=0.00733]\n", + "Epoch 15: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00684]\n", + "Epoch 16: 100%|█████████| 97/97 [01:15<00:00, 1.29it/s, loss=0.00879]\n", + "Epoch 17: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00484]\n", + "Epoch 18: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00766]\n", + "Epoch 19: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00575]\n", + "Epoch 20: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00678]\n", + "Epoch 21: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00489]\n", + "Epoch 22: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00636]\n", + "Epoch 23: 100%|█████████| 97/97 [01:14<00:00, 1.30it/s, loss=0.00934]\n", + "Epoch 24: 100%|██████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.0084]\n", + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [01:12<00:00, 13.80it/s]\n" ] }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKIAAABzCAYAAAAbkNmRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAACxklEQVR4nO3d226jMBhFYRtDwKAc3v9NkxDRi9HcVNMRJ/ffttd3XamutIqxIY5flmVxgLHGegCAc4QIEYQICYQICYQICYQICYQICYQICYQICe3aH/TepxwHCrbm4R1XREggREggRPxX27YuhJD89/i1b99wj4i9uEdENghxo77v3eVysR5GcVZv3+CPeZ5XTTXYhhA3+nw+1kMoElMzJBAiJBAiJBAiJBAiJBAiJBBioXJ7JEuIhcpt050QIYEQIYEQIeGUENuWR9Y45nCIXde56/VKjDuFEFyM0Q3DYD0UU7yhLWAcRzfPs3u9XtZDSaLIN7RL/Yeo/fWyrEIchsHd73frYfxTCOHQm9u57fudjakZyRU5NaNMhAgJhAgJhAgJ7EIbaprGLctS7Ip5y1ElrJqRHKtmZIMQsVrKo1aYmpEcUzOyYRJi02j2H2N0j8fDehhVYmr+xntf7HaKFabmHYjQBiEe8BtnS9eCEA+o/WXWMxEiJBAiJBAiJBAiJGQVovfe9X1vPQwkwIY2kmNDuwKqj0u3KuOvqFiMsYhvwmJqRnJMzcgGIUICIUJC1iFyJmM5sg1xmiZ3u92sh4GTsGpGcqyakY1qQgwhuHEcrYeBH1QVIosbXdWEOAwDb+4IOyXErQ/eLRY+f6+IfOBJU1WrZj6zbINV8zdEqKuqEFNjMbRfVVMzbDA1IxvZhVj7lyeeSelWgqkZyTE1IxuECAmECAmECAmECAmECAnVhMgBTtqqCTHG6GKM1sPAD6ra0O66zr3fb+thVGdNYlWFCBu/9mSFey8cxRURyfGsGdkgREggREggREggROwyTdOpnxEnROzyfD5P/VJMtm+QHNs3yAYhQgIhQgIhYpez1wyEiF3OPtCKECGBECGBECFh9Sk8HHKJlLgiQgIhQgIhQgIhQgIhQgIhQgIhQgIhQgIhQsIX25S21YXsxcQAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] @@ -418,62 +431,37 @@ "name": "stderr", "output_type": "stream", "text": [ - "Epoch 50: 100%|██████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.0058]\n", - "Epoch 51: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00548]\n", - "Epoch 52: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00478]\n", - "Epoch 53: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00551]\n", - "Epoch 54: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00507]\n", - "Epoch 55: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00476]\n", - "Epoch 56: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00352]\n", - "Epoch 57: 100%|██████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.0032]\n", - "Epoch 58: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00563]\n", - "Epoch 59: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00578]\n", - "Epoch 60: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00479]\n", - "Epoch 61: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00442]\n", - "Epoch 62: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00355]\n", - "Epoch 63: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00429]\n", - "Epoch 64: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00513]\n", - "Epoch 65: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00441]\n", - "Epoch 66: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00515]\n", - "Epoch 67: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00267]\n", - "Epoch 68: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00419]\n", - "Epoch 69: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00413]\n", - "Epoch 70: 100%|██████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.0052]\n", - "Epoch 71: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00692]\n", - "Epoch 72: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00358]\n", - "Epoch 73: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00305]\n", - "Epoch 74: 100%|██████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.0034]\n", - "Epoch 75: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00442]\n", - "Epoch 76: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00375]\n", - "Epoch 77: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00544]\n", - "Epoch 78: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00354]\n", - "Epoch 79: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00489]\n", - "Epoch 80: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00455]\n", - "Epoch 81: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00292]\n", - "Epoch 82: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00502]\n", - "Epoch 83: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00357]\n", - "Epoch 84: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00322]\n", - "Epoch 85: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00324]\n", - "Epoch 86: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00359]\n", - "Epoch 87: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00408]\n", - "Epoch 88: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00385]\n", - "Epoch 89: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00403]\n", - "Epoch 90: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00404]\n", - "Epoch 91: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00334]\n", - "Epoch 92: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00533]\n", - "Epoch 93: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00594]\n", - "Epoch 94: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00342]\n", - "Epoch 95: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00352]\n", - "Epoch 96: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00347]\n", - "Epoch 97: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00421]\n", - "Epoch 98: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00492]\n", - "Epoch 99: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00235]\n", - "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [11:40<00:00, 1.43it/s]\n" + "Epoch 25: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00832]\n", + "Epoch 26: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00654]\n", + "Epoch 27: 100%|██████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.0067]\n", + "Epoch 28: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00384]\n", + "Epoch 29: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00468]\n", + "Epoch 30: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00522]\n", + "Epoch 31: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00428]\n", + "Epoch 32: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00462]\n", + "Epoch 33: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00528]\n", + "Epoch 34: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00514]\n", + "Epoch 35: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00571]\n", + "Epoch 36: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00401]\n", + "Epoch 37: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00459]\n", + "Epoch 38: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00446]\n", + "Epoch 39: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00445]\n", + "Epoch 40: 100%|██████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.0051]\n", + "Epoch 41: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00364]\n", + "Epoch 42: 100%|██████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.0041]\n", + "Epoch 43: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00536]\n", + "Epoch 44: 100%|██████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.0047]\n", + "Epoch 45: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00469]\n", + "Epoch 46: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00476]\n", + "Epoch 47: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00426]\n", + "Epoch 48: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00367]\n", + "Epoch 49: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00532]\n", + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [01:12<00:00, 13.81it/s]\n" ] }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKIAAABzCAYAAAAbkNmRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAjTUlEQVR4nO2dSXPjOrKFk6RETZbtclV0bfpG9Kr//8/qTff1oHkg38LvwB+zwFFylRfKCIdlmQRB4OBk5gFAJmVZlnazm/1hS/90BW52M7MbEG/2RewGxJt9CbsB8WZfwm5AvNmXsBsQb/Yl7AbEm30JuwHxZl/CbkC82ZewUdcDZ7OZmZmVZWl1kzFdJmmSJIkeH/s+SZJfvi/LsvJdV/N1Uxl1ZfWdcGKdh1jT9fqW2fWehtbZ91vb+bvdrrXMzkD0F1Zl2sDkv/dlxYDVdGNtAOpjdY3YFex196jPfcB8jfvpeo1LB43vN34mNvpYZyDyQqzA+XyOXjjWMX2u0+d/bWzqG43nxcAYG2R11xl6L3Xl1IG4D3jqGKtrGTGi8fceK+MSMA4GYpIkVhRF9Ji6c826NXxfZm2qpy+HjVTHiHVMXVffurrVdUYd8Ovq3Gaxc/p6mliZv3M9TG/XzMrFRm1s9A2Jt/qeFzu+zmVc6gb7AORandlU56731TSofRm/e1FWbyCafSQNsco2gcH/P3bTTQ3gG6vLiO/KqF0bfihD89yuLr8vO3Y5l4O8rf3rPg9h7TYbDMQ+lRiSZauhLnHTfet2LcZsct9DO66Owboc689pSsb61s/Hk0PbrjMQ64LnrnbtmKMt/uobX8UYvk/c11Q2z+vTUW1g61Lf2Dld69CF+S7FhWxQjNjVlcrqXGnM1XYd6W1M1peteV+UqGJZJ89tAutQ5aCpnrQhZTbJX00eJ5ZJN9Wvb91+GyO2WZ/U34Owr+uvi9uGMGJdQtRkXSWYWIJ1abtf4pK79s2QATIoRvwT1hQ4p+n7TGWWZZZlWeOoT9O0cozKOp/Pdj6fw3f6Pk3TX8ory9KKorCiKFrj5UtDmNjfbTYErH3cdVev1QeQvXXEphHa1zX2iUEIDh6bZZmNRiNL09TyPLfJZGJpmlqapjYaVW8vSRLL89ym06mlaVop83A42OFwsKIo7Hg82vF4tLIsK+AWKMuytP1+b/v93sqyDCD2aoLA6uvg26ytHfrGlX20Tn7fJ64ekiw12SBG/Gyxsw3c7GyBUIAcj8c2Go0syzIbj8e/lD2fz20+n/9S7m63s91uZ0VR2OFwCP9XuQKiAGz2zqJixaIoLEk+RH4PypgNYbs2q3PndWGGZ7A/BcaL5Jsudknjki2SJKkwk9hpOp3abDaz0Whk0+nUFotFBZRy27I8zy3Pc8uyLABIDLfdbq0oioqbzvPcxuNx5T7O57NtNhtbr9cVxiuKwk6nkx2PRyuKwna7XWBND8xrDeSu4PGgu4bkEqvLUBuUrHSJh655c0mS2Gg0sjzPgwuez+eWpqnd39/bt2/fbDwe23w+t+VyaVmWVdx0XX0Y6+12O1uv11aWZeVaAneSJAFk5/PZnp+f7fX11YqisOl0apPJxMqytNVqZavVyg6Hg/3999/2/Pwc3P3pdPolvqT79gza1WVfqgl2BWOTBKV+GppUDU5WrjmS6ow3J5bLssym06nN53MbjUb28PBgT09PAZwPDw8BSIoFVZbZB2vpswCx2WxsNBpZWZaBZbMss7u7O7u7u7MkSUJceD6fA1OWZRncvZnZ8/Oz5XkeAHs4HOx0OgUGF+N6OaSt44aEQ33O6atUNIFxCNsPBuJngVBJBlkwyzKbTCY2n88tyzKbzWZ2f38fgLJYLIJrnkwmNhqNAmhjepjcskBalqWdTqfAWLPZLLh4gY3sVRSF5Xlu9/f3AbjT6TQkLmZmp9MpfD6fz7bf7+10OoWBIPcvYJZlGcAbY82YS/eM2cVr1VlTf1JKuqY2Srto0QP/rqtgnYjtPwsUeZ4HEMjViu2Wy6WNx2NbLBaB+ZSomH0kIowldR25P2a/yojNrPL5/v4+AP14PFay6cPhYGZmd3d39vT09Es59/f3djgc7Hw+29PTk728vNj5fA6ZuJIhZeUE5Xq9tt1uZ6fTyXa7XeV4sXhdnwjUZlaJW+sA2QSiLolN03G/jRFj9Nu1ojGF3ickeZ7baDSy2Wxmy+XSJpOJ3d3d2ePjYwWI4/E4MIqZ2WQyCed6GSUWTymhMavqiIoL0zS19Xpth8MhgFludTwe23K5rOiMZu8DSceJ3RkjFkVh+/0+lCkmPp/PgcnlyjebTafs2x9zSTZe12ex/orVo+nvJhu0QtvfpEDYRtuxOENanZKDxWJh9/f3IcabTqch+1Xn0n1xYa6ATI1Qx6njyYgUt/33PjZVqKDy/TV8G7EsMwtl6H7lysV6p9MphCDH49Emk4lNp9Pg1sWgDA94/2mahu/InkMZyvdbzJPVEc9vjRF54b4A9GUo3hqPx/b4+Gg/f/606XRaEZOzLAvMcj6f7XQ6heCfrkhgYaedTidbrVaBdSjrCCBm72zGMpSh07Wr/nLFXkcUcM/nc6X+uo7YVEwsRiyKwrbbbXDNq9XKNptNxa1LZpLr32w2FVFdv71s5Ove1JexfmtTSWL974X8NrtastIn/fdunHLLfD63+/t7m81m0ZFIFogxklhIwEiSpJK9khWViOhvz5j6LPcq1ykG0vECfJ3Wqc8C92w2C5vRFH8qAZrNZnY6ncKA4eA7n8+23W4DQzKh0cCSxMT6DbEYCGMk0qWMLna1ueY+N023mKapzedze3x8tOl0GpKT2PScfvI8r7Bx3XWpQYoFKetQqPbu2bt2NSrntX0d1Q7efcodC5BmFp0S5AzOZDIJCYgGgtx3nueBRTXQyP7UKwko/t2lj7pIOj6bHhoGfOqihybJYTwehxmRHz9+2L/+9S9bLBY2Ho+DZOMzXB+r+dBAjSK3oHOV4Eh8lhhOEJAFWQ7vgfPXdK8+ARN7UcLRINCxilnZNpPJxLIsC25dAFS5zLKPx6NNp1NbrVYhARJzjkYj2263IXzZ7Xbh3C5uus78fXr5KPa5q30aENviEWbHSlDu7+/D//Vb4GNC05QYqcN4jBixLEubTCZhxkUd6uvG+vts1A8Ms/d4iMAmEyrB0jk6niBnYqSsm5oi21LnMm7UNbIsq0wxqv36uuk2NvQEU8eGfcKCTwFibHSUZRkAkWWZLRaLMCOiLNnPC3vQMSnwDMaZC37vTfGigKgMk+Dn9+xYdT5Nx3t2Zbyp64odKQPxGIKPma+fBpQrJnAFOrps/U/XZ580ZdPeg8U8Wt3fQ+2iKT5aU6ygz+Px2B4eHizPc/v+/bv99ddftlgsbDKZhCk1leV/zCx0HrU7xn9pmoYYSfGfd9/S88yqHaxEhPei45VQaIrP7D3JUKzJ2M9n+mRKieFyr8ygNd/NgaF6aDCwPcuyDCGH7kVy0GKxCJlznudh7pvaJAVw3091fcu/u9inM2IX2o79LZ1MgvHT05Pd3d2F/8XAx5vh7IiMHS5G1LGxkU0BvM7tCiRmVSAeDocARGbDGgxkOB8ekOUoPzF7Px6PttvtApvR9QuI9Bq6b7a1JChNT0rqSdPUttttkMFiikSTS64DVd/j6+zimZXYBX0HC2SLxcJ+/Phhs9nMnp6ebDabBZ1OrkvrCb3bqlQaHa+ymVyoU2XqeMVyqjMFbWa1Sph4jDJfsTbryTWKArqyXclQ1Df3+30lxPDxotqQ3wuUXWQVJjqShLIsC+stxe4+uRuawMTO7SsdXawjxhIFNqLkEmXH//73v+3bt2+VRQz7/d7W63XQz7RwwQONLl4JB+UKsVdZlrbdbkNGSU1PyYrYWeUwK1dmLYbVvXAVNxufA4CZsmaGCPSiKMLyMVlMHvLfkR19G3twKlTROdPp1I7HY7h/CeYaEAxXfFlNhOPx0OQN2+wqyYoHCgGpIDrP87BQ4Pv37xV24aoUs+ry/zYgJklS0c1U1mazsdfX14o4zNkUmTqMsZ0YkaDQeRK0OQDMPnRBHS/3KslGQNSMiGQaHc+wwycTakNeSxbL7rn0bTKZhDbVlOHxeAzL2Rgm+DKbrC/jtdlFrjmWmfq4TA0wmUyC7iZXrGPMLHS8ABiLF9lBXELFmQ11mFyn2YfmR9bzsZuASKGdo9xnxBwgdN/qXN82GiiUX2IaITVQ/fbtwJkjffZ9wLqo7nmeB41Ssa4GVNPqnmsCrs4GM6KP3QgSgjHPc3t4eAgLTOXi2IBJkth8Pq8AiKAws19cGTNQMZPkDDMLc66n06niglm2ypGblpAu0JpVJRXet/6ve5ebZGZN8Kj+p9Opsi2BgJSJlRXnMbQQs3MWRfWiuiDAp2lqh8OhoqPKTWufDpeoeWsCYSy7rvtfmw1mxDqLBc5a8UyQ+Gw1xkZkAJbLBqOGJ0bUbyU0XPrv5R+WRVaMxb6899gxAkcsfuYxnHVhfMa6iWG9Z/AzLqy7rqfMWNdROXTTGsgawG39+tl2cYxYl72xM6i1+aVXMXlGDSd28vO2sZFIYOmaZDi5/DoTiNQxXnz20k8so2fIYPYR++p7MZhWzehvZfgxKUogUQjAkMJrgWRE/V9eQGzKeHc8Hoe1j3/aeu9rNouDTw1OiYQj2P/4MtXBcoVFUQShW66IDazP4/G4sjdF32sbgdmvWWdsvZ40PLJvkiSVqTRm5RxIjBHl4hSC6F42m00IFV5fX8MOQK3WNvvQBdM0DXG1FkCI0RXPMub05mNmxYa6BvfRkBEZD/fxejFr0iRjdhEj1qX6HL3sLD8LwXKYEaqzpenR1fhj6NK5z1gdqEbRNWNBOd2qOlsJB0GvbFPGLJxTaSyPawc3m03YBiDpRJKQyvHeQuGC2sDs160AXrEQEOUNFFeSEcfjcWjHa7rkvgCUXdU1h0L/fyPTaDSy+Xxui8XC5vN5kDLaBFRm5QzUyVZqfGbE7CzvwjkguKaQnaAkSud7oZxAZ9mciWEmL5ApFmQS4Y0DNzbnrgFHYVxM7c9hzOzL1YAVED34WcYQgMbCsy42+CFMsf/rJ89ze3p6sul0aj9+/LB//OMfdnd3Z5PJJLAMJZxY3MjpM7/uTw1oZgHo3KfCeM67G16LcacyWcoxcm1iVk3xMTzwxhBlv9+HJVhcyOqnHynVcPmbjlFWr7hXIDKzwNCUqwhEM6sMQF2HsTBXqbOt6vq/LUyrS9aa7FNW3yhTFhMKLIxF/IoVyiEyz4j6jgE71y/qO7OPaT3vusSgdLsCjZcw0jQNayZVJvVLumHGyqqH5BEvbflQhvdFFmPb6IfivJ/39tOAPpFhski9NQYYD6o+NoRNL96zwgoLDNPp1B4fH225XNr9/X3YABXL6sys4npZrhefdZOclWHjExxcvsVradGFgOi3bNLdU8dUveVipRdSJlHdeTyzbP0olFBCo6X9s9kseA2f7HmR3Ycuul7M6CU4iKg1Ujf9EzYoa9bfjKPYUA8PD/bXX3/Z9+/fbTqdhj3ICtQ9kxCIjFk47WZWnUtlpmz2kcDIvcoteuF3Pp/b3d2dpWkasmABSUmDtixwpYrAulqt7Hg82tvbm72+voYy9FIb6pfMfAU+ZcRiJG2GGo1G9vj4GDJ9rn2czWaV1T2UYBQ2mFnQMP3gVdtxIPmFICo/po/G+r8vXtrsYkE7phdOp9PKM2m0iEEj0+/X8PEb1xfGNC7NoCjGIcMKdLvdzjabTQAiR7pAoZiPLKFOVPncZaeOPBwOtl6v7e3tzY7Ho223W1uv12ZmYSpT90u3ysGm7aT8Tnu3zSzIPWTQWNtzalGSTZ3G6adE/cIKD8LfaVeNEel6BQTtWPOzJRrZdBnUIJm96rc+i73SNK2M7O12GyQSbmgnEHe7XQCF5Bi6crKCZBn9rNdr22w2IRsWm3J9IzfL01tMp9MgD81mswAas4/FFASPBiTbisb7UowrKYbz9XTnXBwiFpTOyETmT9jVVt9wJO33e3t+fjYzs8fHx7AqW0q/mIwMqUYiE5I9zT5AyZXMBOJ6vbbX19dKQqFjCMTX11czq+4p3u12wTU/Pz/bf//730qCUBSFvb292Wq1CsuoJEqrDAFC9VytVgFkfLDTbDYLD5FaLpch6ycY+eg8v6pcv7m19Pn52VarVQgJ5FW42ERtKZZNkveVS6qPQpsmVmxKbC6xi4EYEzDVsZvNJjwlK5YBm1UzPI18HctYksfyO7GjslTuXpOJpXSeQM8BwAd16nuFANr7sdlsQvncNcd4l+yrJEQuXkwk0zN9CELVm6t7OFWo+1cdxerr9dpeXl7CtfwzIL2konBAiZkkIT+NyH5uwgCPH+LeBycrMg+OJHl/fJsePjQej+319dXSNA2MwwaSEWwa/VwVUjfPTBA0ZeEyxoqMDeliea3YXLOPrxirKR5mPeQuWWfev58p0XcxzZHxqsIDuXxl3Fxf6XXYWNvwpyv4mmwIIK+2eYpAeHt7s6IobDwe23a7DZt5FI/ILfjOkJyhRjwcDuGxG3R/vBbZhDGeYiy5HwGF4rI6Uy6V7p5SiOrIjJN1kaszs0pSEptBUXl8ZIq+46yL3yivNlaCpWlDqRBKdgREJTh6ggaZ0Kx+FRH71mu2tJgnbMNIk131SQ+6sDo3Td+f4rBarcKWAboMuimxKTuajc4nrhIofHKDXxkjucRfg39z2s4zIrNQZqaeoSldceN9bKCxrcjm/qfOC1CCocTD2NoL4J6hWYeY1CPr+/0ldtVdfLHv5Wq5GFadow70HaJYxTOPP9es+sAks/hOP84vc8sAZRVljgz2/RyszygplcQWdRRF8cug81mtGJp1jxmTGB+GqJ0JLIKRU4g6lrEwf/yA6ZOcXALQq62+4Q9jo/P5/cFBYgnGiXIZCv7VQAItXSH1QorGXH3NDuXIZzZaFNVnFXI5GXcGahEv79UnE2IahRxeEOZyN7ImB49crBKXWCcTSJo2VTjBmSG1rYyrb3TvMiY6StS4bK2r6425cY+PLvYpC2NZOTLiZDKpjDiNWI48Zs8+HoudyxiRrtQLvwIFr8nP2nbJTmcc60MJgcvsg5V5no5hskIXqR8yU4wR/X3wPGXIXP1DQuD6RvaHny/3jMhy+hoB/FuSlbpKmFnYsZfnuS2XS5vP52EelcE8O4zfe9dm9vE+FbGXFor6KcBYQsN1hNLexMJkaHacd8MMC/z9UpaKZaSqmwATc+XyHv4dL7E2Zgys77Qnhbqm2UdM6WNjtQmXpw0FX519OiN6HVAXVAfM53P7+fOn3d3d2cPDg33//j2sR+SCAplE3ljwLKBwrtZvD1U91AlejiGrip3lzjRHrOOZdOheydC6T0oiYmYPRJoA4evPzWLH49HW63VI8jiPzLbWj3+I6Gg0CrNa1DKVofM60ly5cpyTB7ym7/Mm816xq13FNdO1qhMFQj31X0+AFbOxs7zL4/d0Q4op+ZQFn13S1XGnH5+cpQbnMn0yU0x3Y4ernvofEwIytNpHv9nRzOrJiPv9PrAbRW2VoftlexdFUXkyReydLrEZK//AT8/4dckK7VoZ9NUf1OljuJgL0vFm8UzRM4o/V65Fn7mmULoa3Y0XjBkjxZZviWl8qFDnuij1nM/n2vCD3xGUGmgCNeM3tSUBxOlR6q/6zHluxpDsH7Ixw4pL7BK3ftHrLZpoXO5HuqFf0uVjEh8vhgqOPp6yb/begAqsqTeWZRlWxOh4shmlIc1G8IkHrB8zcT4Hh8DmvdNtq+4Cj9yrP0dsTYA+PDwEwKluXAxLFtN9iNHYPtJri+J9PppvRdCg1Kqo4/H4C4vL2CddMdHl+JhdNVlhheh62Mk+eGcj6jyOXu/6zD4Y0cd8ZERlqX6kM5j3gPZ7knXdJjnDa590o7xvMrN/soKO5eyRn91h2fofV9xw4EkBYDbu5+0VqxKE13KzXVy6t6vtWZFRpD0cDmHVDRMBuSY+2ZTMoOMIZsZuHszcrM6OZDnsJMVVFNPJFizTJyaxjJr3zvWUWsDbBEQxJaUoSUqK8/w+GeqUBJbqwJkoyjJiUGm7Sta4pYLt6z9fgos2u2hmxcdMqrRuVIykF+NQbtBqZ7lFHctlS2IUXz6n+o7HY1iDyDc6UfujWM0XRa5Wq7AkjdOJ6jx2LnVLsrxZda+05naz7H1ftZ7XrePMPhZz+Hpyq4AAqLZifKnBEWOeJEkCCAm40+lUka70liu9UoNCdt1Ai2HAX3uoDY4R60aC2EbAoJxCJuJTDihq67NZdUbBLJ7Y0MX6hZ8+eBcoFbcx5pJb1mwH57LJOnJljB0Vg5l9LMLQbIvmwVl3Zq/MarkTj4kUPYl/jrjfuadzxahkRu2zESi59I1s6BPKOgxc0y56PmJTkErVnu6SDMfAnq+f8KuVPQAZe1E7VJJBPZJyj65D9l0sFnY+nwNodC2Bwz9DkY+Z44oeznELxAJATM7xM0oCJmNHztboNzNoto0GkZ+pYXxItvMJZKyOdX1eFy9fYlffTkrZQGyjzUF0a8ruvEbIB2nK9f5S6dH7mwjKsgyPJWFGy2kqGRlLrl8PAFBMy8yXc81ekjKrPvzJP31VZWnpm4+5WAcOzqIoKo8u5oYmXZ9PCZPHUZkCN582pvrL/ZN5+Zg6n2gNSWCGJCmyT5niIyA4yyEG0whk3MXtm5zOU3k0NSYzUxmZghmtmIbxqDpWx6tuivPMqtsJmL37hRM6n6u2eV2Zrh+bvlOdvQv2CZzPoL0OqJhXfeL1Q7WbTwY9K9ZJOk1sGEt4uthVXwopExvIvf3vf/+zzWZTeeG33LDiRY1YZqsUbwmgOmMMJxB4F0bw6Rz932uBTAxk7NDYzIqO4UDQMV4JYHl0eRqwnJsmoCjW6390wb7Ouhe2ny+LA4rmgdUEwt+arHSpwOFwsOfnZ8uyzFarlb29vYVXMTw+PobnZ2tTlRokZurA2Wxmd3d3wf2Ivdhw4/E4ZKkShMVSOkcam2JHPvXBz0erTLKgyiIrk/nJ+n56jbIOnxVZBwC5fIYKPv5T23Oqk6EL9UMCXZ+Z1BDgvm/r8gEP1KHx46dsnlI2KilBmbG2AUiO0O416nY6nyzIEd406tRhYjRJMAKDOlWukcvouSh0u90GwJG9OFjEVAKlDw/IijyeU5881ociAijZmf9jkmJW3fPDGSUNMoGPTMt6+hU4bQCM9f8lYLzqC39onHvllJRctp5urxhKyQyZge5YgNL+EwHTzyOTJZTwCADqJB2rAeAbTsdTVxOYfbZLsIqN+Lpdso9CBca1lF2YfTP5YqxJBpUUQ/fNc5lkUeTWDFTsTadd+j0Gxkvt6q7ZJxgUe9UJclHL5dLMPrZVqsP1HD/KC4oZBSZJKmX58UBM7+JjsRvL4fFc9S2g+zlcn03r/s7nc7gnvkGLT2jg7BLjS8amBA9jPq4n5IINidJqD9VNgFf4ocGjJ1Tsdjv7+++/7fX1NZCDPIAHWlPf+v97TPRhxU/Zs8L/0z3pprnwQHtwxYjsFGaK6jQmCzGgkVWYITK4V714HGdRmIAQHPqe9+iTFb9OkdfzbpCao67DH9aTYYv+VntSfeA5HES6lkRtApDS1TXYTdanrIvfPFV34Vgar8TBzMILedSw3EZAwAlEXMdIqUHxo/6mq1XjsiOZwTJBYXwTe0Sx7qlOnuBx/E2NMJYR+wTBa38EK8vR+XxOEP+v33K9u93OVqtVeNGPHp1St0VhiDHz72uf9prc2Gg4n983ColpkuR9x9y3b99CNuvPZQf7xMXsYxMW4ya5Mz+jQB1OgNPzC5VImX28f0/XjG3HVFn+M2NIPSVCoFIWT22Ron1sjlcd64HGuhHwKlMAU1y42+3sP//5jz0/P9vxeLTX19cgens27MNkHnR1A7XNPh2IHCUK2M0sPJLkdHp/D4pmX6gFamTTxfilXWQ4/+AlPmebIjkzXq+jCZRcHaPrKG7l9WP3TbYmML27Nau+LdUDnRZjytjyOLWZ2kBueLPZBEbUAOQ6xT9tv/3F4XQ3Wu2yXq/t+fnZdrtdeNIst2oKgGx4uWDutaCWliQfT/Piujtd18yC2zKr7rhT+YzXPJv66T4Bmq6O8hEHlG+jmFTiPzPzpquOAZEPi5cL3u/3wS177XKIK4316SU2aPXNkIqTEcQ6Ly8vlqZpCJzlpv/5z39WhF8+Ok1SBPdBqwMIHmp7ZBptUGLioGPo/iQzxUIDL0prT7EYlrEpgc6Mua19OSsk07IuhRO8dyZB6/U6sPp6vQ6glNzDc9k/dfVpMvbpJWC8SEe8RMD0K1OSJLHtdhv0RbIQF4xy6o8doToRiBTB6eoFMplYi8d5QOm6jMU440L5iIyochlr1rWXvw+fUWvqlK9Pk1vnvLckGq47bLO+IBqalNTZxa/JNeu/epufBQ7pWHLTh8MhvJ1db4uXS+ReDdaBQq7cpM+yuXaRCwgkhygWJGtxdoNTZYzVmjwFAUpm1EBiJkx214BU8kS20/0RiAQrn9rQpy+7ArIrU3a1QYsevJv1F226mVg8xA1AauA8z+3x8dF+/vwZ4kYJx+wkZqwEIoNwukMF7qfTqSJiq8NVToxNpbl5SYVrE1WGbxMBw6z6ZAi/ckcungtaX15ebLVahcyb7EdxnsxJcNf1wVeyqy6MjR0jazqWWh7dcZK8z0eLvbQJnx3ArNkD0Ky6qFTnElA6l8D255FNYwE+2ZPzujpG9Y295YlA5IvJVcfj8Wir1cpeXl7C97p3n7iwrWPtHdM++1hTH/72ZKWP9ak4GVYMud1u7eXlJQTn0uXIcJyP5jSaZwQyh9kHwPwqaMWXdUI2Z1akPVKWIatxRkiZq5mF+XLVS2BUtisdkBogVxAxLm4jhCaZ6SvZpyyM7Xs8mUj7KcRS2+3Wsiyzp6cnO51OYU3jcrmsrKJJ0zToZuoouUkmGYz/+AwdL+zS3ZN1OI2mJIDxKd/XzNXUb29vttlszOxXBhXTciMTn5YrmYnuV9f17e6z1yGxfNvxnwHiqwGxjuFi/4udS1bxDCNXvVwug5tWIqOMlIkEM2Tvqn0IQNGZ5ue3KWzr/vSdXxGjJXA6nuKyBwqTJ21m4lw8ZZmu7jYG0C79QLtmRtzFPmVhbN//qXN8J7Gz9/u9vb29BXY4Ho9hw9N8PrcsyyrZJd8kRYbjcwTlLrMsq2SgXDDrdwfSPTLD5ayMyte+EwnL3EciY/maBYklItds9y5W5/I/y6UPfl9zk1Thj28rr25aS52cJIm9vLwE0NCl6j0uejQJp7f8fhGz6jOuuXaQx0+n0yAXkZW4fyX2mSA1q24bJat5mcnLN2a/PqKkqf3a/sdy/GBvsjp2bXL3fcqnffqji2Ux2UbfN5Xn3bRZdW+K3hHil3cJIH7Q+IRHMZ8H4mKxCG5VzCS3SymHGa5vByY8vFfGnX6GI9aRsXLarK69P+s8njMEjFd9CFPTxetixr6ZNTszST7eHuXXDtK1eVPC4qf1ONOjaxGIymT1mSJyTDiuu2fPdl2YJ1Zu1/b23zUBpUuf1p1/idvu/eybJresyvhj+jZYjEX8tZkoxPQ5n6SwvFgowHrEFpn6Mlknz2oxi12rqY26dGodaGLusul4fe7KguqHa8aLV30IU58RXNdYdSPNg5uAlEv12l/bfbBMD9BYduw7jvWKgaqPx4iVH6uz/u7KaENdrB+sMTDruDoQ97l272SlDyC7MKc/p63cNgbtO1Jj4Gsqn9bmIj8rw2xLVC6J73z5XWJ63w5Drj9orjl28S7mQVJ3w9dyWW0Nw+m7ujJUTlvjcmamj/VlTR5T105dGLlrvw1xwTEprs0ufoM9f8sIhK4dE3MBn8UovGbMtcTq0FUuaatzH9WgzS7xIrF68V4ZbvyOvrjopZB1cUTXTtPfMfYZIlnE6lB3PYKwS2bY556a2DTmBdrA3uQVhoKkroymurDt2gZp3wHWGYh+Q3gMLHUjqEtmzGOHxmp15TaV51lA1rSKuq1ObYOt6dw+//fH1BFCGyC6tHeTvHSNGHnwzEqTW+5agbYb9d8PiVXavmdnXSspqQNd3zCl7u+m8y51o3WhQ9f+53l9rNuwv9nNPtmScmikfLObXdFujHizL2E3IN7sS9gNiDf7EnYD4s2+hN2AeLMvYTcg3uxL2A2IN/sSdgPizb6E3YB4sy9h/wcmE0QBYmWavgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] @@ -485,62 +473,37 @@ "name": "stderr", "output_type": "stream", "text": [ - "Epoch 100: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00424]\n", - "Epoch 101: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00393]\n", - "Epoch 102: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00318]\n", - "Epoch 103: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00484]\n", - "Epoch 104: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00632]\n", - "Epoch 105: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00684]\n", - "Epoch 106: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00324]\n", - "Epoch 107: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00562]\n", - "Epoch 108: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00503]\n", - "Epoch 109: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00367]\n", - "Epoch 110: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00438]\n", - "Epoch 111: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00331]\n", - "Epoch 112: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00511]\n", - "Epoch 113: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.0031]\n", - "Epoch 114: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00622]\n", - "Epoch 115: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00327]\n", - "Epoch 116: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00508]\n", - "Epoch 117: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00662]\n", - "Epoch 118: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00366]\n", - "Epoch 119: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00303]\n", - "Epoch 120: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00387]\n", - "Epoch 121: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00322]\n", - "Epoch 122: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00455]\n", - "Epoch 123: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00363]\n", - "Epoch 124: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00339]\n", - "Epoch 125: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00274]\n", - "Epoch 126: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00358]\n", - "Epoch 127: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00445]\n", - "Epoch 128: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00413]\n", - "Epoch 129: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00432]\n", - "Epoch 130: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00384]\n", - "Epoch 131: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.0039]\n", - "Epoch 132: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00349]\n", - "Epoch 133: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00343]\n", - "Epoch 134: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00443]\n", - "Epoch 135: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.0028]\n", - "Epoch 136: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00284]\n", - "Epoch 137: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00312]\n", - "Epoch 138: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00356]\n", - "Epoch 139: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00404]\n", - "Epoch 140: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00249]\n", - "Epoch 141: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00366]\n", - "Epoch 142: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00258]\n", - "Epoch 143: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.0043]\n", - "Epoch 144: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00336]\n", - "Epoch 145: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00294]\n", - "Epoch 146: 100%|██████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.004]\n", - "Epoch 147: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00445]\n", - "Epoch 148: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00492]\n", - "Epoch 149: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00558]\n", - "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [11:39<00:00, 1.43it/s]\n" + "Epoch 50: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00333]\n", + "Epoch 51: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00319]\n", + "Epoch 52: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00504]\n", + "Epoch 53: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00406]\n", + "Epoch 54: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00344]\n", + "Epoch 55: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00352]\n", + "Epoch 56: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00448]\n", + "Epoch 57: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00449]\n", + "Epoch 58: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00364]\n", + "Epoch 59: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00389]\n", + "Epoch 60: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00452]\n", + "Epoch 61: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00357]\n", + "Epoch 62: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00408]\n", + "Epoch 63: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00397]\n", + "Epoch 64: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00409]\n", + "Epoch 65: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00431]\n", + "Epoch 66: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00276]\n", + "Epoch 67: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00339]\n", + "Epoch 68: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00321]\n", + "Epoch 69: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00337]\n", + "Epoch 70: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00343]\n", + "Epoch 71: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00496]\n", + "Epoch 72: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00263]\n", + "Epoch 73: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00483]\n", + "Epoch 74: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00724]\n", + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [01:12<00:00, 13.85it/s]\n" ] }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKIAAABzCAYAAAAbkNmRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAABbUlEQVR4nO3aIQ7EMAwAwfrU/385x4tKqqzaGWxgsDJJZq21Dtjst3sBOA4hEiFEEoRIghBJECIJQiRBiCQIkYTz7uDMPLkHL3bn8c5FJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShHgxM7tX+CQhXqy1dq/wSUIkQYgkCJEEIZIgRBKESIIQSRAiCUIkQYgkCJEEIZIgRBKESIIQSTjvDvqnx5NcRBKESIIQSRAiCUIkQYgkCJEEIZIgRBL+u8oN45YK6q4AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] @@ -552,62 +515,121 @@ "name": "stderr", "output_type": "stream", "text": [ - "Epoch 150: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00472]\n", - "Epoch 151: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.0021]\n", - "Epoch 152: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00201]\n", - "Epoch 153: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00329]\n", - "Epoch 154: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00298]\n", - "Epoch 155: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00431]\n", - "Epoch 156: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00287]\n", - "Epoch 157: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.0027]\n", - "Epoch 158: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.0042]\n", - "Epoch 159: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00348]\n", - "Epoch 160: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.0036]\n", - "Epoch 161: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00447]\n", - "Epoch 162: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00388]\n", - "Epoch 163: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00272]\n", - "Epoch 164: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.0067]\n", - "Epoch 165: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00339]\n", - "Epoch 166: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00398]\n", - "Epoch 167: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00268]\n", - "Epoch 168: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00433]\n", - "Epoch 169: 100%|█████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.0033]\n", - "Epoch 170: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00299]\n", - "Epoch 171: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00389]\n", - "Epoch 172: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00417]\n", - "Epoch 173: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00322]\n", - "Epoch 174: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00202]\n", - "Epoch 175: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00368]\n", - "Epoch 176: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00476]\n", - "Epoch 177: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00273]\n", - "Epoch 178: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00343]\n", - "Epoch 179: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00233]\n", - "Epoch 180: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00397]\n", - "Epoch 181: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00288]\n", - "Epoch 182: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00424]\n", - "Epoch 183: 100%|████████| 25/25 [01:00<00:00, 2.42s/it, loss=0.00272]\n", - "Epoch 184: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00545]\n", - "Epoch 185: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00417]\n", - "Epoch 186: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00437]\n", - "Epoch 187: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00328]\n", - "Epoch 188: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00438]\n", - "Epoch 189: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00451]\n", - "Epoch 190: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00464]\n", - "Epoch 191: 100%|██████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.003]\n", - "Epoch 192: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00295]\n", - "Epoch 193: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00268]\n", - "Epoch 194: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00368]\n", - "Epoch 195: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00321]\n", - "Epoch 196: 100%|█████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.0035]\n", - "Epoch 197: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00393]\n", - "Epoch 198: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00359]\n", - "Epoch 199: 100%|████████| 25/25 [01:00<00:00, 2.41s/it, loss=0.00286]\n", - "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [11:39<00:00, 1.43it/s]\n" + "Epoch 75: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00703]\n", + "Epoch 76: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00351]\n", + "Epoch 77: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00445]\n", + "Epoch 78: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00264]\n", + "Epoch 79: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00324]\n", + "Epoch 80: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00307]\n", + "Epoch 81: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00522]\n", + "Epoch 82: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00569]\n", + "Epoch 83: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00378]\n", + "Epoch 84: 100%|█████████| 97/97 [01:15<00:00, 1.29it/s, loss=0.00442]\n", + "Epoch 85: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00387]\n", + "Epoch 86: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00523]\n", + "Epoch 87: 100%|██████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.0028]\n", + "Epoch 88: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00541]\n", + "Epoch 89: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00382]\n", + "Epoch 90: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00329]\n", + "Epoch 91: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00379]\n", + "Epoch 92: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00409]\n", + "Epoch 93: 100%|███████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.003]\n", + "Epoch 94: 100%|██████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.0042]\n", + "Epoch 95: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00496]\n", + "Epoch 96: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00296]\n", + "Epoch 97: 100%|█████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00307]\n", + "Epoch 98: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00362]\n", + "Epoch 99: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00498]\n", + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [01:12<00:00, 13.84it/s]\n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKIAAABzCAYAAAAbkNmRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAmBElEQVR4nO1dWW/jyNU9lKx9l5f+2tM9mQVBgCBI3gLk//+JAAHS6elxL25bkrVSK7+HxikfXRcpUpJ7/KALCJYpsnhZdevctYpBFEURTnSiP5hyfzQDJzoRcBLEE70QOgniiV4EnQTxRC+CToJ4ohdBJ0E80YugkyCe6EXQSRBP9CLoJIgnehF0lvbEfD4PAAiCYOe5URTBl7AJgmDrej2Hv8Vdl9Q+f0+bJIp7hixJpjTnJj3rsYjtaptx35N4zsKfbSfufB5fLpeJ7QEZBDFr52URjl3nJrVhO33X/XxCnZaPpHbSnP8c2dRDhFp52redXUKYllIL4r6UxFASCiZR1hmZtX3Lkw9V0mqGLHzGXeubPGkHete5Wfqf5z7HpHoWQUx6cB1Inpf0YPsialak3NV22t8sD1kROs21x1DtWdW3b6zinl/PTUvPjoiW9EHSzK4ke04F0Hfert+TUCduoHbxlXReVjWY5tm/N+16hn352ksQj2lX7HJO0szQpPN8fCahVpJA+v5ne7uM/bTCs6tv7STedY99zZO4+yYdS3JGd1FmQdTGD52Zuzw+pX1sMl6XZKvFqRLfgB4ymEkqbddky+rNW4F4bjoGQqcWxD+qfnYXMqQJW1jBU1RJi8h2gO11yk+cwPl4SjIx0k4sX/tZfou7V9pzj6Gmj2ojHhKL0uNZrrWIlgU54/4GQYBcLueObTYbAN9iqTyubek5lgff9ySBtM8Wd56P4pA+idKo3DSU9Nxp6Ls7K8+NrGltlDgh9LURd47veFr7eZfQpJ3UaQRuF4rvOhZ3zj7ecRwdLIhZ7YNd9lGakI62kcvlkMvlEAQBzs7OUCgU3OwketnvOnv5l2jH387OvnXNcrncygzooBIJF4sFFosFNpsN1us1NptNrCGvH4um/JvUX89NaWzh5+Aps42YFAaJUzlJlKSu0sz0QqGAYrGIXC6HarWKWq2Gs7Mz98nlcu57EAQoFosol8sIgsAJXy6XQ7lcRrVaRS6XQz6fd4I4nU4xmUyw2WycUFJ4KHSj0QjD4RCbzQbj8RiTycSdQ+HSCaOCuFqtsFqtXD9RiHeh4C7aNeHTRhl8Y5ukPXgsK0Dt5TU/5yxNMvB9KoGCls/nUSqVUKvVUCgUcHZ2hlKp5H6nsJbLZdRqNSeEhUIBuVwOtVoNjUbDCSEFcTQaYTQaYbVaYT6fYz6fY7PZOOFZr9eujeVy6QSWgrperwF8Q1zN11tEVGTUZ/8jnMRd991H0HZRZkF8DiGMQ0BFkUKh4ARLUaVSqaBer+Ps7AyNRgPdbtedWy6XnUqmECjyFYtF12a5XHbnU3ijKHLnqwrWQViv1xgMBhgMBlgsFhgMBuj3+1itVltqvVgsbk2YYrGIKIowmUwQhuGW4Or39XqNMAyd6l+tVliv1177NI6yet9x45PUnv096yTaq+hhX29sV/u23Xw+j0KhgHw+j2aziaurKxSLRYdm+XwerVYL5+fnKBaL6HQ6uLy8RLFYRLVaRb1eRz6fx2KxQBiGiKLIqeZcLod6ve5Q0Md3FEVYLBYOBVXVUphUEJfLJe7u7nB3d4flconJZILJZIIgCFCr1VCtVlEoFHBxcYFOp4P1eo2vX79iMBg8Eb7pdIowDDGfz/H582fc399juVy640RjtUfjPO6kPvede0xHKS19d685jnwPRKchn8+jWq2i3W6jUqk4xMrlcuh2u3j16hXK5TI6nQ5evXrlVHSr1UIul8NsNsN4PMZms3FoSeFut9vI5/MOwQA4gbM2nKrOWq2GSqWCKIrQ7/cdIvL4crnEcDjEaDRCEARoNpuo1+solUp4/fo1Li8vsdls0Ol0cHt7+0QQR6MRJpMJZrMZwjDEbDbDYrFw/JA/iz7Prcqfq/29BfFQ+8XaeUS5UqmEarXqhK9erzsUefPmDSqVypZqrtVqaLfbKBQKaLfbaLVaKJVKqFQqTgUDcAhCG1Dv6fOEfcFuIqdeAwCFQgHlchlnZ2doNptYr9dYrVbObMjlcmg2m2g0GigUCjg/P0ez2XTqPpfLbSHuZrNxKjsMQ4feRNnZbIb1er2l1qfTqUPu5XLp1Hdc0H7XuLA/DhnbLLSX12xturgAs73eBp4pJESps7MzXF5e4qeffnKIdnV1hVKphMvLS7x9+xaVSsUNtAoO0ZHqm58gCFCtVjGdTrcGmh50Pp/f8mCJer6MCh0ODe8EQYByuYx8Po/NZoNqtYrz83MnEKvVCrlcDq1WC81m0zlIhUIBURSh2+0iDMMnfcVrF4sFPn36hLu7O6zXa8zncyyXS8znc3z58gX9fh+z2QwfP350JsFoNMJ0On3iufvCQzqO+v+u+GqadrLQURDRlxFIw5QOMD3der2OV69eodlsotvt4vr6GtVq1QliuVzGcrnEYrHAer129t9ms0Gr1UKr1XICpsICwBn7VMEUKl8Whf/bbAuv0XZpPlD1U2VTCGjLUhAVcSuVijcrw2sXiwXK5TJardZWCGk+nzvUJ0pSfRNFrerOEiP0nRsX8z0GHVR9Y78Du/OOGjCmwNARKZfLuL6+xg8//IBGo+FsuGKxiEqlshUXjKJoKxwSRZFDVUU5y6MNbgOPSKECaf/yOissAJ54sdbsUMS1al0FW4nn5fN552BtNhvXb1TxuVwO0+kUy+USpVIJYRiiXC47z53qOw7xfWMbJ7DPGbbby2u2SJHlWg52qVRCs9lEsVjEn/70J/z9739Hu93GxcUFfvzxR1Sr1S0Pt1qtOjuMKAPADRDwzYHgOTT6FRUUgUmKRmzb2lXk3wqROjEW1TRWGASBQzOr4jV/TS/Y9l29Xt8yQ/hpNpvOq3/z5g0GgwEmkwnevXuHz58/Yzqd4sOHD+j1eltq3dqOvvDMPui3T9iGtLdq3qV+47xgHs/n8yiXyy7s8ubNG1xcXDh1TKeEg884nEUl5UURUREgqVOt6uUxn00MPE4k9azp8fK5bGEEB2e9Xrv7cDIR4ePuG0WRc4ZUgFStL5dLFItFtFotjMdjZ6qMRiP0+33nuXMiKE++cU0zlvaauFBQWsqMiHYW+QQyjnHagrlcDu12G2/fvkW9Xsf19TXa7Tbq9foTFczzKWC0fYhqdvYy4KvBYZ8wkuL4j3sGVceqkm0uW9sH4DzZIAhcNoa8FgoF16av0oe2qc8LjqIIuVwOlUrFIXS73XY25GQyQS6Xw2q1wnA4xHw+x2q1wng8xnw+f2KGWAH1TXhLx1DZe2VWfEZsGgYLhQLq9TqKxSJ+/vln/Otf/8Ll5SXa7Taur69d6KZcLjsUYNbEOhIURBumoLeoH6tu9S89aA5o3HMQ0Yiy/M7nYi7b2pC8djabOUSiJtA8uBI9a5oK/N8SVTydr0KhgFqtBgA4Pz/HdDpFp9NBr9fDfD5Hr9fDeDzGeDzGhw8fcHd3555LbcckVZ2kCbOYa5b2Us1ZwjZKmlZrtVp48+YNXr9+jWq16uxFDgDRk0KpgVwiBNvUYLDaQMpbEiL6ni0uBEXB1zyyFULbBs2EMAyfqHl68pwEqrYVbdWuZdvaV4wh5vN5F1et1WrYbDYol8sIw3DLHPr69avz9OPCOr7nz2IrZhHIZ8us2MEgEnQ6HdTrdZyfn6PRaDgHg/Yd1bJey+82z6wDzU7lQCYZzdar9f3uQwUKHO9HJGMa0udVk5/lcumuV89e0c46RepxW17U0aGg8lMqlZwZUKvVsFqtUCgUsFgs3H2ZAVKH6xBnw0dZ2jmKICapZu3QdruNP//5z+h2u/j1119xfX2N8/PzreoYPV/bV4GxqMPOI1JpDM1+8vm8QzItqlDVr5Uyepy1jgBikSQpU8PjRH4AbgLSs+azKgpSuKyNqIJYLBaxXC7dNaVSCYvFAkHwLaC/XC5dzLHX6+Hu7g7T6XSrmMKOpbUbLTDoOXHnpaWjFMbuIgpLqVRCt9vF5eUlut2uQ0Sf6uF1Sj6k1PZVtSVRHLJqGzzH2qX2Hipo2ob2DwPdHGyLZBp4J5rzXvqx99KJq8F25tJZ3gbAZWoY2qImAh5NC+XZNxY+GzDJuclCBwe0k6Ccs5vqtlKpoNVqOSFUZLCBXTsYel9rPKtQ2HOsV6voqvE89cRtDlq9V50MvLfac/xN+4DquFgsPmnf8p9kW/mEnB/2s1bkaG49iiIXAqpUKmg0Guh0OphMJlvFvBoJ0PvY/32I6OM3LR0ljhhnUwFwhQyFQgHdbhdv377Fjz/+iG63i2aziUql8qQNfmfoRh+MA+dL6usgaNhGPVPrLNhCBouS1lu1qtkiuXWMyDPVp17L8y1S2v70OUDaDvkoFosOUflhKpSoVyqVEAQBrq+vEUURHh4eMBwOXXVSXKjLOn8++q5es8+V3wXVjAeWy2W02210Oh00m01nHynz2p4v/aWCoDaYPabHeZ1V7aqCVSj36Uif7WgFiMjJcIvl006GpPv47E/N1vC4qn4WgbAqiPlrFm34nj1ttOFQ2rtC22eUaqeT0UKh4JCv1WptxQkBbM1gXhtnC7JNNa61XlDXlOiEYeCYgscBV+/Vhzi+/5UP3zk+/tUb5e/WhCAPVk3rRAEeJ49FXt7PftR+ZHU58Jhc0BBQ0pimUcG7VHoSHZxZ4TGfEALf8r/MnLx9+9ZVJ7MMimENFRLb+bwHP6yg2Ww2mM1mmE6nTypx1HjXZQa62EoDy2r/pe0L3zEfzxQwzQpZE0GD5LTVLFIqzzoWvL91tGgDawqRE7VYLKJWqyEMQ1dtHgQB5vO5FwB8zkwcau/jOR81jui7ORGRNiEREXh0NIiKbCMOoazapUCGYehKo2azmbOZGG6hPamzXr8nqcJd5LOVddKqmrYoBzwKmc1d08vlteph+7IsvK99PhVM7UNtiwJLreEDnWN4xkn0LAFtok4+n3eV1VdXV7i8vHT2iE/tkOxg+Ujzr1TJYRhiMpm4/C1RUD1LtZ04GFoPmbaT7USJU+GqgvU4Y5nMFhHdmSFZLBZYLpfO2SNi6UfbVz4YzKb5wWu5xgb4pqmoRRqNBhqNhqsI30XPIZR77X2TZDfQGL68vESlUsFf/vIX/POf/8SbN29c4SqRSu0eayP6gtqq6jTLwQF8eHhAr9dzZfpcNkpbiIPKOJsWHfB8n5dun5vkK3SI41kFUnPW8/ncrUVhZTUFhGYLlxaocFneGKvUyAH50xhmoVBwOe9arYZSqYTPnz+7NTZc8OWzP+O86aTJmJYOQsQ45ljcwFTeDz/8gB9//NF5znFrP7TdJCeBv7Mdquj5fO6KRIFHg1zVv4aViBYcRBV0vZ9PGNMY8fzdOibkR+1artAbj8fu+GKxQLFYRKPR2OItLgVK0uwRJyARkWYL0XaxWKBerzuE1CiG7Q/tv33swCQ6WDX7ZgPtwna77QLXGjwG8AT1NHShYQk7iCSqWS6kj6LIoZ0G0S2vvK/+HhdG8ZF67vxuK7T1OAVCr6cpoQJHJOMEozouFApbkQa79NXyQ7TVNT3qyDC0Y50lzfbQnIkDibRC+F28ZntcUaxWq+Ht27e4urpyZf9EQrULfVUr7Ex1SCwSaIK/XC679qMocipNBV954yBbb1KrYGzGRTtWB56DT8Eiymmc0MYUoyhyldK0BRlW0WJZFcSLiwu0223XZ2xbayIVZanu1damgBP5dbKxL2zNp88G5VjYfvF52lnooHrEOBVaKBRcCqnRaGzlPn22oLZlU1QMN6g61/PPzs7ccgLduUH5VURQ71N510C0L4zjE0jyydV26u3q72xTBdF3PgWEk4UL8iuVituvR0kng2+HCJ5P4bXhMeXLjouN79rx99nCac0VHx2kmpNsJ0UtjenFURy60KinJ857UpB0TTGv1Y2SlBfaSXZdMxGAKKJVLGn6QOOadvcwPU8RXwVH0UdtWZspYjv2QzS3lekUKhV0jhFDN1yYVqvVsFgstrSU8q3k8w189uqzqOY4snYb1QcfUj8qHGSYKMiBnM/nzmDXGc/Yo7VliIZRFKFaraLRaLj22KbyqQFthmw4WFSROmh6P/IMYCsbofFLqlqeo9XXbJeIqCrV2qm083K53JZgqd2pwqlbo+j5RFkf4gZBgNVqhU6ng/l8DgAOeS3i7eOYZLnm4D209aY+FWhttTi7Se0r32oz2k3WNKABz85iBYru3KWDrWpZbS4VxF3LAKz3qNXjiohqo6mg2Q0C2I5FQN8nzgFSM8bWP1pk4nNH0eNeQFT/NuWZlfa97uDwjVKcQPmKDziAnJWa0tJCUV85PoAtpPPtjqWGuQ6wrazW6mjekwOq/Ooks8dop+pzcvIoTxrXUzVtKZ//tt1KpVJxPKpNp/fQvrACb6+xlUm+ShtrL2Yln7mWhg5ePGUNfgBOvQ6HQ0ynU4cuwHancBWZescAtpZOUsiIfCosmqO1SKtCBmwXEbAdVZ2LxQKlUgmbzbd9ZHiNOlm2xJ/PUq1W3dZ10+nULeCy+WKNXbIfOQnJM+/BwlWWd1nbW9u3aM3+pKesAmvX3Nj6QwWKNMhoASBOTnbRURBRZyLwqOYYSrFeFUntQFUnRD/1/KyzYz1Ga4z77DrgUS1xkDSAS8FWNW2LMOJCQlxxR7VrJwfvzftSQJjhCYLAhWwUEe29VN3aZyYpIqp9aEM9tg0dV3tftqt/j0lHW7NC4oycTCYuZcSNJpXU04ujOLRTwVZHRwddtytWO9WGK6zZADwu52Rcj6hoC2xVENmueve0V9mmD021DxQRLZ/sZxUgjS4oMvJevC+FUcfKTi673bMiogo7jx9bGA/KNetxnUHcqWo+n6PT6eDh4cEVYaoNozlRDaRSOFR15HI5lyOlVx4E3yqQmZ8lP0EQuLBEEAQuvGNDSWqj8Tq1LYHt0I8Kt5JVZxoh8GVr1M6zE4i/axZFkUvjjvqdz0E+VZD5rJrb5wSgqWBXUlqefah5TDp6GRidj9lshnw+j8lkshXA1Q8AhxzW0FY7hp2os5H3YtjC7nMDPKKioqmiUZx6U5WtwusLhOt1/G4FyJ5nBdFOTht0tp61CqJPY9jEAf9qO3oPX2bFIrJ9jjSI+KzOCpnyMaMowr2nmVXhA6uzoiEVPrgvzuhzMvg/A9rqEAHY2hPbOjqaEfGlEC16WLXu6w+f/bTL2LcTj8/uC+NYW1onJ00I5V35sBONJkQURS6Dw91umdfmBPcJ3LGFEDjg9RZJDBYKBXQ6HVcMq7Yaq0E0G6E2jQqjxuBUHdMOo1DSy9ZO0HpERUF9Jwq3BKZXTt6YKmT7cYKo3qjP1vTZeCqwRH07idgHinZWGLV/fONghRh4RHfrpbPKZ7PZoNvtotPpYDqdur6xvD2H03K011soSmqulJsqqQqwNpqqAat+ge0KZet8ULiVeJzCpDyqStOMCCt41Kv2xQzj+sQG6RXJeY7lg9epfacTXc0XX9xP27f8aPvKi2oe9jM3FuXuD9QwFlntPY5Jz7rlCB+UhrHmb7Vz9Ls13H3nA37nSZFP76X5V4aUNEPBdn05aF8A2X7nvZVPn+DGOXz2Wp6rqlpVsv5uEVb7IU5rWT5oH9JpqVarWK1W3nz7sQWQdJQ3T+k5PqFg3R09WCtUvpnqQ0W1JdUx0fa0pJ48seiUfOhLe3h/VrkwgKyvUtO2kgbeOi22b3yC6NsJDHi69tkniFrgoSsVdYGV3l9RUO1i9hk3xudOtJ8+ffKq4jhhzGoXKj07IgKP8UCdwT5ETHoQizS+iZEUBtI9t3VZJUnNBms+KFn7SyfeLrLPzu++wLteY4WQpNVJFEra0nYhlOVf+0zzznxREp1My/suRNzXhtxr6+I0ZAfLJ2gWPdX+0zaSeLJtq0esS04Z4rFhHhuqYEcqethn4nc9prld+zv58pkdmga0z+u7lt8phFrpbU0g+3zarpah0VzRSvE4fnfRvo7MQW+e0o7zCYQa8D6ksh1mHRh+B7CVqopzCAC486fTKUajEdbrtfOOGeZQJ8SuqVa7VtUYyfe8mp70CajyFee08Fn1edW00fYoQHyTAB0v5t+5ojGXe9zuRXnmvajemf3itscUat9YJwmYrw/S0ndDRJ+a8CGihnJ8Dx9na1lPUNc7q12ooR9epx65j38fMqjQ6jX6V9EuzrHQ/xnXBB5tR6uaNZTDF1XSCZvP51trcWxVvJ2wFEj2EQXQ56HrcyXRsyNiHPnsqNVq5RCJM1Y7TzvGd716xnHCau0svY7X+jpU0U/XX2uISdu0nroiss+204HwDaaSFa6kCed7Lj5PFG3vukah5oS0/aSkRR7z+dzVCIzHY+/2LXHPcYijAuyZa7Zk1fJ8PsfXr18RhiHOz8+3Kod1+2Fd38z21Xje5cDs4tdXNs+4o2Z/yIuteeSzqSerfFrBtx9eY/lSwdPFVvxd1aHywfa0uof8auqRz81wGIVRJ7FWpnMZ62AwwO3tLW5ublxAO85RUn4t38pvWnoWr5n2Sy737YWMCvfagRRIJWv7KWqqUb+LfIho22WoRr1tnmfP5/+KRL6YJv/fhSQ+NPTZYzoxfO3aiax5eu07tmEre9RhUUS0Sy14f+0bnxD6NFwaOoogWumn7RIEgZtp/X4flUoFzWbT1eKpcPnQLw5l7D2ZslIbMQgCJ2QcGABbOz3YV+761D350L/2uLX/lMddoRm1ie11VtD1eBQ9lpmpl0vHhQFpbT8IHvcBUkfIOkN2XMiDr0/i+iorHW2BvTKxWCzw8PCA6XSKz58/43//+x+WyyUuLi5csJV2DPC4WF5DOOrdads8n0Kj6z8sX/V63V3LjmUOmoJqX0ZuKS6PbBHah9YairJqSz3tXYKoWkRLtHhMQzBUtbPZzJkguouF3j+fzzuhpUASCbUYRP/aZ1SKE840dNDWxT4EA+Bm5Xr97QXYw+HQ5Z1VsHwIY4OocQ/tC0VYYS2VSk94s8UTuzZeUnXs86qBp8JqTQGrtjQqoMetg6QhK05UNVd0mQP5UDVrJ7JV9/zdFlX4kg9WGI9Nz2IjagfMZjP0ej2cnZ2hWq0iDEO32ZE6Bz5HQSlObVL12Mlhw0Aau7SesI9/nVQ2J23Psek4ktqTvJ6aQCePj4ddtqES+5JhKS7k0uJaK0zURmEYYjQaYTAYuDdT+XLbcX11LDrIa7YzRgePD93r9fDf//4XvV4PAPDrr7+6OkXmdK1TYtvmX431qcAxYKuIoarN5pUVqWwGRZEB2C7lV0FUisuOxNm9+qpejfP51ivzuS2KKj+sNCK/ah9rzlkFmwHw4XCIjx8/4suXL+j1ehgOhy7DYhdWvQhBTCKfimWHzGYz9Pt9LJdL/N///R/CMHQvoPGtJVGDGXgaz/MhJgfJrllWG0uFLckpAvyr3Wjg+wbDIkiSrRRFjyX+5Jnn+NrRCRfXLoWVk1onjtrbKogaO1RE1DRfkmmURFntQ+A7vHmKLyDcbDbo9Xr4+PEjoihCp9NxqkQFzPfwOvNVWPU+wNN9XBRZtF2fQOo5umBehdIX4gG2PU+ryn3mhGZQNJ1J4VCynq9FXmufEgU1MsH76/PTyeOan/F47F48njXPbG1HFfq0dNQtR3w3D8MQt7e3rkMbjQbOz8/xyy+/bNmKwNMXd6tg6YxX5PDZi2oqcLBsFTTJ2pFRFLmdU23yn1U5yiuALcFlWlEFV1EN2Fblqgmm06nbsdWukfF533RMFD0ZqOcy1el06rYT0TFbLBaYzWaYTCa4v7/Hp0+f3H7kdlOofZAx6/kHb0u363yd/b1eDzc3NwjDEM1mE2EYbsUA9TptRxHRoqdeY2Nvvo9tW5ezUhgZxrALk/R+alvaLUeYkdC1Mmpfqu1FnlmcwcX99OjX67V7L7NFe6vK+Tv3GuJuG5YsIlIAOYkU0bOO/T5oCBzpNblpaT6fo9/vY7PZoNPp4ObmBsvl0u0sy/ie2o1aLU2KEzAddKKgphZ1sGxnaQiDRQB6PT17hlF85WqKwMD2O5p1AtlcsfKr1TfkU6tpqHatHUyymRPtDz4j47x8J59W3fjCUPZ7Eu0jhMCBr8klJTGpaDcajfDu3TsUi0WEYYhyuew2e//rX//q9tdWu0gDzsB2PZ4iWBRFWyEgfdUFzwG21ynrs2iGgiVRWpkCbK8M5Hc+P+9h+bJlXdau83myagdz7QiLXpvN5tbifz6zfWeMz7mjoI9GI7x//x7v37/HeDzGly9fMBwOn+S9d41tlnN20VFTfHFeKWmxWGAwGCAIvpWlf/z40b1pnfFFDWjbHLCSDqg6ExpC0nidqmAdLOspq/BpcJjXkSctzLCOEPlSs8ROJuWHpPvgKH82YK1CRgHX117YtKnPW354eMD9/b3bvF29Ze3j70XPZiOSdLD0+jAM8fXrV7f50cXFBQaDAVqtFq6urtyGSDro6tVaO4s8qlCovcjvvtwur9H4pzolGjrx2ZqcLKr+NBOi55B/6wRwIvE5FOFoLlAoOTFsUFwRnSm/wWDgBI3fB4MB7u7u8PDwsKWSfTb0IcKYRU3vVRibxouKeyjOuF6vh3//+98oFov49OkTer0ems0mfvrpJ/zjH/9Au91GvV533rKWdCnCMXdMNFSksfYS+dBJxfM1tQXAvZOEyGbRTx0EbrQeRZFzFBi0pgBpraBu1Kn3zOcfN1qnIFIIWfSqW9QBj/FFPv9isXBCtlgs0Ov13NtH3717h9vbW0ynU9zc3KDX67lKKd33W/snDQD5HJTvHr5JurkyaAeR5WFEEr6JoFgs4ueff3ZZF5a/c2CtsHHAOGh2CzyioU+926wKEcU6TLbMStviufbNo7r/DPAYbNe1ImrKsK+08IM86D6TFEpbVaOoPpvNnCA+PDxgNBphOBzi5ubGRS36/T7G4/GTyRAncHHoqIi+r6MCHFkQd80a+z/RjdmXxWKB3377DZ1OB+12G+12G69evXIOiy6qpwAyIEz1TVKHgHYVgC2b0yK7Gvn0kImMFh1UaNVJ0UogjZFSsDjxyKNue+ILols1r8itFdTM1sxmM3z48MGZPYPBwAWr7+/vMR6PtxaW+bRbFnWsk0iPZaXMueY0atl3ne841UG/33ebNt3c3OA///kPyuUyzs/PcX197fbG7na77gU45+fn7jtThsw7a7gC2BZKLiK3Nh2wXRBBwabQa1iHgqepPw6Img+8Fni6+J87SxDtWKnE9hlUp4fOsM1ms3E2HVcnhmGI33//HXd3d5hOp3j//j1ub29d1oTxWrbPZ/GV2KnJYSkuWmIjEPvQ0ZYK7OPEqOPCjMJwOMT9/T3y+W/v8WMJWbfbxXQ6RaVSwXw+33qLVblcxnq9dl4jkVLVlYZRrJ2nHapOjfJpUYrHiIg0CVSwVX2qmtaYpGaI1I5moFkzSirsq9XKBcDH4zE+ffqE33//fcsWpJqmPWrt/KRxtprCRzruhwgh8AxFD/vYCtar1hIyoiVVT6lUwsPDAyaTCUqlEi4vL7Fer936k3q9/mTzdeBpjpb3tYKpgqR2mz4f1ahmX0i6mXtcUYd9/x7V5WAwcEtgiXa5XM7t0KU2K3P4zIp8+PABt7e37n+7eWnaMbGgkva6P8RG3IWASUxZW8LOKHp+QfBtn8XJZOIyCkTAWq2GZrOJcrmMX375BX/729/QaDRwcXGB169fu+UA+pIcDauo+rGbUtJk0EHUQDFVL9UdeaOzQiEDsBXbUwHq9/sYDAaYz+f4/Pkzbm9vEYYh7u7u0Ov1niClIqt68nyJpAol0VTR29fndkLGjZGOaRYZ+EO9ZouMaRjy2R0UABrfwHZBA19Qw5f3XF1dua3Vut2us/EUzWzn89421si/usBcEdFmamx4SPO76uRQELmg/eHhAbPZDF++fHGe7KdPn3B3d+fsS9s3VMn8cLmujRYozzZ09VLp2V8cfkg7cd6cpqL6/T5+++033N/fYzgc4uHhAaVSCZVKxS0V1ULUarXqMjiKWPa9LBpf5OSgGlW0BOAmBPBUNdst7tbrNfr9Ph4eHhwi0sMdjUYIw/CJSaD30vUlvhBQEmW1479XWwAQRClb5ID5jNm9bpxCaK360BAMDfhKpYJGo+E27KzValtbrNkCgHK57ALlfNFNLpdzQrxer7f2kdYBV2Glg5UUW7M8E3F1V4XxeIzpdOo8WbvVB+DfJYJ2qs/zTWMW+VSt77jvueIoLoTjeyXck2v3EcRjzIYsRrC1c+IC1Lorvr7qjMhEweXmobVaDY1GA8A3ZL2/v3exQ31FGIWDgrJerzGZTBw6qjlhCw18dp4Kk74yTQVXyZd+8/VNGmHyUVxYxkdp7cKsgvgszsqxaZeNw8GwaTpgu95Pzzk7O9uqiKbapXAwhqf2lwafuUrRFxT2IY+eo3+VV/tM+j3J5j7EYz2WEB5Ke8cR03jOeq79HqcaLMXNMp/9qEKoi/zV3tJiAlXBVLt0Vix6AU+zNTZ0Q0HPouZ88T2fwGYJqfjue6j9/tzAc/Cbp5JspCyUJZSQNItVUPR8XuMrGuX5RDurXvUeSZEB26bvXN8ETIOgPtSLO+7j7dA433PTUbcuJsUJaFwMMald3319sTE9nnSNPScOmXw87ELxNBPQ1ze7/vfdaxcPcZrkGOS7Z5pjSXTwWwWOAfmKKHbQNSDtu6dPuOMQIq7D9Posai8O+bLE7XZplH00TtJ9kwTaTtK437WdNBM4DR19OalPGA6xL9M+TBYHyoeGPi88jqek3w9F+iz3zMrjromRRhhtO0n8Z6Gj7xibhpl9O2xfjy7N/eJMj+8ZHbCUVnDs+VkmZJI9m/W6Q+hgQczCyC7bJ4sdGtdmWuSK+81n5Ke5V9aB2eWEZelXn4OXVqXvK0jHnqDPvmYlS9tp7/s9vL9DnjOt05KFdoW9vqdHHPd8h/Cw++UgJzrRd6DUKb4Tneg56YSIJ3oRdBLEE70IOgniiV4EnQTxRC+CToJ4ohdBJ0E80YugkyCe6EXQSRBP9CLoJIgnehH0/5t2gxK0R1MNAAAAAElFTkSuQmCC\n", + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 100: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00304]\n", + "Epoch 101: 100%|████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00281]\n", + "Epoch 102: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00374]\n", + "Epoch 103: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00435]\n", + "Epoch 104: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00424]\n", + "Epoch 105: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00353]\n", + "Epoch 106: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00509]\n", + "Epoch 107: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00329]\n", + "Epoch 108: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00366]\n", + "Epoch 109: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00379]\n", + "Epoch 110: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00335]\n", + "Epoch 111: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00367]\n", + "Epoch 112: 100%|████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00427]\n", + "Epoch 113: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00236]\n", + "Epoch 114: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00235]\n", + "Epoch 115: 100%|████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00248]\n", + "Epoch 116: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00408]\n", + "Epoch 117: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00376]\n", + "Epoch 118: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00507]\n", + "Epoch 119: 100%|████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00283]\n", + "Epoch 120: 100%|██████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.003]\n", + "Epoch 121: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00485]\n", + "Epoch 122: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00346]\n", + "Epoch 123: 100%|████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00338]\n", + "Epoch 124: 100%|████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00318]\n", + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [01:12<00:00, 13.85it/s]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 125: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00231]\n", + "Epoch 126: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00388]\n", + "Epoch 127: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00416]\n", + "Epoch 128: 100%|████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00245]\n", + "Epoch 129: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00435]\n", + "Epoch 130: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00393]\n", + "Epoch 131: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.0031]\n", + "Epoch 132: 100%|████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00241]\n", + "Epoch 133: 100%|█████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.0032]\n", + "Epoch 134: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00255]\n", + "Epoch 135: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00315]\n", + "Epoch 136: 100%|████████| 97/97 [01:15<00:00, 1.29it/s, loss=0.00352]\n", + "Epoch 137: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00245]\n", + "Epoch 138: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00301]\n", + "Epoch 139: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00411]\n", + "Epoch 140: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00247]\n", + "Epoch 141: 100%|████████| 97/97 [01:14<00:00, 1.29it/s, loss=0.00238]\n", + "Epoch 142: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00269]\n", + "Epoch 143: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00374]\n", + "Epoch 144: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00252]\n", + "Epoch 145: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00443]\n", + "Epoch 146: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00534]\n", + "Epoch 147: 100%|████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00356]\n", + "Epoch 148: 100%|████████| 97/97 [01:14<00:00, 1.31it/s, loss=0.00262]\n", + "Epoch 149: 100%|████████| 97/97 [01:13<00:00, 1.31it/s, loss=0.00305]\n", + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [01:12<00:00, 13.85it/s]\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKIAAABzCAYAAAAbkNmRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAABY0lEQVR4nO3ZsQ3EMAwAMfuR/VfWr+AmyCEhaxUqDmq0Z2YWPOz39AKwlhCJECIJQiRBiCQIkQQhkiBEEoRIwnU6uPe+cw9e7OR55yKSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJEGIJAiRBCGSIEQShEiCEEkQIglCJOE6HZyZO/fg41xEEoRIghBJECIJQiRBiCQIkQQhkiBEEv4g0QrjVFpv/gAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] @@ -619,13 +641,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "train completed, total time: 14937.766214132309.\n" + "train completed, total time: 11627.830752849579.\n" ] } ], "source": [ - "n_epochs = 200\n", - "val_interval = 50\n", + "n_epochs = 150\n", + "val_interval = 25\n", "epoch_loss_list = []\n", "val_epoch_loss_list = []\n", "\n", @@ -644,8 +666,13 @@ " # Generate random noise\n", " noise = torch.randn_like(images).to(device)\n", "\n", + " # Create timesteps\n", + " timesteps = torch.randint(\n", + " 0, inferer.scheduler.num_train_timesteps, (images.shape[0],), device=images.device\n", + " ).long()\n", + "\n", " # Get model prediction\n", - " noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise)\n", + " noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise, timesteps=timesteps)\n", "\n", " loss = F.mse_loss(noise_pred.float(), noise.float())\n", "\n", @@ -666,7 +693,12 @@ " noise = torch.randn_like(images).to(device)\n", " with torch.no_grad():\n", " with autocast(enabled=True):\n", - " noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise)\n", + " timesteps = torch.randint(\n", + " 0, inferer.scheduler.num_train_timesteps, (images.shape[0],), device=images.device\n", + " ).long()\n", + "\n", + " # Get model prediction\n", + " noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise, timesteps=timesteps)\n", " val_loss = F.mse_loss(noise_pred.float(), noise.float())\n", "\n", " val_epoch_loss += val_loss.item()\n", @@ -678,7 +710,7 @@ " image = image.to(device)\n", " scheduler.set_timesteps(num_inference_steps=1000)\n", " with autocast(enabled=True):\n", - " image = inferer.sample(input_noise=noise, diffusion_model=model, scheduler=scheduler)\n", + " image = inferer.sample(input_noise=image, diffusion_model=model, scheduler=scheduler)\n", "\n", " plt.figure(figsize=(2, 2))\n", " plt.imshow(image[0, 0, :, :, 15].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n", @@ -700,7 +732,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "id": "c7520419", "metadata": { "lines_to_next_cell": 2 @@ -708,7 +740,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAArsAAAILCAYAAADoqVT3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAABtfklEQVR4nO3dd3xUVf7G8WcmM+mFJLQAoRsQEYygWCgiiEizriKrSLOhIqKr+FNU7OCiK2IXccWOCrpKURAEFUVQQRBRDCCEnkJ6pt3fHyFDhmQgZZLchM971xfJnVvOnEySZ06+9xyLYRiGAAAAgHrIWtsNAAAAAKoLYRcAAAD1FmEXAAAA9RZhFwAAAPUWYRcAAAD1FmEXAAAA9RZhFwAAAPUWYRcAAAD1FmEXAAAA9RZhFwBq2Mcff6wOHTqoQ4cO2rVrV203BwDqNVttNwBA/XXttddqzZo16tixoz755JPabo5pxMTEqGPHjpIku91ey62pHIfDoYULF2rVqlX69ddflZ6ervz8fIWHh6tFixbq0qWLLrroIp111lm13VQAJziLYRhGbTcCQP1E2K2fFi9erCeeeEJ79+6VVBTYGzVqpPDwcKWlpSkjI8O7b7du3fTkk0+qZcuWtdVcACc4RnYBAOX20ksv6ZlnnpEktW3bVrfddpv69OmjiIgI7z5//PGHZs+erU8//VTr1q3T8OHD9dZbb6lt27a11WwAJzBqdgEA5bJ06VJv0B0wYIA++eQTDRo0yCfoSlJSUpKmTZum559/XjabTWlpaZo0aZI8Hk9tNBvACY6wC8DUtm3bpocfflgXXXSRTjvtNJ122mnq16+f7r33Xm3cuPGYx+7YsUOPPfaYhg4dquTkZHXq1Elnnnmm/vnPf+rtt9+Wy+Uq87jim8c+//xz/fnnnxo9erS6d++uq666yrvPtddeqw4dOuiBBx6QJH399dcaO3asevbsqc6dO6tnz5668847lZKSUur8/m5Q27Vrl3f7L7/8ovz8fL300ksaOnSoTj/9dHXt2lVDhgzRrFmz5HA4ymy70+nU66+/rksvvVTJycnq3r27hg8frk8//VSS9O6773qvURFOp1OPPvqoJKl9+/aaMWOGgoODj3nM+eefr5EjRyo4OFhNmzbVgQMHvI9NnjxZHTp00Pnnn+/3+PL209q1a3XVVVcpOTlZkyZN0osvvuh9fPfu3cds46hRo9ShQwcNHDiw1GOrV6/WxIkT1bdvX3Xu3Fndu3fX0KFD9dRTT/k8l6Pt3btX06ZN08UXX6zTTz9dnTt3Vq9evXTllVfq1VdfVXp6+jHbBCCwKGMAYFoLFizQlClT5HA4ZLFY1KRJExmGoV27dmnXrl1asGCBJk2apOuvv77UscuWLdPEiRO9obBp06YKCwvTnj17tHbtWq1du1YLFy7U7NmzFRoaWub1c3JyNG7cOGVkZKhFixaKiooqc7/Zs2dr+vTpioyMVNOmTeXxeHTgwAF99tln+vrrrzV//nwlJiZW6Lnn5+fruuuu0/r165WQkKCmTZtq165d+vPPP/Xnn39q48aNeumll3yOKSws1NixY/Xjjz9KksLDw9WoUSNt3bpV//rXv/Tjjz+qXbt2FWpHscWLF2vPnj2SpIkTJx436BabMGGCbrnlFkVGRlbquseze/duTZkyRR6PR82bN1dYWJiGDBmi//znP5KkJUuWaPTo0WUem5aWpjVr1kiSLr74Yu92wzD0yCOP6O2335ZUVJOckJCgrKws/fHHH/rjjz/03nvvadasWTr77LN9zrl+/XqNGTNGOTk5kqTGjRuradOmSk9P1/r167V+/XrNmTNHc+fOrfTXAkDFMLILwJTWrVun++67Tw6HQwMHDtTXX3+tr7/+WitXrtTq1at18cUXy+Px6N///reWLVvmc2x2drbuueceORwOJSUl6csvv9TXX3+txYsXa926dbrjjjskSWvXrtVrr73mtw3z5s1TQkKCVqxYoYULF5a574YNG/Tss89q6tSp+v777/X555/ru+++01NPPeVty6uvvlrh5//UU08pNzdX8+fP915/9erVuuCCCyRJy5cv188//+xzzEsvveQNuqNHj9b333+vRYsWafXq1br33nv14YcfatGiRRVuiyStWrVKkhQVFaW+ffuW+7iwsLBqC7qS9Prrr+uss87SN998o88++0yPPfaYEhMTlZycLKko7PqzePFiud1uWSwWDRs2zLv91Vdf1dtvvy2LxaKJEydqzZo1+vLLL/XDDz/ok08+0amnnqqcnBzdcsst2rdvn885H3jgAeXk5OiUU07Rl19+qVWrVmnhwoX6/vvvNW/ePLVp00ZpaWl68MEHq6dDAJRC2AVgSjNmzJDL5VK3bt30zDPPqEmTJt7H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RUslz5492/sGwOl06o033tBzzz3nd7S7PHr27KnJkyfLYrFo06ZNGjJkiN5++21lZGT47Ld582ZNnDhRkydPltvtVqdOnfT000/73HRXvOCGJE2bNs3npsTff/9dN9xwg/frWFXFpQzfffedd7W9knPrlhQZGambb75ZkvTll1/qoYce8il5SU9P1xNPPKGPPvpIu3fv9imRSUpK0r59+/Ttt99q6tSppebaTU1N9S4KEhcXV6WvBYDy4wY1ANVu27ZtfsNFScOHD/cu0NCtWzc9/vjjmjJlitatW6cBAwaoefPmstvt2rt3r7dU4ZxzztHdd9/tc54777xTN998s7Kzs3X55ZerWbNmslgs2r17t4KCgjR9+nQlJyfr5ZdfltPp1E033aTExETNmjVLbdu2DXwH1JA777xTa9asUWpqqqZPn64XXnhBTZs21d69e5WTk6PbbrtNhmF4lxSujFGjRikxMVGPPfaYUlNT9fDDD+vRRx9Vo0aNFB0drYMHD3rDb1BQkK644grdc889pUYxu3Xrpj59+ujrr7/WkiVLtHLlSjVv3lz5+flKTU3VqaeeqrvuuksjR46sUp9IRaPeLVu21N9//601a9aUWh74aOPGjVNqaqree+89vfvuu/rwww/VvHlzORwO7d+/3zs6e+ONN+qiiy7yHnfOOefopptu0ksvvaR33nlH7733nrdfsrKyvNPjhYeHa8aMGT5/hQBQfQi7AKpdYWGhdxnVYzl6KrBLL71U3bp103//+1+tXr1ae/bskdPpVIMGDXTWWWfp4osv1kUXXVRqmq7zzjtPr7/+ul555RX9+uuv2rt3r+Li4jR06FCNGTPGu7LZww8/rFmzZmn//v0yDMN0CyZUVKNGjfTRRx/phRde0PLly7Vv3z4dOnRIp512mkaPHq2ePXtq5syZkqo2ZVq/fv3Uq1cvLVy4UCtXrtSmTZuUlpamtLQ0RUZGKjk5WWeddZYuueQStW7d2u95Zs2apZdfflmLFy/Wzp07vSOlt99+u0aPHq2tW7dWuo1HGzp0qJ5//nlJRaPKCQkJfve1Wq2aOnWqBg0apPfff18///yzdu/eLYvF4i2xufrqq3XaaaeVOvaOO+7QeeedpwULFmj16tXat2+fDhw4oPDwcJ1yyik655xzdM0115huJTqgPrMYVZ3bBQBQZzz55JOaM2eO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eN1Imzdv1qpVq3TDDTeU+fgzzzyjIUOGqEePHrriiiu0ZMmSGm5h9Tr6d/WxXhPFr4ecnJxaf90QdlHrFi1apAkTJmjo0KG68cYbJRWNwISGhqply5Z69tlnNXPmTEVERGjUqFFas2ZNLbe4esXGxionJ0cjRozQ66+/rkmTJmnFihUaOXJkbTfNVN58801dfvnlPqO6kZGRcrvd6t69u1588UU99dRTOnTokIYPH35CjXrj+LZu3aoRI0aocePGmjFjhne73W5Xo0aN5Ha79dBDD+nVV19V7969NWXKFL344ou12OLqxfdO+fz3v//VKaecUuqmqtDQUDVu3Fg2m03Tp0/XCy+8oJNOOkkTJkzQggULaqexAVbW7+q6gprdGlR8V+LRI7iGYSg3N9f7+Ilk7ty5evzxxzVixAjdd9993vqnsWPHauzYsT77nn766Ro4cKBmzZqlN998szaaWyM++ugjn8+TkpLUqFEjjR49Wt99952k0q8hqejdcV2+67cifv31V6Wmpqpfv34+2++//36fz0866SR17dpVffr00auvvqonnniiJptZ44r/KnK810fxiExZ+1gslnr/s2jt2rUaP3682rdvrxdffNHn++b0008vdUd9ly5dtG/fPr3yyiu6/vrrq72+sDaU53vnRH/dOJ1OLVu2TKNGjSr12KBBgzRo0CCfbd26ddOOHTv03HPP6ZJLLqmZRlYTf7+rj/WaKPnzJjU1tcx9JNXI64aR3RpUXNS/Y8cOn+27du2S0+lU+/bta6NZtebdd9/VY489pkmTJmnKlCk+N42UxW63q3379vV+PtmydOzYUZK0f/9+JSQklHoNSUU3QLZr166mm1Yrli5dqpiYGCUnJx933+joaDVv3lz79++vgZbVrvDw8HK9Ptq2bet3n+bNmys0NLTa21pbfv31V11//fU688wz9cYbb5T7DeLJJ5+sgoICZWZmVm8DTeTo750T+XUjSWvWrFFWVpbOO++8ch/TsWPHOv8761i/q4/1mij582bPnj2l1hPYvn277HZ7mfcYBBphtwYlJiaqbdu2pSZSXrZsmWw2m3r16lVLLat5q1ev1sMPP6zJkyfr+uuvL/X4tGnT9O677/psczgc+v3339WmTZuaamaN++uvv3T33XeXmpC7eCGN1q1bq0+fPlq1apXPD47ffvtNu3fv1vnnn1+j7a0t33//vbp06eJzU4nD4dADDzxQqkYuMzNTf//9t1q3bl3Drawd5Xl9nHfeedq5c6e2bt3q3cfhcGjVqlXq27dvjbe5pqSlpenGG2/Uueeeq2effbbMEdp58+bp0UcfLbX9119/VXR0dKkb3OqD8n7vnKivm2Lff/+9wsLC1KlTp1KPvfLKK3r++edLbf/111/r9O+s4/2u7tOnj37++WdlZGR4tx08eFC//PKLz8+bwsJC718miy1btky9evWqkbnhKWOoYbfffrsmTpyoOXPmaMCAAdq8ebOef/55jRw5sl7+EC2LYRh65JFHlJycrMGDB+vAgQM+j4eHh8swDD322GNyu93q1auXcnJy9PLLL+vAgQP697//XUstr35NmzbVjz/+qM2bN2vy5Mlq2bKltmzZoscee0wnnXSSzj//fHXq1En/+9//dN999+nmm29Wdna2pkyZoq5du5b6s359lZKSoqFDh/psCw4OVkZGhu6//37l5+erW7duOnDggJ555hkFBQXpmmuuqaXWBlZmZqY3yLrdbhUWFnq/h6KiojRu3Ljjvj4GDBigk08+WXfffbceeughRUZG6vnnn5fT6dS4ceNq7blV1fH65tlnn5XD4dBdd91VakU9u92uBg0aKC4uTm+99ZacTqdGjBghm82mRYsWafHixZo4cWKVZzSoLcfrm/J875yor5viEeuUlBS1aNGizOnGwsLC9PTTT8vj8WjQoEFyu9169913tWHDhjr7O6s8v6uvvvpqvfXWW7rrrrt09913S5KeeOIJNW7cWFdeeaUkqWvXrurbt6+mTp2qJ554Qs2aNdNbb72lv/76S48//niNPBeLYRhGjVwJXp9++qlefvll7dixQw0bNtQVV1yh8ePHH/fP+PVFamrqMUcgb731Vo0fP15z5szR/PnzlZqaKovFolNPPVXjx48vNVdffbNr1y49++yz+uGHH5Senq4GDRqob9++uuOOOxQXFyepaLRg2rRp2rBhg0JDQ9W3b19Nnjy53qwSdiwej0cnn3yybrrpplLLeubn5+ull17SokWLtGfPHoWGhqpbt266/fbbdfLJJ9dSiwPr2muv9XuT5hNPPKHLLrusXK+PgwcP6oknntDKlSvlcDiUnJysyZMne0tm6qLj9c2sWbPKrB2UpDPPPFNz586VVFQm89prr+mvv/5SQUGB2rRpoxEjRmj48OHV1vbqdry+ueiii8r1vXMivm4uu+wySdI111wjl8ul9957r8x9P/zwQ7399tvasWOH3G63OnTooLFjx+rCCy+strZXp/L8rr7tttu0Y8cOPf7441qzZo0sFovOPvts3XvvvWrRooV339zcXE2fPl1ffPGFcnJydPLJJ+vOO+9Ujx49auKpEHYBAABQf50YQ4kAAAA4IRF2AQAAUG8RdgEAAFBvEXYBAABQbxF2AQAAUG8RdgEAAFBvEXYBAABQbxF2AQDHdO2116pDhw7eZasBoC5huWAAqCa7du2q0BLOxSsSAQACh7ALANUsLCysXCE2OTm5BloDACcWwi4AVLOQkBCNHTu2tpsBACckwi4AmMzkyZM1f/58TZs2TY0aNdKsWbO0ZcsWGYahDh066KabbtJ5551X6rilS5fq7bff1m+//abc3FzFxMQoOTlZY8eOLXPUeO/evXrhhRe0cuVKHTx4UDExMerbt69uvfVWNW3atMy2rV69WjNnztTvv/8uSTrllFM0adIknX766T77/fzzz3rttde0fv16ZWRkKDIyUomJiRo6dKiuueYaBQUFVb2jAKAcCLsAYFI//PCDFi1apAsuuEA9e/bUrl279Omnn+qmm27SCy+8oPPPP9+778yZM/X8888rNjZWAwYMUJMmTfT3339ryZIl+uqrrzRjxgxddNFF3v1TUlI0fPhw5efna9iwYWrRooW2bt2qjz76SF9++aXmzZunli1b+rTnu+++0+uvv65hw4apT58+Wr16tb7//nuNHTtWCxcuVEJCgiRp7dq1uu666xQaGqqLLrpIzZs3V3Z2tr7++ms9/vjjWr9+vZ5++uma6UQAMAAA1WLnzp1GUlKSceaZZ1bouHvuucdISkoyOnToYKxatcrnsQ8//NBISkoyBg4c6N22adMmo0OHDsaZZ55p7Nmzx2f/H3/80ejYsaNxxhlnGHl5ed7tl112mZGUlFTq/G+99ZaRlJRk3Hjjjd5t11xzjZGUlGScddZZxrZt27zbPR6PMWrUKCMpKcmYM2eOd/ukSZOMpKQkY8WKFT7ndjgcxtVXX21069bN2L17d4X6BAAqi5FdAKhmhmFo165dx9zHbrerSZMmPtuSk5PVs2dPn22XXHKJpk2bppSUFO3cuVOJiYlasGCBDMPQiBEjSpUfdO/eXT169NDq1au1atUqDRgwQJs3b9bGjRvVsWPHUue//PLLlZqaqsaNG5dq45VXXqnWrVt7P7dYLOrVq5e+++47paamercfOnRIkkqVKtjtdr355puy2fjVA6Dm8BMHAKrZoUOHjjsFWceOHfXJJ5/4bDu6DlYqCpBt2rTRL7/8opSUFCUmJmrjxo1+95ekLl26aPXq1dq0aZMGDBjgnS/35JNPLrVvaGio7r777jLP07lz51LboqOjJUk5OTnebX379tWqVas0adIkjR07Vv3791e7du0kiaALoMbxUwcAqllERISmT59+zH0iIyNLbYuPjy9z3wYNGkiSsrKyJElpaWnH3D8uLk6SlJGR4bN/cVAtr7L2t1qL1iYyDMO77Z///Kdyc3P10ksv6emnn9bTTz+tRo0aqWfPnrr00kvVo0ePCl0XAKqCsAsA1cxut6t///4VPq44SB7N4/FIKprSTCoqJ5B8A2dZ+xfvV3xeh8NR4TaV1w033KCrr75aK1as0DfffKNvv/1W8+fP1/z58/WPf/xDjz76aLVdGwBKYrlgADCp4pHYo2VmZko6MpJb/G/xiO3R0tPTy9y/eHt1iYqK0tChQzVt2jStWrVKs2fPVpMmTTRv3jytXr26Wq8NAMUIuwBgUuvXry+1zeVyadu2bZKkFi1aSJJOPfVUSdK6devKPM9PP/3ks1/xv2vXrpXb7fbZ1+PxaOLEiZowYYJcLlel2n3o0CGfG9akolHlnj17aty4cZKkTZs2VercAFBRhF0AMKkffvhBP/74o8+2jz/+WNnZ2erUqZN39obLL79cVqtV7733nvbs2eOz/7fffqt169apSZMm3pkXOnTooFNOOUVpaWn6+OOPffZfuHChFi1apNzc3ErdTJaRkaFzzjlHo0eP9s7KUFJxyC2ekxcAqhs1uwBQzQoLCzV79uzj7hcSEqJrrrnG+/nFF1+sG264Qf369VObNm28i0oEBQXpX//6l3e/k046SRMnTtTTTz+tyy67TAMHDlR8fLxSUlL05ZdfKjQ0VNOmTZPdbvce89hjj+naa6/VAw88oB9++EHt2rXTX3/9pUWLFikyMtLvjAzHExsbq5tvvlnPPfecBg8erP79+6tp06bKz8/XTz/9pDVr1uiUU07RBRdcUKnzA0BFEXYBoJrl5+cfdzYGqajGtWTY7dy5sy6//HLNmjVLy5cvl8fjUZcuXXTbbbfpnHPO8Tn2xhtvVPv27TV37lx99tlnys/PV1xcnAYOHOh9rKSTTz5Z8+fP16xZs/Tdd99p8eLFiomJ0eDBg3XrrbeWWj2tIm699VZ16NBBH3zwgZYuXarMzEzZ7Xa1bt1aEyZM0HXXXafg4OBKnx8AKsJi+Lt9FwBQKyZPnqz58+drypQpPuEXAFBx1OwCAACg3iLsAgAAoN4i7AIAAKDeIuwCAACg3uIGNQAAANRbjOwCAACg3iLsAgAAoN4i7AIAAKDeIuwCAACg3iLsAgAAoN4i7AIAAKDeIuwCAACg3iLsAgAAoN4i7AIAAKDe+n8uW5roVaoDOgAAAABJRU5ErkJggg==\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsQAAAILCAYAAADv64riAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB7LUlEQVR4nO3dd1gU1/4G8He20KuAIIINBWPvlSjWWNDERL0pGluaxp/15moSr4kxemOiJteYxJvY0puxJMYWJdHYe++INBGRXha2ze8PZNwRUFZ2ZUfez/PwuDv17JcF3z2cOSOIoiiCiIiIiKiaUlV1A4iIiIiIqhIDMRERERFVawzERERERFStMRATERERUbXGQExERERE1RoDMRERERFVawzERERERFStMRATERERUbXGQExERERE1RoDMRGRA1q7di0iIiIQERGBpKSkqm4OEdFDTVPVDSCi6m3kyJE4ePAgGjdujA0bNlR1cxyGt7c3GjduDADQarVV3Jr7k5ubiw0bNmDv3r04f/48MjMzodfr4eHhgTp16qBNmzaIjo5G8+bNq7qpRFTNCaIoilXdCCKqvhiIH07ffPMN/vvf/yInJwcA4OzsjICAAKjValy/fh1FRUXStr169cLcuXPh5+dXVc0lomqOPcRERGRTs2fPxo8//ggAaNOmDV599VV06NABTk5OAABRFHHs2DGsXr0aW7duxY4dO3D58mX88MMPqFGjRlU2nYiqKY4hJiIim1m9erUUhkeNGoXvvvsOkZGRUhgGAEEQ0KZNGyxZsgRvvPEGACA+Pl56TET0oLGHmIgULyEhAV9++SX27t2L69evw2w2w9/fH+3bt8eIESPQrFmzcvdNTEzE119/jf379yMxMRFFRUXw8PBAo0aNMGDAAPzjH/+ARlP6V2VERAQAYPHixahXrx7ee+89nD59Gr6+voiJiQEAPPnkkzhz5gyee+45zJ49G3///Te+/PJLnD17Fjk5OfD19UXHjh3x6quvon79+rLjr127Fq+//joAYMeOHQgJCQEAXLx4EYMGDQIArFmzBhEREVi5ciV+//13JCUlwWw2o06dOhgwYADGjRsnC6IlDAYDvvnmG/z222+Ii4uDSqVCgwYNMHz4cAwdOhTffvst5s6dC19fX+zfv7/C34eMjAx89NFHAIAuXbrg9ddfhyAId91n1KhROHTo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7Vi3bh1OnjyJxMREuLu7o2HDhoiMjMTw4cNL3UlQpVJh4cKF6NevH3799VecPn0aN2/exI0bN+Du7o7WrVujW7dueO6552QXQRKRfQliZeesISKih8p7772HVatWISIiAr/++mtVN4eIyO44hpiIqJoRRRG5ubnlri+Z/iw4OPhBNYmIqEoxEBMRVSOzZ89G69atMXTo0DLn901JSZHG5NrqgjUiIkfHQExEVI20b98eOp0OV69exeuvvy6bdi4uLg6vvvoqDAYDfH19MWTIkCpsKRHRg8MxxERE1cw777yDb7/9FkDxhWvBwcEwGo1ITk4GUDwt3SeffFKp6deIiJSEgZiIqBr6+++/8f333+PSpUtITU2FWq1GSEgIunbtilGjRkk3xSAiqg4YiImIiIioWuMYYiIiIiKq1nhjjkpISyt/2qLKUqkE1KjhjoyMfJjN7MS/F9ar4lgr67Be1mG9Ko61sg7rZR3W67aAAM97bsMeYgelUgkQBAEq1f3fKao6Yb0qjrWyDutlHdar4lgr67Be1mG9rMNATERERETVGgMxEREREVVrDMREREREVK0xEBMRERFRtcZATERERETVGgMxEREREVVrDMREREREVK0xEBMRERFRtcZATERERETVGgMxEREREVVrDMREREREVK0xEBMRERFRtcZATERERETVGgMxEREREVVrDMREREREVK0xEBMRERFRtaap6gbQvd3ILMDyjedQy88No/s3hiAIVd0kIiIiusO8eW9j8+aNFdr2jTfewoABgyp9zsjIdmjVqg2WLv280seqzhiIFWDPqeu4nJyNy8nZ6N0uFKE1Paq6SURERHSHsWNfwlNPDZcte+GF51GvXn3MmjVHtrxWrWCbnHP58q/g5uZmk2NVZwzECqA3mqTHuiJjFbaEiIiIylOrVnCZQdfZ2QWNGze5676iKMJkMkGjsS6a3eu4VDEcQ6wAKoshEqIoVmFLiIiIyBZWrPgfIiPb4ejRw5gyZQJ69eqKbds2S+s3b96IV14Zi4EDe6FXr6549tmn8Pnnn6KgIF92nMjIdpg48SXp+bJlSxEZ2Q5xcVfw3//+F088MQA9e3bB008PwXfffcUcUQ72ECuASnU7EJv5PiYiInpofPHFZ2jWrAVGj34BISGhAICff/4B//3vQnTv3gNjx74EjUaDPXv+xldfrURC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IttiIFYYizzMO9URERER2QADscJwlgkiIiIi22IgVhiOISYiIiKyLQZihbGcZUJkIiYiIiKqNAZiheE8xERERES2xUCsMIKKQyaIiIiIbImBWGEse4g5ZIKIiIio8hiIFYazTBARERHZFgOxwljOQ8xATERERFR5DMQKI1heVGeuwoYQERERPSQYiBWGs0wQERER2RYDscKoLL5jvHUzERERUeUxECuMrIeYs0wQERERVRoDscKoOA8xERERkU0xECuMwFkmiIiIiGyKgVhheGMOIiIiIttiIFYYzjJBREREZFsMxAojcAwxERERkU0xECuM5Z3qOGSCiIiIqPIYiBVGPssEAzERERFRZTEQK4wADpkgIiIisiUGYoWR9RAzERMRERFVGgOxwsjGEHPIBBEREVGlMRArDMcQExEREdkWA7HCyOYhNldhQ4iIiIgeEgzECsMeYiIiIiLbYiBWGIshxAzERERERDbAQKwwlj3EvDEHERERUeUxECuMbAwx8zARERFRpTEQK4xg8R3jkAkiIiKiymMgVhjLHmIOmSAiIiKqPAZiheGQCSIiIiLbYiBWGEHgtGtEREREtsRArDAqi+8Yb91MREREVHkMxAojv1MdAzERERFRZTEQK4z8TnVV2BAiIiKihwQDscKwh5iIiIjIthiIFcYiD/OiOiIiIiIbYCBWGBVnmSAiIiKyKQZihbEcQ8w8TERERFR5DMQKwzHERERERLbFQKwwgsV3jEMmiIiIiCqPgVhhLHuIRXMVNoSIiIjoIcFArDC8qI6IiIjIthiIFYbTrhERERHZFgOxwshnmWAgJiIiIqosBmKFkc8yUYUNISIiInpIaKq6AXezZs0arFq1CgkJCfD19cXgwYMxadIkODk5lbm9Xq/HkiVL8NtvvyE9PR116tTBuHHj8NRTT0nb9OzZE8nJyaX2bdSoETZu3Gi312Irlj3EHDJBREREVHkOG4jXr1+PWbNmYebMmejduzcuX76MmTNnIjs7G3Pnzi1zn7fffhsxMTGYN28eIiIiEBMTgzfffBNOTk4YNGiQtN3YsWMxduxY2b4ajcOWQoZjiImIiIhsy2GHTCxduhQDBw7E6NGjERISgqioKEyePBlr1qxBSkpKqe2TkpKwbt06TJs2Db169UJISAief/559O/fH0uXLpVt6+bmhoCAANmXr6/vg3pp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\n", "text/plain": [ "
" ] @@ -746,7 +778,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 13, "id": "092eb6a0", "metadata": { "lines_to_next_cell": 2 @@ -756,7 +788,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [00:51<00:00, 19.50it/s]\n" + "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [04:18<00:00, 3.87it/s]\n" ] } ], @@ -770,13 +802,13 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 14, "id": "5dc3e69d", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiUAAAG7CAYAAAAc6eVFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAwK0lEQVR4nO3d2W9dZ/n28bt1RjuzMzmJMziD06YZaFoateUn1EmooggJtRQxnAF/ABJHnHHGP0IlzipAQoiCVKFOpAkZmtmJncSJpyTO6CRO+zt4X6T3lZ7r6vbTlc3d9vs5fB7u7bXXXnv1ZmtduR/57LPPPgsAAID/skf/2wcAAAAQQVMCAACSoCkBAAAp0JQAAIAUaEoAAEAKNCUAACAFmhIAAJACTQkAAEhhVqv/w9mzZ8/4xdv577LV/K1HHnlkxq/namb6Wu1Wc+xNqzmv7vw1+XnUnh/1erXHneEae/TR8v9fafqzcDJ8b2reb9M17aSOz322n376aWN/x2n6++SOu8mah6HmHtbOc65MT09/7v+GX0oAAEAKNCUAACAFmhIAAJACTQkAAEiBpgQAAKRAUwIAAFJoORKcJbKmZIi7KpmPLULHPyN0BK42IlhzLjJE2Rz1ejXntebvuL3az6Lm+970PaJdscymo+DtPIYaNZ97zfepNp7a9D/vUHN8ivtOZ5A9ltyK3GcYAAB8bdCUAACAFGhKAABACjQlAAAgBZoSAACQQiPpm+zpkiY1/WR4TV3TKYd2DhBrcoiZq2vncLgMn1PTaZkM3+l2Jf6avpabPoZ2Xss156Kjo6O47oa4zps3b8Z/58GDB3LPpWKmpqZmtP55r1ejXfeIdqaaapJareCXEgAAkAJNCQAASIGmBAAApEBTAgAAUqApAQAAKdCUAACAFFqOBDtNxp0yxPNqqRhZ7fA69Xouaufcu3evuD5rlr4Mao7h9u3bck/FB6enp2XN/fv35d5M/06t7LHkGhm+M+2M2Nccg9uriY02fa00/Xo19/JNmzYV13/605/KmsuXL8u9iYmJ4vrdu3dlzTe+8Q25d+PGjeL6e++9J2vOnDlTXL9+/bqscfcwdZ9315CLQNd8ThmulVbwSwkAAEiBpgQAAKRAUwIAAFKgKQEAACnQlAAAgBRaTt+060n9pgcKuRqX0FB1Li3T1dVVXO/v75c1GzZskHudnZ3F9ZUrV8qa+fPnyz315LhL0oyOjhbXly1bJmvUeXB17rgHBwflnnqCfnJyUtaMj4/PaD3Cf+5NP1lfo12JlHamRL6KQwabVvOeXI1K4rnve19fX3H92WeflTVXr16VewsXLiyu//3vf5c17p7zxBNPFNd37dolaz744IPi+qlTp2SNu0+p+6hLKrp7Tk1N08NQlS86zJBfSgAAQAo0JQAAIAWaEgAAkAJNCQAASIGmBAAApEBTAgAAUmhkIJ+KFNVEjWrjSWrP1Sxfvlzuqdjt1q1bZY2K/m7btk3WqNhvRMTY2Fhxfe3atbJGxeki9JCp9evXy5rz588X1zdu3Chr3GAqFcN252Hv3r1yTw3iunLliqxRw8BGRkZkzZEjR+TeiRMniutukODU1JTcU3HhmsGOX+YBlzWajhg3fR4ynFf3XVPRX/d97+npKa67QZ/r1q2Te+qfB6i5V0bo+/zcuXNljbqX7969W9acO3dO7qn7kRsKePz4cbmn7rHtvL4YyAcAAL7SaEoAAEAKNCUAACAFmhIAAJACTQkAAEiBpgQAAKTQSCRYqYnn1cR+I3SM7Dvf+Y6sefPNN+WeinO6aZlLly4trrtpxJcuXZJ7KgKnpv1GRNy5c0fuqdioi6eqaLSbBOmisCq619vbK2vcFGMVR3TxQbX35JNPyprnnntO7l27dq247mLJ8+bNk3tqgqqKHkfoaOGNGzdkjfucXKxbyRB3bec/Q9Dk5OOmpy+7qbnPPPOM3FPRXxcJVpNuFyxYIGvcP2ugJurevHlT1rjrXEWTlyxZImvUvdLdy93UYfWdnpiYkDUXL16c8evVaOfk71bwSwkAAEiBpgQAAKRAUwIAAFKgKQEAACnQlAAAgBQeavqm5ql2l+pwr/fKK68U13/84x/Lmjlz5sz4b7lBUirV4dIjLvminsx258g9za2SPqtXr5Y1asDfvXv3ZI0bdKieyHdPbLun+NVQLXfO1efk0igbNmyQe+r9qkRYhH66P0K/J5ck27NnT3H9wIEDssYN/BocHCyuu3NUMzDQaXrgV01dbTKnSe7vqGvlqaeekjU/+clP5J66Zt13WiVBXMLGvadbt24V111ibXh4uOpvKerY3ZDBCxcuyD01ZFMNFI3w155K26lho5/3ejWafr3/4JcSAACQAk0JAABIgaYEAACkQFMCAABSoCkBAAAp0JQAAIAUWo4E18R/aqJYrub73/++3PvhD39YXHfD61xMUcWF3fGpAU9uSJ4bRKdez0WZ3RC4gYGB4rqKFUboAYQqthfho3sqjuuO2w0tVMehhiNG6OFdLp7tPsNVq1YV19UwwwgfqVaxw7t378qaLVu2FNe3bdsma9zAr/379xfX33nnHVnjPsMm471NDxB7GH+rSe6fAFi/fn1x3cXHt2/fLvdUlN7F29V9yp1vd+9VdWr4ZoSOsEfofyZBfWci9HdwcnJS1rj3tGjRouK6GyTo4sLq83jrrbdkjYol18beH9Z3g19KAABACjQlAAAgBZoSAACQAk0JAABIgaYEAACkQFMCAABSaDkSXBP/cVE25fHHH5d7v/zlL+WeioC66GpHR4fcm56eLq6796QmqLo4ndPV1VVcd/FUFRGM0DE3dx5UvNedVxdZVtwU0pGREbmnzvnQ0JCsuXnzZnFdxZUjIsbGxuTe7t27i+sqghcRsXjxYrlXc+2pz712qq+qU7HyiIhr167JPXUu3DGoqGI7I4zub9Xc39TruWNzEXv1Twq4SLy7zt3EcMXFWhUXiVfR/BUrVsga9U8XROjvrvsnANR0dHcvd+dcfZ/ce3L/nIX6b4A7PnXPbtd071bxSwkAAEiBpgQAAKRAUwIAAFKgKQEAACnQlAAAgBRaTt84NU/Jq7TF66+/Lmvc081qWJlLgrg99XS4e7K45ulml6RRT427JIgb8KcSGu74bt++XVzfsGGDrHFpAZVYcE/jL1iwQO6pz92lTtRT7W7wn3tS/+OPPy6u79y5U9aoAV0R+vjUsLQI/RS/S0a4VFN3d3dx3Q0xO3v2rNxTyZx2Pt2v7kc1KZqavxNRd+wuEaOSNOfPn5c1jz32mNyrGQKqUn0qRfZ5e1evXi2uu3ulS7GsW7duxsdQk6RUqb4IPfTU1bh7mEoHvfDCC7JGDdN0x+AwkA8AAHyl0ZQAAIAUaEoAAEAKNCUAACAFmhIAAJACTQkAAEihkUiwioSpGFRExL59+4rrKr4VETE4OCj3VLzLxVNdbO5b3/pWcV1F5iLqIoduaNsnn3xSXH/vvfdkTX9/v9x7/vnnZ1yj4rguDqauB8fFfp2aOLr6W5s3b5Y1KnocETE5OVlcX7NmjaxRwxYj9LWs/o57PXfcLmKvIqBu8JnbU8deM5DPaXroXtPHp+4F7vp/8cUX5Z66H7lhbu6eqL67Ljaqjt1Fbt157enpKa67CLsbcKli7O7eq/55BxfLd+9X/a3R0VFZo/45hgj9T2q88sorskYN0zx69KisqcFAPgAA8JVAUwIAAFKgKQEAACnQlAAAgBRoSgAAQAotxyRqnqhVw6IiIvbu3VtcV0PjIvxQNPW3XALi29/+9oxfzw2FUk+ud3R0yBo3dGnXrl3F9fHxcVnjnub+61//Wlx3T+Orp7xrhk9F6Cf11YCpCJ/mUX/LJSPUU/IuJeWSJWo4oRve5QbRqTr3ntR15D7blStXyj01QM8Nczt58qTcU8kJlXKIaD5JU5OWaZp6Ty7V8fjjj8u9vr6+4rq7T7mkiqpzSRWV8HKf7dDQkNxTwzndfWXt2rVyT/1344MPPpA16h7x8ssvyxr3GSrq/hrh70erVq0qrruEkqo5ceKErHGJoprkYyv4pQQAAKRAUwIAAFKgKQEAACnQlAAAgBRoSgAAQAo0JQAAIIVGIsEq3uhioxcuXJjRa0X4WKaK8Kp4WUTEjRs35J6KWLqIlIpfutivi7mp4YTPPvusrDl06JDcU9FaFzFW52jFihWypiaOWxM9i9CD49z1qiKM7noYGxuTe+r8uQF6q1evlnsqAqrea4SOD7o4tYssqwjoxo0bZY0ashmhh0u66GrTkcMvOiisCerY3fXg4rjq/Ll7jrsu1T3HXUfqnu0+23Pnzsm9Y8eOFdeffPJJWePe77/+9a/i+v79+2XNnj17iuvu2nNDNtXxLVq0aMY1ERGnTp0qrl+6dEnWqBi2+zu1wyq/CH4pAQAAKdCUAACAFGhKAABACjQlAAAgBZoSAACQAk0JAABIoeVIcA0X85yYmCiuX7x4Uda4qaZqEq+L3LponIqzDQwMyBoVCXbTkmv23ORjN2X59u3bxXU3zVNFt12NiwurY3Bx3CtXrsg9dR2dP39e1qgJuC4+fvbsWbmnJhyrqZwRPt6oPnd3varp0C6W76ZXq8mqbnKpmz6r9txUU6XpSHA7JwurY3Df2x07dsg9NZnWfbZuom5NDFtF1dVE8Ah/rZw+fbq47qbZuki1+l67+6ia/O2i0e6cK+776e57as/Fx9Vn6L7T7p/oeFj4pQQAAKRAUwIAAFKgKQEAACnQlAAAgBRoSgAAQAotp29qnkJ3NSod8dFHH8maF198Ue6pQUTuaWn31LF6knpwcFDWqNSEGyRYM2RNDZSL8AkllRJx1JAplWCJ8AOe1NPh7thUwiYi4vDhw8V1N/BLDaZyiQBny5YtxXV3vbrPaXh4uLju3pM6524omvtuqNdzaTb33VApA5dYcNeRUnOfcoPFmh5Ipq7/vr4+WeOSOVevXi2u9/T0yBp3Tai03aZNm2SNuk+5a8Wlz9T1r4bQRfj7kfquqe9thL5nu3OnklAR+j25tIy7R6i00fXr12WNupe743bfwYeVzOGXEgAAkAJNCQAASIGmBAAApEBTAgAAUqApAQAAKdCUAACAFB5qJNhFhlQUSg1CivBD2xQ1JC+iblifOwYVCXaxRxcrVDHK8fFxWeOowVRu8NORI0eK6y7K5s6ritS5eKqL4anPww0DU4O41BC6iLp4u3tPKsoZoSPLR48elTUqNr1o0SJZ4wYnqmul5np1x+EG8rUr3lsT7a09BjWk1A3mdIMYVRzXDcxU/3xChD5H7vuu9tz17/6ZhKeffrq47gZcuriwijMvX75c1qjzWvPZRuh7iztuN4hR/TfFDbRV11jTQye/KH4pAQAAKdCUAACAFGhKAABACjQlAAAgBZoSAACQAk0JAABIoeVIcA03hbe3t7e47iY3ujiumjI7f/58WePiwipS6uKpLvqruHOkYpQuau3iuGfPni2uu1iaiq66OOnSpUvl3tq1a4vrbkrw2NiY3FPRwk8++UTWqHiemqIZoaenRkTs37+/uO7e0+9+9zu5p649F7nduHFjcd1dK93d3XJPxRtVVDjCf+7q/J04cULWKE1P7nXc66k9d3wqJuum3F6+fFnuqe+7iqlH+Oi7mj7r4q4qEuyuPTeZVt0j3L3SRWHVPcJd/+rYXTTaTdRV9wI3mdx9huo4XHxcHYP7nP4bcWF+KQEAACnQlAAAgBRoSgAAQAo0JQAAIAWaEgAAkEIjA/nUU+juyXX1ZLEbDtfX1yf3VCrGPTWuhphF6Kfk3YAzxQ0dcwkgdezuHLm9gYGB4rr7bJcsWVJcd0kj94S6Oq+uxg3OUk/WqyFcETrp4NIy169fl3t/+ctfiuv/+Mc/ZM1vfvMbuferX/2quP7CCy/IGvW51yYgVMrGDXpTwxsjIk6fPl1cd4mFmiSNu5ZVeqM2YVAz4E/tuaSFS125JI3i7jkq4eiu/zlz5sz477hzru4t7lo+fPiw3Nu+fbvcU9TnVDN0L0Ifu7v+3X831H3ZpXlUqqlmiOXDxC8lAAAgBZoSAACQAk0JAABIgaYEAACkQFMCAABSoCkBAAApPNSBfC4+NTw8XFw/dOiQrFHDoiJ0LM3FnVyES8VG1bC0CB1LdsO2XCxTDTFzA7rc31J7nZ2dskYN3nPDsdzQQhWBW7lypaxxx6cixu74VMTYxd82b94s937xi18U199++21Zc/DgQbl3/Pjx4vqePXtkjToPt2/fljXuu6HOn4uuHjt2TO65a1ZperheTbyxpqbmvLp7pYvjqiGSQ0NDssZdy2qAqbuO1PG5mL+776n7srrGI/xwPXUc7nO6e/ducd0NpHT3HBWPdue1p6dH7ql/vsBdKyruXXO9RviI9hfBLyUAACAFmhIAAJACTQkAAEiBpgQAAKRAUwIAAFJ4qOkb91Tv2NhYcf2Pf/yjrJk7d67cW7NmTXF9w4YNskY9aR6hn1R2A+/UsLLR0VFZ456WVufIPfXshnepJ8fdcD11jtzT7mpIXkTdgD9HpRbcU/LqKX53Xt3npJIEL730kqx5/fXX5Z46F+7aU981lSKI8OkIldSqHSDWdJJGqRkc2jR3Hak0g0v1LV26VO6pa9kl1tx1pAaOus9dpe1qBj5G6ESKSxa6+7w6ty4lqK5l951xAwjV56TSjRF+QKi6xty1p865Sz5eunRJ7j0s/FICAABSoCkBAAAp0JQAAIAUaEoAAEAKNCUAACAFmhIAAJBCy5FgF6drctCVGyS1f//+Gf8dN3Rv3bp1ck9FQN0AJRXHckONxsfH5Z6KGLs4nYuErV27trje398va3bu3FlcV9HBCB/vrY3+Kur9unieihG7gV8uWquihe5acXFJFX1XEXFX447bXXuKi1EODg7KPXccSs3Ar5rYr7t/uT31vXY16nPft2+frOnr65N7Kqrrrq+aAaHu9dS90n3X1QDVCH3fc/dy9U9CROjvobuPXr16tbiuBiBG+OOrGQro9tSxu8iyGkTqamq+G+6/d63glxIAAJACTQkAAEiBpgQAAKRAUwIAAFKgKQEAACnQlAAAgBQaiQQ3ycUAP/zwQ7m3ePHi4rqb1Do5OSn3VGTNxafU5Nyenh5Zs2vXLrmnImZuYqeLwqrjU+cuQn/u7ty5yZLqvLromXu/am/VqlWy5uLFi8V1F3d1MUp17C5y7v6Wilu7qdbqM1TTriMiJiYm5J6KgJ45c0bWuOmzNZFIxd0jal6v6X/uwL1ezT8b4KKmqs5Nzd20aZPcU9y1or6Drsado+PHjxfX3bXsJshv3ry5uO7uYYr7nNyeiiW777SbHK2uS3ce1D954KLRNZHlmu/M/4tfSgAAQAo0JQAAIAWaEgAAkAJNCQAASIGmBAAApNBy+qaGewq35sldN+Ds3//+d3F9/fr1ssY9qawSEC59o55u7u3tlTXuSXj1NLdLbrhBV2pwlhuWpobXuYTNyZMn5d7NmzeL652dnbLGfU5qQJZLaKiBX+5Jc3eOTpw4UVxfsWKFrHHD/1SCSqWGIvQAMTdIzX1Op06dKq7/85//lDUubaGu5XYN3XNq0wI170kladT9K8IPm1P3N/edUSm8iIjR0dHiuhuup/6Wu0+5RNGFCxeK627go0voue+Aou6jLmHm0jLq/uZqXCpGnVt1v46IOHv2bHHdpZq+aJKmBr+UAACAFGhKAABACjQlAAAgBZoSAACQAk0JAABIgaYEAACk0HIkuGYIVtODrpxz584V19966y1Zs2/fPrn37W9/u7i+cOFCWaPiwjXD3NzrqVhtRMSSJUvk3sjISHHdDa8bHh4urruIrIu7qmici8+6SLW6xlxEUJ1XN1Br6dKlcm/btm3FdXce3N9ScVwXR1TR0D/96U+y5p133pF7KmLsIodOk4Py3HemnRFG9bfce1XRWnfcKvYeoa9zF8d10XIV63YRXvXdcPcIF0c/cOBAcd3Fkt13Tf3zBatXr5Y1K1euLK67qLV7v2rwnvs+uX8CQ7l8+bLcU/+NrInlR+jrvPb1/oNfSgAAQAo0JQAAIAWaEgAAkAJNCQAASIGmBAAApEBTAgAAUmg5ElwT6Wt6SnBN3G9sbEzuuUikmiz5/PPPyxoVy1STNyP88am4mIvGuYiZisK611NRXRdPVROWI/RESjfJ0x2fij66yZdq+qaLKbqIpXq/LpbsonuHDh0qrk9OTsoaNQH6k08+kTXu+6RifRkit07TE4Rr/lkDV6PO60cffSRrnnvuObmnrjE1aTrCx9FVZN/FXdU/eaCm/UZEvP/++3JP/TME7npYt26d3Dt48GBxXcV+I/Q/reDuUzXfJ3f/Hxoaknvq/nH+/HlZoyLGtf/NfVj3An4pAQAAKdCUAACAFGhKAABACjQlAAAgBZoSAACQwiOftfgIrUtAqKe5m346t+nXc0+hq6elu7u7Zc2PfvSj4vru3btlzZw5c+SeSoO4QVLu6es1a9YU1xcsWCBr1N9yCYOBgQG5p57Ud4kdR6Vi3FPyaticGlgV4Z+Sd+dcUQmgCD0UzQ1iVGoSAZ9XV6NmeFdNQq+Guw80/bfUfdTdX1365mc/+1lxvb+/X9bcunVL7qlrTH1nIiKWLVtWXP/b3/4ma95++225p1JmbminOoYIfc9xCb1nnnmmuP4///M/ssYdn0rzuGP485//LPfOnj1bXB8cHJQ14+PjxXWXrGo6fdPKQE9+KQEAACnQlAAAgBRoSgAAQAo0JQAAIAWaEgAAkAJNCQAASKGRSHDTQ7CUdsUUa//W/Pnzi+s7duyQNb29vXJPxYUXLlwoa1y8a+7cucV1F59Vf6urq0vWuGF96ry64z58+LDcU4PoXHx21qzyHEo1sND9HbfnXs9p8jpv+hrP8rdq/k5NxLhdg0jd33Fx11//+tfF9bVr18qaqakpuaei72pIZIQeHPfhhx/KGhfDVnvuvqfuvRH6XqCiwhH6HuHu17t27Zrx6128eFHWHD9+XO65e6xSM0Cy6aGYbkjpf/BLCQAASIGmBAAApEBTAgAAUqApAQAAKdCUAACAFFpO36inh52mn2pvWtPHp2pccsmdV/UUukuquONW6Rs3HE69nkvsdHZ2yj319LVLqrj3W5NwUUPgmr4mmx5m9VXUzgRQu9S8J3ePUN/biIi9e/fOuGZ4eFjuqe/n6OiorFHpM3ceatI3rsZ97moInBsGWfN35s2bJ/fUPazmGCLqkjTt4j73Vu7X/FICAABSoCkBAAAp0JQAAIAUaEoAAEAKNCUAACAFmhIAAJBCI5FgFUNycafs0aUaGd5TjaaPu50DnmrivV+nOG72oXvtjGFnHhxaG3dVUWJX4/4JgJn+Hafp+3+G/5608/qque9lQCQYAAB8JdCUAACAFGhKAABACjQlAAAgBZoSAACQAk0JAABIoeXRv+2KZWaJp6qIXk0UK0NM0ckQkW16om6G99RO6jpqZzQ6w7Wc4Rhq1MYom554rera+X1S996aScBOzTmqvZdnvh9l++8Tv5QAAIAUaEoAAEAKNCUAACAFmhIAAJACTQkAAEih5fRNzRO67sndmqe8a46hJmHzeXXtqmnnsLKZyvKkeZMprtrz3fT7bdfn1PQxtOtJ/dprr+ZayZDmaTolUqPp+1TN5+SSj25gYJPXcu15aDrV1OQ5bzqhWjO88f973S9UDQAA0BCaEgAAkAJNCQAASIGmBAAApEBTAgAAUqApAQAAKbQcCXZUbCh7NDTDcL2ma9x7ajLm1nTUOsPAqppz59S+J1VXc15r31PTkUh1HO0aiun+VtOD3oCvg9rv4efhlxIAAJACTQkAAEiBpgQAAKRAUwIAAFKgKQEAACnQlAAAgBQe+azF3OKsWTNPDzc9Sbbm9do5zbbp11PTFpuOeTpNTz5uOuY5078T0b5rpekJoE3H250mpy9/mT148OC/fQjAV0Yr90R+KQEAACnQlAAAgBRoSgAAQAo0JQAAIAWaEgAAkELLkZp2DUzLkohpV/rAvZ568t8lS2rUJDe6urrkXmdn54z/1r1792SN+wzv3Lkj92Z6DE6G4ZLtPIavW8oGQA78UgIAAFKgKQEAACnQlAAAgBRoSgAAQAo0JQAAIAWaEgAAkMLMp+zNgIsw1gwdc2rqagfbzVTtoDdV547bDU5UUV0Xx+3u7i6uP//887Jm7ty5cm9ycrK4vmLFClkzNjYm96ampmZcc/369eL6+Pi4rLl9+7bcu3//vtxT2jUcsWk112vTf6vp7xOAPPilBAAApEBTAgAAUqApAQAAKdCUAACAFGhKAABACi2nb5pOCzQ98K4mmdD00/g1g/Lccc+ZM6e4vnPnTlnT09Mj95YuXVpcnzdvnqzp7+8vrvf19cmao0ePyr3BwcHi+rZt22TNsmXL5N6WLVuK6/Pnz5c1Km00NDQkaw4ePCj3Dh8+XFyfmJiQNTdv3pR7Kl2VIbHjrvGav1WTlmk6YUMqB8iDX0oAAEAKNCUAACAFmhIAAJACTQkAAEiBpgQAAKRAUwIAAFJ4qAP5MsTzaiORTR6HG5K3bt06uffaa68V15955hlZ46KmKvKqosIREXfu3Cmuu/PjXm9kZKS4Pj09LWvUIMGIiGvXrhXXFyxYIGvU57F9+3ZZs2vXLrk3MDBQXH/33XdlzbFjx+SeihKr9xrRvoh9O4cCtutvEQkG8uCXEgAAkAJNCQAASIGmBAAApEBTAgAAUqApAQAAKdCUAACAFBqJBDcZR6yNAdZM6K15vY6ODlmj9twE3DfeeEPurVy5srjuoqsuaqqisG5KsIr33r59W9a4PTX5+Pjx47JmxYoVck9dY2rSbkTE+Ph4cf3BgweyZvHixXJv/fr1xfUf/OAHsubs2bNy78KFC8V1d44+/vjj4rqKdEfkj8LWTAl2VJ27VgC0F7+UAACAFGhKAABACjQlAAAgBZoSAACQAk0JAABIoZH0TZMpG/da7ql79QS9ez2XOlFWr14t91599dXien9/v6xRyY2IiHv37hXXXQKoq6tL7i1fvry4Pjw8LGt27NhRXHfnVQ2oc3/LJWzc56Te78mTJ2VNb29vcd0NBXTnXF2Xbijg3Llz5d6iRYuK608//bSsUefh8OHDsmZ0dFTuqSRS7fezSbWpIVWXPYUEfJ3wSwkAAEiBpgQAAKRAUwIAAFKgKQEAACnQlAAAgBRoSgAAQAotR4Jr4n4ualcTw6sZuqcGwEVEbNy4Ue7t3LmzuL5v3z5Zs2vXruL65cuXZY0bAqfOuRvM5qKwKmrqYsQLFy4sri9ZskTWbNiwQe6pmPPatWtljRpMGKEHzrnrVZ2HyclJWeNiyarOHcONGzdm/HrquCP8tawcOHBgxsegPr8vg3ZFlgHU45cSAACQAk0JAABIgaYEAACkQFMCAABSoCkBAAAp0JQAAIAUWo4EZ5+kOXv27OL6mjVrZM3Pf/5zubdq1ari+q1bt2TNrFnl0+mmz7q4sIp5Dg0NyZrz58/LvT179hTX1XuNiBgfHy+u379/X9a4GPZjjz1WXN+0aZOscbFptdfd3S1rrly5UlxX11CE/wxVpFqduwj/ntQkandeVXTbRZldxP7gwYPF9UuXLsmaGjX3ldpJxdnvYQD4pQQAACRBUwIAAFKgKQEAACnQlAAAgBRoSgAAQAotp2/axSUC3JP1K1asKK6/9tprssYNjrt27Vpx3Q1tGxsbK65/+umnsubu3bszPoa5c+fKGpekUUkMlfaI0Mfu0iN9fX1yTyVf1LmLiJg/f77cu379enFdpVEi9IA/NyTv6tWrcm/r1q3F9c7OTllT855c+kZd/0eOHJE127Ztk3tTU1MzOraIiJs3b8q9mmGaNWqTOQBy4JcSAACQAk0JAABIgaYEAACkQFMCAABSoCkBAAAp0JQAAIAU/muR4JqIoBp4FxHx6quvFtefeOIJWeOGyqnIq4v3njlzprju4qkuGqoipSoqHKEH3kXo9+vivSqyvGjRohnXRER0dHQU1xcvXixrXBR2wYIFMz4GFRt10WgXw75w4UJx3UVQ3XW0efPm4vrFixdlze3bt4vr69evlzUq9huhrzE3kG9gYEDuqWusJsLrziuxX+DLjV9KAABACjQlAAAgBZoSAACQAk0JAABIgaYEAACk0Ej6Rj3x7p6sV1wqwaVYXnrppeL6smXLZI0bsqaGti1dulTWHD16tLje1dUla1wKSaVlXPLlzp07ck8lVWbPni1r1JC6kZERWeNSHSpJ4xI2LvmirjFXo96vGlgY4T/3y5cvF9fdtexSLCo55F5vYmKiuK4G9UX476f6PFyaxw00dNeLUpOkYSAf8OXGLyUAACAFmhIAAJACTQkAAEiBpgQAAKRAUwIAAFKgKQEAACk0Egmuif4qLiLrBvKpKGxvb6+scdHVmzdvFtddfFYNdJuenpY17j2pCKiK9kb4CLT6nNxQQBWFHR0dlTVqOFxExNjYWHF9yZIlskYNJozQn2FNBHXNmjVyb9u2bXJPHZ+7ll3EeHh4eMavp+LMLiLurpUtW7YU191n646v5p8NIMILfP3wSwkAAEiBpgQAAKRAUwIAAFKgKQEAACnQlAAAgBRoSgAAQAotR4Jr4nkuIqi4ScC7d++WeypqqtYjIhYvXiz3Hjx4MOPXU9FfF2l1k2nVdOGOjg5Z4+LC6vNwsUz1noaGhmSNO0cqwjs5OSlrrl27NuPXc1TU2n0Wu3btkntvvPFGcd3Fx7u7u+Weimir6cEROt6rou0RddeRm768atUquXflypXiuntP6rp09yIixsCXG7+UAACAFGhKAABACjQlAAAgBZoSAACQAk0JAABIoeX0TU2Sxj0Jr57if/bZZ2XNyy+/LPd6enqK626AmHvyf2Jiorju0h4qZbNy5UpZ415PpUFUeiTCf04qzeMGBqrXc8fgBvypoYXuuM+ePSv3zpw5U1y/deuWrLlx40Zx3b0nlw5SwwTffPNNWeMSWffv3y+u9/X1yRo1xK82faYG+a1du1bWjI+Py72LFy8W193x1ahJ2DQ5UBTAF8MvJQAAIAWaEgAAkAJNCQAASIGmBAAApEBTAgAAUqApAQAAKbQcCa7honY7duworm/atEnWbNiwQe6p4WIqXhkRMWuWfvvr1q0rrrt4qhvApixatEjuqfPnIrxuYJqK6tYMtduyZUvVMahBh24Qo4uhqljruXPnZI0aJugiso66xlRMNyJizpw5ck+dP/eeVBTWnVcXw1YxZzd0zw1OPHjwYHHdDQV0EW2ldlgfgBz4pQQAAKRAUwIAAFKgKQEAACnQlAAAgBRoSgAAQAo0JQAAIIWWI8EuTqeie66mv7+/uP7Nb35T1ixbtkzuqb914cIFWeMiwSoe6o5BRSLd1FxHRXVdjLImYqym5kbomLObfOzerzoGd624WKs6vuXLl8saNR1648aNskZFxCP09N4VK1bImsuXL8u969evF9dVnNrtqcnQET4uryZUu8iti6qr74arqUHsF/hy45cSAACQAk0JAABIgaYEAACkQFMCAABSoCkBAAAptJy+cU/dq/RNZ2enrHnqqaeK693d3bLGDbxTKQOXLBkdHZV7a9asKa7funVL1ixdurS4fv78eVnjUiw3b94srrtBZW5gmkpbuEFv6j0tWLBA1rgEhNpzSRBHJV/ctaKSVe4ad+kbdY5OnTola9x1qVJhLi2mEkVq/fOoOjd0zw0gvHfvXnHdnXO316R2/R0An49fSgAAQAo0JQAAIAWaEgAAkAJNCQAASIGmBAAApEBTAgAAUmgkEqyiilu3bpU1anDc7du3Z/x3HBcN3bRpk9xTEVU3kO/RR8s9Xs0ww4iI06dPz+jYIiLGx8fl3ty5c4vrbmibOufqvUZEzJkzR+6pOjUALiLizp07ck+dCxe1Vn/LnVf3GV69erW4rs53hL8u1XdAxWoj9HXk3pM7hpGRkRmtR0QcO3ZM7rlhgk1y96maYZAA2otfSgAAQAo0JQAAIAWaEgAAkAJNCQAASIGmBAAApDDzOMsMbN++Xe719PQU113CwKUF1FP3U1NTssY9dT9//vziuhvIp4YJukTAyZMn5Z5Kdbgha5OTkzN+ve9973uyZvny5cV1lxpy6Rv1eVy4cEHWuGSOSpd0dHTImitXrsy4xnHDCRX3t9S1V3N87hpXAx8jIj766KPi+qFDh2TNxYsX5d709LTcU9SxNz1Aj4F8QB78UgIAAFKgKQEAACnQlAAAgBRoSgAAQAo0JQAAIAWaEgAAkEIjA/kUN0hNxVpdhNdFgq9fv15cdwP+HHXsbrDY0NBQcf3AgQOyxr0nFTV1UevLly/LPRW7dTW9vb3FdTeQz8WFFTc4zlHH7q49da2oSHeEHwapronOzk5Z42Ldam9iYkLW3Lhxo7iu3mtExNGjR+Xe+++/X1x3kfgMUV2G6wFfbvxSAgAAUqApAQAAKdCUAACAFGhKAABACjQlAAAgBZoSAACQQiNTglUE9N1335U1O3bsKK7v3btX1ri4n4qAuumkbvqsiiar6GVExOjoaHF99erVskZN4Y2IWLRoUXF95cqVssa9p4GBgeK6i02r13ORYBflVHUuan369Gm5pyYfHzx4UNYcPny4uO4ivMuWLZN7S5YsKa53dXXJGhd9V9N7x8fHZY2KC7vP1sWS1WfovoM1cdx2xojbNXUYQD1+KQEAACnQlAAAgBRoSgAAQAo0JQAAIAWaEgAAkELL6ZuaJ+vdMLA//OEPxfUNGzbIGpdiUSmRe/fuyRqVlomIWLhwYXHdDUVTaYulS5fKmrVr18q9OXPmFNddSsQlCdT5c4kdxaVHXDJHpaFcSurQoUNy78iRI8X1sbExWaPSLe6zPXfunNzr6Ogorrv31PTgOPV6Tadlao+7Js3TZI3DED8gD34pAQAAKdCUAACAFGhKAABACjQlAAAgBZoSAACQAk0JAABIoeVIcM2gKxeJPHnyZHH9t7/9rax58cUX5V5/f39x3cVn3TC8y5cvF9dV/DMiYvHixcV1NbAtQkePI3Qk2EV43QC23t7e4vqqVatkjXq/6tgi/HA9da2o4YMREZOTk3JvcHCwuK6GREboa9ld4+5zV3WupmagoTu+mpoMA/ScdkaWAeTALyUAACAFmhIAAJACTQkAAEiBpgQAAKRAUwIAAFKgKQEAACm0HAl2amKCKhI5MjIia9566y25993vfre4vnXr1pkd2P9148aN4npfX5+sURFjFw11keDZs2cX1+/fvy9rDh48KPdUzHnz5s2yRn22LtLqqLiwmyg9NDQk99S5cNekiws3WVP7ejXTcdul6Yhx02qOL8NxA/g/+KUEAACkQFMCAABSoCkBAAAp0JQAAIAUaEoAAEAKLadv3BPq6ol3N5hNpTdcjXuyXqVlVILF1UREzJpVPjXd3d2yRqVs1GtFRExNTcm9O3fuFNePHj0qaw4fPiz3VFLFnXN1fG4ooEvmqIGB7rOouY7u3bsna9S1XJssqUmftaumaU2fh9q/1WQNgDz4pQQAAKRAUwIAAFKgKQEAACnQlAAAgBRoSgAAQAo0JQAAIIWWI8FNx/1UzNP9HTfY7sqVK8V1F0+tGZR39epVWdPV1VVcnz9/vqwZHh6We6pODdaL8OdPxXvd8dUMBXTD9c6fP19c//DDD2XN5OSk3JuenpZ7StNx3JrXq4muNv0dbPq42xWbrv07NVFwAO3FLyUAACAFmhIAAJACTQkAAEiBpgQAAKRAUwIAAFJoOX1To51Dx86dO1dcd4PeNm/eLPc+/fTT4nrNk/8uPdLZ2Sn3VMJl06ZNssYNr3v//feL6y4tM2fOnOL6yMiIrBkfH5d7J0+eLK679I1LPKnPycme6qg5vgwyJF+ynyMAHr+UAACAFGhKAABACjQlAAAgBZoSAACQAk0JAABIgaYEAACk8FAjwU7TA8lURPX3v/+9rLl586bcU7FbNaAuImLu3LkzWo+I6O7ulnt3794trruY8507d+Te6tWri+tjY2Oy5tatW8X1AwcOyJqBgQG5d/HixeL60NCQrHHD/2qipu0awFYbT21XrLUmwus0PZCPeC/w9cMvJQAAIAWaEgAAkAJNCQAASIGmBAAApEBTAgAAUqApAQAAKTzyWYtZvVmzdHq4XXE/V/Poo+X+yk2R7e/vl3s9PT3F9eXLl8saFeHduHGjrHF76pxfunRJ1rgJvSou/Pjjj8ua6enp4vrp06dlzalTp+Te4OBgcX10dFTWuOtLTUVuOu7atKbjs9kjt01OZm7ncbup2wBmppX7FL+UAACAFGhKAABACjQlAAAgBZoSAACQAk0JAABIoeWBfE0/8d6uJ+jdAL2JiQm5NzU1VVw/cuSIrFFJH5dG6e3tlXtdXV3FdZWIiYiYnJyUe2owoBo+GKFTTY46d5+3p7gEVdODHZv8O+0cyFczmLCd1PFlSEIByINfSgAAQAo0JQAAIAWaEgAAkAJNCQAASIGmBAAApEBTAgAAUmh5IB8AAMDDxC8lAAAgBZoSAACQAk0JAABIgaYEAACkQFMCAABSoCkBAAAp0JQAAIAUaEoAAEAKNCUAACCF/wWh4220eWALHAAAAABJRU5ErkJggg==\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -794,6 +826,14 @@ "plt.axis(\"off\")\n", "plt.show()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3e43b95", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/tutorials/generative/3d_ddpm/3d_ddpm_tutorial.py b/tutorials/generative/3d_ddpm/3d_ddpm_tutorial.py index 7c3d3ce3..400a49af 100644 --- a/tutorials/generative/3d_ddpm/3d_ddpm_tutorial.py +++ b/tutorials/generative/3d_ddpm/3d_ddpm_tutorial.py @@ -25,7 +25,7 @@ # ## Setup environment # %% -# !python -c "import monai" || pip install -q "monai-weekly[gdown, nibabel, tqdm, ignite]" +# !python -c "import monai" || pip install -q "monai-weekly[nibabel, tqdm]" # !python -c "import matplotlib" || pip install -q matplotlib # %matplotlib inline @@ -119,13 +119,13 @@ root_dir=root_dir, task="Task01_BrainTumour", transform=train_transform, section="training", download=True ) -train_loader = DataLoader(train_ds, batch_size=16, shuffle=True, num_workers=8) +train_loader = DataLoader(train_ds, batch_size=4, shuffle=True, num_workers=8) val_ds = DecathlonDataset( root_dir=root_dir, task="Task01_BrainTumour", transform=val_transform, section="validation", download=True ) -val_loader = DataLoader(val_ds, batch_size=16, shuffle=False, num_workers=8) +val_loader = DataLoader(val_ds, batch_size=4, shuffle=False, num_workers=8) # %% [markdown] @@ -150,11 +150,10 @@ spatial_dims=3, in_channels=1, out_channels=1, - model_channels=128, - attention_resolutions=[8], - num_res_blocks=1, - channel_mult=[1, 1, 2, 2], - num_heads=1, + num_channels=[256, 256, 512], + attention_levels=[False, False, True], + num_head_channels=[256, 256, 512], + num_res_blocks=2, ) model.to(device) @@ -169,8 +168,8 @@ # ### Model training # %% -n_epochs = 200 -val_interval = 50 +n_epochs = 150 +val_interval = 25 epoch_loss_list = [] val_epoch_loss_list = [] @@ -189,8 +188,13 @@ # Generate random noise noise = torch.randn_like(images).to(device) + # Create timesteps + timesteps = torch.randint( + 0, inferer.scheduler.num_train_timesteps, (images.shape[0],), device=images.device + ).long() + # Get model prediction - noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise) + noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise, timesteps=timesteps) loss = F.mse_loss(noise_pred.float(), noise.float()) @@ -211,7 +215,12 @@ noise = torch.randn_like(images).to(device) with torch.no_grad(): with autocast(enabled=True): - noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise) + timesteps = torch.randint( + 0, inferer.scheduler.num_train_timesteps, (images.shape[0],), device=images.device + ).long() + + # Get model prediction + noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise, timesteps=timesteps) val_loss = F.mse_loss(noise_pred.float(), noise.float()) val_epoch_loss += val_loss.item() @@ -223,7 +232,7 @@ image = image.to(device) scheduler.set_timesteps(num_inference_steps=1000) with autocast(enabled=True): - image = inferer.sample(input_noise=noise, diffusion_model=model, scheduler=scheduler) + image = inferer.sample(input_noise=image, diffusion_model=model, scheduler=scheduler) plt.figure(figsize=(2, 2)) plt.imshow(image[0, 0, :, :, 15].cpu(), vmin=0, vmax=1, cmap="gray") @@ -274,3 +283,5 @@ plt.tight_layout() plt.axis("off") plt.show() + +# %%