From 8be360beaa6e534f3b96d25f8c05bd493b896881 Mon Sep 17 00:00:00 2001 From: Sylvain Le Groux Date: Tue, 11 Feb 2025 14:00:06 -0800 Subject: [PATCH] test --- tutorials/fashion_mnist.ipynb | 484 +++++++++++++++++++++++++++++++++- 1 file changed, 482 insertions(+), 2 deletions(-) diff --git a/tutorials/fashion_mnist.ipynb b/tutorials/fashion_mnist.ipynb index c5520a7..44a0c64 100644 --- a/tutorials/fashion_mnist.ipynb +++ b/tutorials/fashion_mnist.ipynb @@ -1114,7 +1114,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -1158,8 +1158,488 @@ "Found cached dataset fashion_mnist (/user/s/slegroux/Projects/nimrod/tutorials/../data/image/fashion_mnist/fashion_mnist/0.0.0/531be5e2ccc9dba0c201ad3ae567a4f3d16ecdd2)\n", "[13:25:37] INFO - Found cached dataset fashion_mnist (/user/s/slegroux/Projects/nimrod/tutorials/../data/image/fashion_mnist/fashion_mnist/0.0.0/531be5e2ccc9dba0c201ad3ae567a4f3d16ecdd2)\n", "Loading Dataset info from /user/s/slegroux/Projects/nimrod/tutorials/../data/image/fashion_mnist/fashion_mnist/0.0.0/531be5e2ccc9dba0c201ad3ae567a4f3d16ecdd2\n", - "[13:25:37] INFO - Loading Dataset info from /user/s/slegroux/Projects/nimrod/tutorials/../data/image/fashion_mnist/fashion_mnist/0.0.0/531be5e2ccc9dba0c201ad3ae567a4f3d16ecdd2\n" + "[13:25:37] INFO - Loading Dataset info from /user/s/slegroux/Projects/nimrod/tutorials/../data/image/fashion_mnist/fashion_mnist/0.0.0/531be5e2ccc9dba0c201ad3ae567a4f3d16ecdd2\n", + "[13:25:40] INFO - loading dataset fashion_mnist with args () from split test\n", + "[13:25:40] INFO - loading dataset fashion_mnist from split test\n", + "Overwrite dataset info from restored data version if exists.\n", + "[13:25:42] INFO - Overwrite dataset info from restored data version if exists.\n", + "Loading Dataset info from ../data/image/fashion_mnist/fashion_mnist/0.0.0/531be5e2ccc9dba0c201ad3ae567a4f3d16ecdd2\n", + "[13:25:42] INFO - Loading Dataset info from ../data/image/fashion_mnist/fashion_mnist/0.0.0/531be5e2ccc9dba0c201ad3ae567a4f3d16ecdd2\n", + "Found cached dataset fashion_mnist (/user/s/slegroux/Projects/nimrod/tutorials/../data/image/fashion_mnist/fashion_mnist/0.0.0/531be5e2ccc9dba0c201ad3ae567a4f3d16ecdd2)\n", + "[13:25:42] INFO - Found cached dataset fashion_mnist (/user/s/slegroux/Projects/nimrod/tutorials/../data/image/fashion_mnist/fashion_mnist/0.0.0/531be5e2ccc9dba0c201ad3ae567a4f3d16ecdd2)\n", + "Loading Dataset info from /user/s/slegroux/Projects/nimrod/tutorials/../data/image/fashion_mnist/fashion_mnist/0.0.0/531be5e2ccc9dba0c201ad3ae567a4f3d16ecdd2\n", + "[13:25:42] INFO - Loading Dataset info from /user/s/slegroux/Projects/nimrod/tutorials/../data/image/fashion_mnist/fashion_mnist/0.0.0/531be5e2ccc9dba0c201ad3ae567a4f3d16ecdd2\n", + "LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n", + "[13:25:42] INFO - Optimizer: \n", + "[13:25:42] WARNING - no scheduler has been setup\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "956a8ec2aea04229a0708381562b022b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Finding best initial lr: 0%| | 0/100 [00:00" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Suggested learning rate: 5.623413251903491e-05\n",
+       "
\n" + ], + "text/plain": [ + "Suggested learning rate: \u001b[1;36m5.623413251903491e-05\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Using 16bit Automatic Mixed Precision (AMP)\n", + "GPU available: True (cuda), used: True\n", + "TPU available: False, using: 0 TPU cores\n", + "HPU available: False, using: 0 HPUs\n", + "[13:25:47] INFO - ResNetX: init\n", + "[13:25:47] INFO - Classifier: init\n" + ] + }, + { + "data": { + "text/html": [ + "
====================================================================================================\n",
+       "Layer (type:depth-idx)                             Output Shape              Param #\n",
+       "====================================================================================================\n",
+       "ResNet                                             [512, 10]                 --\n",
+       "├─Sequential: 1-1                                  [512, 10]                 --\n",
+       "│    └─ResBlock: 2-1                               [512, 32, 32, 32]         --\n",
+       "│    │    └─Sequential: 3-1                        [512, 32, 32, 32]         9,570\n",
+       "│    │    └─Identity: 3-2                          [512, 1, 32, 32]          --\n",
+       "│    │    └─PreActivationConvBlock: 3-3            [512, 32, 32, 32]         34\n",
+       "│    │    └─LeakyReLU: 3-4                         [512, 32, 32, 32]         --\n",
+       "│    └─ResBlock: 2-2                               [512, 64, 16, 16]         --\n",
+       "│    │    └─Sequential: 3-5                        [512, 64, 16, 16]         55,488\n",
+       "│    │    └─AvgPool2d: 3-6                         [512, 32, 16, 16]         --\n",
+       "│    │    └─PreActivationConvBlock: 3-7            [512, 64, 16, 16]         2,112\n",
+       "│    │    └─LeakyReLU: 3-8                         [512, 64, 16, 16]         --\n",
+       "│    └─ResBlock: 2-3                               [512, 128, 8, 8]          --\n",
+       "│    │    └─Sequential: 3-9                        [512, 128, 8, 8]          221,568\n",
+       "│    │    └─AvgPool2d: 3-10                        [512, 64, 8, 8]           --\n",
+       "│    │    └─PreActivationConvBlock: 3-11           [512, 128, 8, 8]          8,320\n",
+       "│    │    └─LeakyReLU: 3-12                        [512, 128, 8, 8]          --\n",
+       "│    └─ResBlock: 2-4                               [512, 256, 4, 4]          --\n",
+       "│    │    └─Sequential: 3-13                       [512, 256, 4, 4]          885,504\n",
+       "│    │    └─AvgPool2d: 3-14                        [512, 128, 4, 4]          --\n",
+       "│    │    └─PreActivationConvBlock: 3-15           [512, 256, 4, 4]          33,024\n",
+       "│    │    └─LeakyReLU: 3-16                        [512, 256, 4, 4]          --\n",
+       "│    └─ResBlock: 2-5                               [512, 512, 2, 2]          --\n",
+       "│    │    └─Sequential: 3-17                       [512, 512, 2, 2]          3,540,480\n",
+       "│    │    └─AvgPool2d: 3-18                        [512, 256, 2, 2]          --\n",
+       "│    │    └─PreActivationConvBlock: 3-19           [512, 512, 2, 2]          131,584\n",
+       "│    │    └─LeakyReLU: 3-20                        [512, 512, 2, 2]          --\n",
+       "│    └─ResBlock: 2-6                               [512, 10, 1, 1]           --\n",
+       "│    │    └─Sequential: 3-21                       [512, 10, 1, 1]           48,024\n",
+       "│    │    └─AvgPool2d: 3-22                        [512, 512, 1, 1]          --\n",
+       "│    │    └─PreActivationConvBlock: 3-23           [512, 10, 1, 1]           6,144\n",
+       "│    │    └─LeakyReLU: 3-24                        [512, 10, 1, 1]           --\n",
+       "│    └─Flatten: 2-7                                [512, 10]                 --\n",
+       "====================================================================================================\n",
+       "Total params: 4,941,852\n",
+       "Trainable params: 4,941,852\n",
+       "Non-trainable params: 0\n",
+       "Total mult-adds (Units.GIGABYTES): 64.16\n",
+       "====================================================================================================\n",
+       "Input size (MB): 2.10\n",
+       "Forward/backward pass size (MB): 2129.02\n",
+       "Params size (MB): 19.77\n",
+       "Estimated Total Size (MB): 2150.88\n",
+       "====================================================================================================\n",
+       "
\n" + ], + "text/plain": [ + "====================================================================================================\n", + "Layer \u001b[1m(\u001b[0mtyp\u001b[1;92me:de\u001b[0mpth-idx\u001b[1m)\u001b[0m Output Shape Param #\n", + "====================================================================================================\n", + "ResNet \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m10\u001b[0m\u001b[1m]\u001b[0m --\n", + "├─Sequential: \u001b[1;36m1\u001b[0m-\u001b[1;36m1\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m10\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ └─ResBlock: \u001b[1;36m2\u001b[0m-\u001b[1;36m1\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m32\u001b[0m, \u001b[1;36m32\u001b[0m, \u001b[1;36m32\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ │ └─Sequential: \u001b[1;36m3\u001b[0m-\u001b[1;36m1\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m32\u001b[0m, \u001b[1;36m32\u001b[0m, \u001b[1;36m32\u001b[0m\u001b[1m]\u001b[0m \u001b[1;36m9\u001b[0m,\u001b[1;36m570\u001b[0m\n", + "│ │ └─Identity: \u001b[1;36m3\u001b[0m-\u001b[1;36m2\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m1\u001b[0m, \u001b[1;36m32\u001b[0m, \u001b[1;36m32\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ │ └─PreActivationConvBlock: \u001b[1;36m3\u001b[0m-\u001b[1;36m3\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m32\u001b[0m, \u001b[1;36m32\u001b[0m, \u001b[1;36m32\u001b[0m\u001b[1m]\u001b[0m \u001b[1;36m34\u001b[0m\n", + "│ │ └─LeakyReLU: \u001b[1;36m3\u001b[0m-\u001b[1;36m4\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m32\u001b[0m, \u001b[1;36m32\u001b[0m, \u001b[1;36m32\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ └─ResBlock: \u001b[1;36m2\u001b[0m-\u001b[1;36m2\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m64\u001b[0m, \u001b[1;36m16\u001b[0m, \u001b[1;36m16\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ │ └─Sequential: \u001b[1;36m3\u001b[0m-\u001b[1;36m5\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m64\u001b[0m, \u001b[1;36m16\u001b[0m, \u001b[1;36m16\u001b[0m\u001b[1m]\u001b[0m \u001b[1;36m55\u001b[0m,\u001b[1;36m488\u001b[0m\n", + "│ │ └─AvgPool2d: \u001b[1;36m3\u001b[0m-\u001b[1;36m6\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m32\u001b[0m, \u001b[1;36m16\u001b[0m, \u001b[1;36m16\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ │ └─PreActivationConvBlock: \u001b[1;36m3\u001b[0m-\u001b[1;36m7\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m64\u001b[0m, \u001b[1;36m16\u001b[0m, \u001b[1;36m16\u001b[0m\u001b[1m]\u001b[0m \u001b[1;36m2\u001b[0m,\u001b[1;36m112\u001b[0m\n", + "│ │ └─LeakyReLU: \u001b[1;36m3\u001b[0m-\u001b[1;36m8\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m64\u001b[0m, \u001b[1;36m16\u001b[0m, \u001b[1;36m16\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ └─ResBlock: \u001b[1;36m2\u001b[0m-\u001b[1;36m3\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m128\u001b[0m, \u001b[1;36m8\u001b[0m, \u001b[1;36m8\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ │ └─Sequential: \u001b[1;36m3\u001b[0m-\u001b[1;36m9\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m128\u001b[0m, \u001b[1;36m8\u001b[0m, \u001b[1;36m8\u001b[0m\u001b[1m]\u001b[0m \u001b[1;36m221\u001b[0m,\u001b[1;36m568\u001b[0m\n", + "│ │ └─AvgPool2d: \u001b[1;36m3\u001b[0m-\u001b[1;36m10\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m64\u001b[0m, \u001b[1;36m8\u001b[0m, \u001b[1;36m8\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ │ └─PreActivationConvBlock: \u001b[1;36m3\u001b[0m-\u001b[1;36m11\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m128\u001b[0m, \u001b[1;36m8\u001b[0m, \u001b[1;36m8\u001b[0m\u001b[1m]\u001b[0m \u001b[1;36m8\u001b[0m,\u001b[1;36m320\u001b[0m\n", + "│ │ └─LeakyReLU: \u001b[1;36m3\u001b[0m-\u001b[1;36m12\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m128\u001b[0m, \u001b[1;36m8\u001b[0m, \u001b[1;36m8\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ └─ResBlock: \u001b[1;36m2\u001b[0m-\u001b[1;36m4\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m256\u001b[0m, \u001b[1;36m4\u001b[0m, \u001b[1;36m4\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ │ └─Sequential: \u001b[1;36m3\u001b[0m-\u001b[1;36m13\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m256\u001b[0m, \u001b[1;36m4\u001b[0m, \u001b[1;36m4\u001b[0m\u001b[1m]\u001b[0m \u001b[1;36m885\u001b[0m,\u001b[1;36m504\u001b[0m\n", + "│ │ └─AvgPool2d: \u001b[1;36m3\u001b[0m-\u001b[1;36m14\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m128\u001b[0m, \u001b[1;36m4\u001b[0m, \u001b[1;36m4\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ │ └─PreActivationConvBlock: \u001b[1;36m3\u001b[0m-\u001b[1;36m15\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m256\u001b[0m, \u001b[1;36m4\u001b[0m, \u001b[1;36m4\u001b[0m\u001b[1m]\u001b[0m \u001b[1;36m33\u001b[0m,\u001b[1;36m024\u001b[0m\n", + "│ │ └─LeakyReLU: \u001b[1;36m3\u001b[0m-\u001b[1;36m16\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m256\u001b[0m, \u001b[1;36m4\u001b[0m, \u001b[1;36m4\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ └─ResBlock: \u001b[1;36m2\u001b[0m-\u001b[1;36m5\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m512\u001b[0m, \u001b[1;36m2\u001b[0m, \u001b[1;36m2\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ │ └─Sequential: \u001b[1;36m3\u001b[0m-\u001b[1;36m17\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m512\u001b[0m, \u001b[1;36m2\u001b[0m, \u001b[1;36m2\u001b[0m\u001b[1m]\u001b[0m \u001b[1;36m3\u001b[0m,\u001b[1;36m540\u001b[0m,\u001b[1;36m480\u001b[0m\n", + "│ │ └─AvgPool2d: \u001b[1;36m3\u001b[0m-\u001b[1;36m18\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m256\u001b[0m, \u001b[1;36m2\u001b[0m, \u001b[1;36m2\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ │ └─PreActivationConvBlock: \u001b[1;36m3\u001b[0m-\u001b[1;36m19\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m512\u001b[0m, \u001b[1;36m2\u001b[0m, \u001b[1;36m2\u001b[0m\u001b[1m]\u001b[0m \u001b[1;36m131\u001b[0m,\u001b[1;36m584\u001b[0m\n", + "│ │ └─LeakyReLU: \u001b[1;36m3\u001b[0m-\u001b[1;36m20\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m512\u001b[0m, \u001b[1;36m2\u001b[0m, \u001b[1;36m2\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ └─ResBlock: \u001b[1;36m2\u001b[0m-\u001b[1;36m6\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m10\u001b[0m, \u001b[1;36m1\u001b[0m, \u001b[1;36m1\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ │ └─Sequential: \u001b[1;36m3\u001b[0m-\u001b[1;36m21\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m10\u001b[0m, \u001b[1;36m1\u001b[0m, \u001b[1;36m1\u001b[0m\u001b[1m]\u001b[0m \u001b[1;36m48\u001b[0m,\u001b[1;36m024\u001b[0m\n", + "│ │ └─AvgPool2d: \u001b[1;36m3\u001b[0m-\u001b[1;36m22\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m512\u001b[0m, \u001b[1;36m1\u001b[0m, \u001b[1;36m1\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ │ └─PreActivationConvBlock: \u001b[1;36m3\u001b[0m-\u001b[1;36m23\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m10\u001b[0m, \u001b[1;36m1\u001b[0m, \u001b[1;36m1\u001b[0m\u001b[1m]\u001b[0m \u001b[1;36m6\u001b[0m,\u001b[1;36m144\u001b[0m\n", + "│ │ └─LeakyReLU: \u001b[1;36m3\u001b[0m-\u001b[1;36m24\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m10\u001b[0m, \u001b[1;36m1\u001b[0m, \u001b[1;36m1\u001b[0m\u001b[1m]\u001b[0m --\n", + "│ └─Flatten: \u001b[1;36m2\u001b[0m-\u001b[1;36m7\u001b[0m \u001b[1m[\u001b[0m\u001b[1;36m512\u001b[0m, \u001b[1;36m10\u001b[0m\u001b[1m]\u001b[0m --\n", + "====================================================================================================\n", + "Total params: \u001b[1;36m4\u001b[0m,\u001b[1;36m941\u001b[0m,\u001b[1;36m852\u001b[0m\n", + "Trainable params: \u001b[1;36m4\u001b[0m,\u001b[1;36m941\u001b[0m,\u001b[1;36m852\u001b[0m\n", + "Non-trainable params: \u001b[1;36m0\u001b[0m\n", + "Total mult-adds \u001b[1m(\u001b[0mUnits.GIGABYTES\u001b[1m)\u001b[0m: \u001b[1;36m64.16\u001b[0m\n", + "====================================================================================================\n", + "Input size \u001b[1m(\u001b[0mMB\u001b[1m)\u001b[0m: \u001b[1;36m2.10\u001b[0m\n", + "Forward/backward pass size \u001b[1m(\u001b[0mMB\u001b[1m)\u001b[0m: \u001b[1;36m2129.02\u001b[0m\n", + "Params size \u001b[1m(\u001b[0mMB\u001b[1m)\u001b[0m: \u001b[1;36m19.77\u001b[0m\n", + "Estimated Total Size \u001b[1m(\u001b[0mMB\u001b[1m)\u001b[0m: \u001b[1;36m2150.88\u001b[0m\n", + "====================================================================================================\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "Tracking run with wandb version 0.19.1" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "Run data is saved locally in wandb/wandb/run-20250211_132548-j63xlpx8" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "Syncing run ResNetX-bs:512-epochs:5 to Weights & Biases (docs)
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + " View project at https://wandb.ai/slegroux/FASHION-MNIST-Classifier" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + " View run at https://wandb.ai/slegroux/FASHION-MNIST-Classifier/runs/j63xlpx8" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/user/s/slegroux/miniconda3/envs/nimrod/lib/python3.11/site-packages/lightning/pytorch/callbacks/model_checkpoint.py:654: Checkpoint directory /user/s/slegroux/Projects/nimrod/tutorials/checkpoints/FASHION-MNIST-Classifier/ResNetX-bs:512-epochs:5 exists and is not empty.\n", + "LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n", + "[13:25:49] INFO - Optimizer: \n", + "[13:25:49] INFO - Scheduler: \n", + "\n", + " | Name | Type | Params | Mode \n", + "------------------------------------------------------------\n", + "0 | nnet | ResNet | 4.9 M | train\n", + "1 | loss | CrossEntropyLoss | 0 | train\n", + "2 | train_acc | MulticlassAccuracy | 0 | train\n", + "3 | val_acc | MulticlassAccuracy | 0 | train\n", + "4 | test_acc | MulticlassAccuracy | 0 | train\n", + "5 | train_loss | MeanMetric | 0 | train\n", + "6 | val_loss | MeanMetric | 0 | train\n", + "7 | test_loss | MeanMetric | 0 | train\n", + "8 | val_acc_best | MaxMetric | 0 | train\n", + "------------------------------------------------------------\n", + "4.9 M Trainable params\n", + "0 Non-trainable params\n", + "4.9 M Total params\n", + "19.767 Total estimated model params size (MB)\n", + "113 Modules in train mode\n", + "0 Modules in eval mode\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3bc80d25a3ec4cc986e237ee3fd18d7a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: | | 0/? [00:00┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n", + "┃ Test metric DataLoader 0 ┃\n", + "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n", + "│ test/acc 0.8773000240325928 │\n", + "│ test/loss 0.3510267436504364 │\n", + "└───────────────────────────┴───────────────────────────┘\n", + "\n" + ], + "text/plain": [ + "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1m Test metric \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m DataLoader 0 \u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n", + "│\u001b[36m \u001b[0m\u001b[36m test/acc \u001b[0m\u001b[36m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.8773000240325928 \u001b[0m\u001b[35m \u001b[0m│\n", + "│\u001b[36m \u001b[0m\u001b[36m test/loss \u001b[0m\u001b[36m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.3510267436504364 \u001b[0m\u001b[35m \u001b[0m│\n", + "└───────────────────────────┴───────────────────────────┘\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[13:26:22] INFO - Best ckpt path: /user/s/slegroux/Projects/nimrod/tutorials/checkpoints/FASHION-MNIST-Classifier/ResNetX-bs:512-epochs:5/4-0.21.ckpt\n" ] + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

Run history:


epoch▁▁▁▁▁▁▁▁▁▁▁▁▃▃▃▃▃▃▅▅▅▅▅▅▅▅▆▆▆▆▆▆▆▆▆█████
lr-AdamW▁▁▁▂▂▃▄▄▅▆██████▇▇▇▇▆▆▆▆▅▅▅▅▄▄▄▃▂▂▂▂▁▁▁▁
test/acc
test/loss
train/acc_epoch▁▇▇██
train/acc_step▁▁▃▄▆▇▇▇▇▇▇▇▇▇▇▇▇▇██████▇███████████████
train/loss_epoch█▂▂▁▁
train/loss_step█▆▅▃▃▃▃▂▂▂▂▂▂▂▁▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
trainer/global_step▁▁▁▁▁▂▂▂▃▃▃▃▄▄▄▄▄▄▅▅▅▅▆▆▆▆▆▆▆▇▇▇▇▇▇█████
val/acc▁▅▇██
val/acc_best▁▅▇██
val/loss█▃▂▁▁

Run summary:


epoch5
lr-AdamW0.0
test/acc0.8773
test/loss0.35103
train/acc_epoch0.93207
train/acc_step0.91667
train/loss_epoch0.21011
train/loss_step0.17549
trainer/global_step590
val/acc0.9345
val/acc_best0.9345
val/loss0.205

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + " View run ResNetX-bs:512-epochs:5 at: https://wandb.ai/slegroux/FASHION-MNIST-Classifier/runs/j63xlpx8
View project at: https://wandb.ai/slegroux/FASHION-MNIST-Classifier
Synced 6 W&B file(s), 0 media file(s), 5 artifact file(s) and 0 other file(s)" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "Find logs at: wandb/wandb/run-20250211_132548-j63xlpx8/logs" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [