File size: 193,766 Bytes
77812f3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "4b9b8649",
   "metadata": {
    "_cell_guid": "0cc8e21b-9999-4f38-a39c-a2f6d6021464",
    "_kg_hide-input": false,
    "_uuid": "553402c4-c0ac-4531-85a5-acf988a43735",
    "id": "8U9XADPXvH5m",
    "papermill": {
     "duration": 0.006884,
     "end_time": "2024-10-13T22:08:38.593265",
     "exception": false,
     "start_time": "2024-10-13T22:08:38.586381",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "# Poultry Disease Classification using ResNet-18, DenseNet121, and VGG16 in PyTorch\n",
    "\n",
    "<img src=\"https://www.venturagraininc.com/wp-content/uploads/2018/06/ThinkstockPhotos-478287121.jpg\" width=\"800\">\n",
    "\n",
    "## Overview\n",
    "\n",
    "This notebook implements a poultry disease classification system using **ResNet-18**, **DenseNet121**, and **VGG16** architectures in PyTorch. The goal is to accurately classify poultry diseases based on a curated dataset of fecal images. By comparing the performance of these three CNN models, we aim to determine which one performs best for this task.\n",
    "\n",
    "### Dataset Description\n",
    "\n",
    "The Poultry Pathology Visual Dataset contains a diverse collection of poultry fecal images categorized into four classes:\n",
    "- Coccidiosis\n",
    "- Healthy\n",
    "- Newcastle Disease\n",
    "- Salmonella\n",
    "\n",
    "### Key Steps\n",
    "\n",
    "1. **Data Loading and Preprocessing**: The dataset is loaded and preprocessed.\n",
    "2. **Model Definition**: ResNet-18, DenseNet121, and VGG16 architectures are defined and configured for poultry disease classification.\n",
    "3. **Model Training**: Each model is trained on the same training set.\n",
    "4. **Model Evaluation**: Models' performance is assessed on the test set.\n",
    "5. **Comparison of Results**: Graphs are used to compare the training process, accuracy, and loss for each model."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2a5fcf99",
   "metadata": {
    "_cell_guid": "e8f50a7a-cc36-4b7e-bd08-f3ba62b620e0",
    "_uuid": "48eeeaba-4db7-44a3-8e8e-58f62b13fc9c",
    "id": "RA0V_DAtvH5o",
    "papermill": {
     "duration": 0.005859,
     "end_time": "2024-10-13T22:08:38.605365",
     "exception": false,
     "start_time": "2024-10-13T22:08:38.599506",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "## Step 1: Data Loading and Preparation\n",
    "\n",
    "We'll use the same data transformations and loaders across all three models to ensure a fair comparison."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "f4422fef",
   "metadata": {
    "_cell_guid": "31bca2ae-2086-4f78-ad1c-9fffa1a51985",
    "_uuid": "24524fe8-d2ec-4a14-8b08-0e826c01c455",
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2024-10-13T22:08:38.618793Z",
     "iopub.status.busy": "2024-10-13T22:08:38.618458Z",
     "iopub.status.idle": "2024-10-13T22:08:43.083944Z",
     "shell.execute_reply": "2024-10-13T22:08:43.082747Z"
    },
    "id": "OCPdwUKgvH5q",
    "jupyter": {
     "outputs_hidden": false
    },
    "papermill": {
     "duration": 4.475026,
     "end_time": "2024-10-13T22:08:43.086388",
     "exception": false,
     "start_time": "2024-10-13T22:08:38.611362",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Using 2 GPUs.\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "import torch\n",
    "import torchvision\n",
    "import torchvision.transforms as transforms\n",
    "import torch.nn as nn\n",
    "import torch.optim as optim\n",
    "from torch.utils.data import DataLoader\n",
    "from torch.optim import lr_scheduler\n",
    "from torchvision.models import resnet18, densenet121, vgg16\n",
    "from tqdm import tqdm\n",
    "import matplotlib.pyplot as plt\n",
    "import time\n",
    "\n",
    "# Check for GPU availability\n",
    "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
    "if torch.cuda.device_count() > 1:\n",
    "    print(f\"Using {torch.cuda.device_count()} GPUs.\")\n",
    "    # Model parallelism for multi-GPU setup\n",
    "    def model_parallel(model):\n",
    "        return torch.nn.DataParallel(model).to(device)\n",
    "else:\n",
    "    def model_parallel(model):\n",
    "        return model.to(device)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c39e8b9e",
   "metadata": {
    "_cell_guid": "96807051-c838-4d34-b3f3-6df9fb0b1b0c",
    "_uuid": "39e67613-47d9-4874-a52a-5ab86015ffb3",
    "id": "Cnnc0V7DvH5s",
    "papermill": {
     "duration": 0.00657,
     "end_time": "2024-10-13T22:08:43.100937",
     "exception": false,
     "start_time": "2024-10-13T22:08:43.094367",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "## Step 2: Data Loading and Preparation\n",
    "We will load and preprocess the dataset using transformations. These transformations include resizing the images to 224x224 and normalizing them."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "8d2a5ec7",
   "metadata": {
    "_cell_guid": "056a9244-a2d9-434d-83aa-83c7bcc43c79",
    "_uuid": "e2e3be93-f3cc-4781-a171-ade02c273a73",
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2024-10-13T22:08:43.115731Z",
     "iopub.status.busy": "2024-10-13T22:08:43.115263Z",
     "iopub.status.idle": "2024-10-13T22:18:20.661500Z",
     "shell.execute_reply": "2024-10-13T22:18:20.660593Z"
    },
    "id": "tFxKrAonvH5t",
    "jupyter": {
     "outputs_hidden": false
    },
    "papermill": {
     "duration": 577.562484,
     "end_time": "2024-10-13T22:18:20.670050",
     "exception": false,
     "start_time": "2024-10-13T22:08:43.107566",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/conda/lib/python3.10/site-packages/torch/utils/data/dataloader.py:557: UserWarning: This DataLoader will create 6 worker processes in total. Our suggested max number of worker in current system is 4, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.\n",
      "  warnings.warn(_create_warning_msg(\n"
     ]
    }
   ],
   "source": [
    "# Define transformations for the dataset\n",
    "data_transforms = transforms.Compose([\n",
    "    transforms.Resize((224, 224)),\n",
    "    transforms.ToTensor(),\n",
    "    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])\n",
    "])\n",
    "\n",
    "# Load the datasets (train, validation, test)\n",
    "batch_size = 64\n",
    "train_dataset = torchvision.datasets.ImageFolder(root='/kaggle/input/poultry-diseases/data/data/train', transform=data_transforms)\n",
    "val_dataset = torchvision.datasets.ImageFolder(root='/kaggle/input/poultry-diseases/data/data/val', transform=data_transforms)\n",
    "test_dataset = torchvision.datasets.ImageFolder(root='/kaggle/input/poultry-diseases/data/data/test', transform=data_transforms)\n",
    "\n",
    "train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True, num_workers=6, pin_memory=True)\n",
    "val_loader = DataLoader(val_dataset, batch_size=batch_size, shuffle=False, num_workers=6, pin_memory=True)\n",
    "test_loader = DataLoader(test_dataset, batch_size=batch_size, shuffle=False, num_workers=6, pin_memory=True)\n",
    "\n",
    "class_names = [\"Coccidiosis\", \"Healthy\", \"Newcastle Disease\", \"Salmonella\"]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "48850674",
   "metadata": {
    "_cell_guid": "c884b4c5-cab0-4763-a64b-86a734ded761",
    "_uuid": "7901af6f-36aa-443a-bac6-d9ba6fa6b436",
    "id": "ZydjpOtGvH5t",
    "papermill": {
     "duration": 0.005927,
     "end_time": "2024-10-13T22:18:20.682125",
     "exception": false,
     "start_time": "2024-10-13T22:18:20.676198",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "## Step 3: Define Models\n",
    "\n",
    "We'll initialize three models: ResNet-18, DenseNet121, and VGG16. We'll modify their output layers to match the number of classes (4 classes in this dataset)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "2364f7e1",
   "metadata": {
    "_cell_guid": "80930f8d-c8fa-4797-b651-19e5a644ff79",
    "_uuid": "054f47a3-d1ae-4a49-8d40-c155faeb131f",
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2024-10-13T22:18:20.695745Z",
     "iopub.status.busy": "2024-10-13T22:18:20.695399Z",
     "iopub.status.idle": "2024-10-13T22:18:26.762180Z",
     "shell.execute_reply": "2024-10-13T22:18:26.761182Z"
    },
    "id": "WJPsstHtvH5u",
    "jupyter": {
     "outputs_hidden": false
    },
    "papermill": {
     "duration": 6.07658,
     "end_time": "2024-10-13T22:18:26.764948",
     "exception": false,
     "start_time": "2024-10-13T22:18:20.688368",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/conda/lib/python3.10/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.\n",
      "  warnings.warn(\n",
      "/opt/conda/lib/python3.10/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=ResNet18_Weights.IMAGENET1K_V1`. You can also use `weights=ResNet18_Weights.DEFAULT` to get the most up-to-date weights.\n",
      "  warnings.warn(msg)\n",
      "Downloading: \"https://download.pytorch.org/models/resnet18-f37072fd.pth\" to /root/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth\n",
      "100%|██████████| 44.7M/44.7M [00:00<00:00, 177MB/s]\n",
      "/opt/conda/lib/python3.10/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=DenseNet121_Weights.IMAGENET1K_V1`. You can also use `weights=DenseNet121_Weights.DEFAULT` to get the most up-to-date weights.\n",
      "  warnings.warn(msg)\n",
      "Downloading: \"https://download.pytorch.org/models/densenet121-a639ec97.pth\" to /root/.cache/torch/hub/checkpoints/densenet121-a639ec97.pth\n",
      "100%|██████████| 30.8M/30.8M [00:00<00:00, 146MB/s]\n",
      "/opt/conda/lib/python3.10/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=VGG16_Weights.IMAGENET1K_V1`. You can also use `weights=VGG16_Weights.DEFAULT` to get the most up-to-date weights.\n",
      "  warnings.warn(msg)\n",
      "Downloading: \"https://download.pytorch.org/models/vgg16-397923af.pth\" to /root/.cache/torch/hub/checkpoints/vgg16-397923af.pth\n",
      "100%|██████████| 528M/528M [00:02<00:00, 191MB/s]\n"
     ]
    }
   ],
   "source": [
    "# Define function to initialize models\n",
    "def initialize_model(model_name, num_classes):\n",
    "    if model_name == \"resnet18\":\n",
    "        model = resnet18(pretrained=True)\n",
    "        model.fc = nn.Linear(model.fc.in_features, num_classes)\n",
    "    elif model_name == \"densenet121\":\n",
    "        model = densenet121(pretrained=True)\n",
    "        model.classifier = nn.Linear(model.classifier.in_features, num_classes)\n",
    "    elif model_name == \"vgg16\":\n",
    "        model = vgg16(pretrained=True)\n",
    "        model.classifier[6] = nn.Linear(model.classifier[6].in_features, num_classes)\n",
    "    return model_parallel(model)  # Send model to GPU(s)\n",
    "\n",
    "# Initialize the models\n",
    "resnet_model = initialize_model(\"resnet18\", num_classes=4)\n",
    "densenet_model = initialize_model(\"densenet121\", num_classes=4)\n",
    "vgg_model = initialize_model(\"vgg16\", num_classes=4)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "354cb817",
   "metadata": {
    "_cell_guid": "9e2ffab1-2910-4fb9-9607-69b6a2404501",
    "_uuid": "35f8ee47-280b-480e-b1f9-582d8731b0ad",
    "id": "PnkGHgoIvH5x",
    "papermill": {
     "duration": 0.010819,
     "end_time": "2024-10-13T22:18:26.788206",
     "exception": false,
     "start_time": "2024-10-13T22:18:26.777387",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "## Step 4: Define Optimizer, Loss Function, and Scheduler\n",
    "We will use the same optimizer, loss function, and learning rate scheduler for all models."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "4687ea65",
   "metadata": {
    "_cell_guid": "1857c145-503c-4c7a-899c-e41dc6859125",
    "_uuid": "7dc98947-dff5-4d4c-b1f8-4ee79559a7d2",
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2024-10-13T22:18:26.808948Z",
     "iopub.status.busy": "2024-10-13T22:18:26.808368Z",
     "iopub.status.idle": "2024-10-13T22:18:26.817659Z",
     "shell.execute_reply": "2024-10-13T22:18:26.816791Z"
    },
    "id": "7L2epwlUvH5y",
    "jupyter": {
     "outputs_hidden": false
    },
    "outputId": "96abff86-2dea-4bf7-9bce-948a429b2413",
    "papermill": {
     "duration": 0.021743,
     "end_time": "2024-10-13T22:18:26.819560",
     "exception": false,
     "start_time": "2024-10-13T22:18:26.797817",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "# Define loss function\n",
    "criterion = nn.CrossEntropyLoss()\n",
    "\n",
    "# Define optimizer and learning rate scheduler\n",
    "def get_optimizer(model):\n",
    "    optimizer = optim.AdamW(model.parameters(), lr=0.001, weight_decay=0.01)\n",
    "    scheduler = lr_scheduler.ReduceLROnPlateau(optimizer, 'min', patience=3, factor=0.2, min_lr=1e-5)\n",
    "    return optimizer, scheduler\n",
    "\n",
    "# Initialize optimizers and schedulers for each model\n",
    "resnet_optimizer, resnet_scheduler = get_optimizer(resnet_model)\n",
    "densenet_optimizer, densenet_scheduler = get_optimizer(densenet_model)\n",
    "vgg_optimizer, vgg_scheduler = get_optimizer(vgg_model)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0fc85def",
   "metadata": {
    "_cell_guid": "1b2f01eb-aa1d-48a0-b0e1-919d9bde881f",
    "_uuid": "210ef4e0-8ef7-4104-a168-7e9ae654e7a3",
    "id": "TEmn16XZvH52",
    "papermill": {
     "duration": 0.009483,
     "end_time": "2024-10-13T22:18:26.838720",
     "exception": false,
     "start_time": "2024-10-13T22:18:26.829237",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "## Step 5: Training Loop with Progress Bar\n",
    "We will now define the training loop, including progress bars for each epoch. This loop will train the models for 30 epochs and display the training progress for each batch."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "fbbf4ad6",
   "metadata": {
    "_cell_guid": "424f43fb-09cc-4caa-a0fa-96ce2ff298d5",
    "_uuid": "9d9dd1c1-78f6-4d07-b8e5-ec83a42298c8",
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2024-10-13T22:18:26.859767Z",
     "iopub.status.busy": "2024-10-13T22:18:26.859157Z",
     "iopub.status.idle": "2024-10-13T22:18:26.874743Z",
     "shell.execute_reply": "2024-10-13T22:18:26.873901Z"
    },
    "id": "PmOy0giBvH52",
    "jupyter": {
     "outputs_hidden": false
    },
    "papermill": {
     "duration": 0.028394,
     "end_time": "2024-10-13T22:18:26.876734",
     "exception": false,
     "start_time": "2024-10-13T22:18:26.848340",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "from torch.cuda.amp import autocast, GradScaler\n",
    "from tqdm import tqdm\n",
    "import os\n",
    "\n",
    "def train_model(model, optimizer, scheduler, train_loader, val_loader, model_name, num_epochs=30, accumulation_steps=4):\n",
    "    best_val_loss = float('inf')\n",
    "    history = {\"train_loss\": [], \"val_loss\": [], \"train_acc\": [], \"val_acc\": []}\n",
    "    scaler = GradScaler()  # For mixed precision training\n",
    "\n",
    "    # Directory to save models\n",
    "    save_dir = '/kaggle/working'\n",
    "    os.makedirs(save_dir, exist_ok=True)\n",
    "\n",
    "    for epoch in range(num_epochs):\n",
    "        model.train()\n",
    "        running_loss = 0.0\n",
    "        correct_train = 0\n",
    "        total_train = 0\n",
    "\n",
    "        print(f\"\\nEpoch {epoch+1}/{num_epochs}\")\n",
    "        \n",
    "        # Initialize progress bar for training\n",
    "        progress_bar = tqdm(total=len(train_loader), desc=f\"Training Epoch {epoch+1}/{num_epochs}\", position=0, leave=True)\n",
    "\n",
    "        # Zero the optimizer's gradients before accumulation starts\n",
    "        optimizer.zero_grad()\n",
    "\n",
    "        for batch_idx, (inputs, labels) in enumerate(train_loader):\n",
    "            inputs, labels = inputs.to(device), labels.to(device)\n",
    "\n",
    "            # Forward pass with mixed precision\n",
    "            with autocast():\n",
    "                outputs = model(inputs)\n",
    "                loss = criterion(outputs, labels) / accumulation_steps  # Normalize loss by accumulation steps\n",
    "\n",
    "            # Backward pass with gradient scaling\n",
    "            scaler.scale(loss).backward()\n",
    "\n",
    "            if (batch_idx + 1) % accumulation_steps == 0:\n",
    "                # Apply gradients after accumulating for `accumulation_steps` batches\n",
    "                scaler.step(optimizer)\n",
    "                scaler.update()\n",
    "                optimizer.zero_grad()  # Reset gradients\n",
    "\n",
    "            running_loss += loss.item() * accumulation_steps\n",
    "            _, predicted = torch.max(outputs.data, 1)\n",
    "            total_train += labels.size(0)\n",
    "            correct_train += (predicted == labels).sum().item()\n",
    "\n",
    "            # Update progress bar\n",
    "            progress_bar.update(1)\n",
    "            progress_bar.set_postfix({\"Batch Loss\": running_loss / (total_train / batch_size)})\n",
    "\n",
    "        # Close the progress bar after the epoch\n",
    "        progress_bar.close()\n",
    "\n",
    "        train_accuracy = 100 * correct_train / total_train\n",
    "\n",
    "        # Validation after each epoch\n",
    "        val_loss, val_accuracy = evaluate_model(model, val_loader)\n",
    "\n",
    "        # Save metrics for plotting\n",
    "        history[\"train_loss\"].append(running_loss / len(train_loader))\n",
    "        history[\"val_loss\"].append(val_loss)\n",
    "        history[\"train_acc\"].append(train_accuracy)\n",
    "        history[\"val_acc\"].append(val_accuracy)\n",
    "\n",
    "        # Update scheduler\n",
    "        scheduler.step(val_loss)\n",
    "\n",
    "        # Clear GPU cache after each epoch to free memory\n",
    "        torch.cuda.empty_cache()\n",
    "\n",
    "        # Save model checkpoint\n",
    "        model_save_path = os.path.join(save_dir, f\"{model_name}_epoch_{epoch+1}.pth\")\n",
    "        torch.save(model.state_dict(), model_save_path)\n",
    "        print(f\"Model saved at {model_save_path}\")\n",
    "\n",
    "        # Print epoch results and completion percentage\n",
    "        print(f\"Epoch {epoch+1}/{num_epochs} - Train Loss: {running_loss / len(train_loader):.4f}, Val Loss: {val_loss:.4f}, \"\n",
    "              f\"Train Acc: {train_accuracy:.2f}%, Val Acc: {val_accuracy:.2f}%\")\n",
    "\n",
    "    return history"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f6394385",
   "metadata": {
    "_cell_guid": "7bff9235-3c49-4ee9-8cf0-7e9b9bea9a94",
    "_uuid": "4c3d79f8-cbc0-4153-9776-48033be64293",
    "editable": true,
    "id": "Oc63vk5qvH53",
    "papermill": {
     "duration": 0.009668,
     "end_time": "2024-10-13T22:18:26.896239",
     "exception": false,
     "start_time": "2024-10-13T22:18:26.886571",
     "status": "completed"
    },
    "slideshow": {
     "slide_type": ""
    },
    "tags": []
   },
   "source": [
    "## Step 6: Evaluate Model Performance\n",
    "The evaluate_model function performs validation by calculating the loss and accuracy on the validation set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "4f47f5d5",
   "metadata": {
    "_cell_guid": "c764bdf1-0cf9-414f-a451-010a82e9b36e",
    "_uuid": "00657f33-f306-4923-bc05-6abba4731f61",
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2024-10-13T22:18:26.917174Z",
     "iopub.status.busy": "2024-10-13T22:18:26.916796Z",
     "iopub.status.idle": "2024-10-13T22:18:26.923857Z",
     "shell.execute_reply": "2024-10-13T22:18:26.922983Z"
    },
    "id": "RmUVbXtfvH53",
    "jupyter": {
     "outputs_hidden": false
    },
    "papermill": {
     "duration": 0.019803,
     "end_time": "2024-10-13T22:18:26.925718",
     "exception": false,
     "start_time": "2024-10-13T22:18:26.905915",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "def evaluate_model(model, val_loader):\n",
    "    model.eval()\n",
    "    correct_val = 0\n",
    "    total_val = 0\n",
    "    val_loss = 0.0\n",
    "    with torch.no_grad():  # Disable gradient calculations for validation\n",
    "        for inputs, labels in val_loader:\n",
    "            inputs, labels = inputs.to(device), labels.to(device)\n",
    "            outputs = model(inputs)\n",
    "            loss = criterion(outputs, labels)\n",
    "            val_loss += loss.item()\n",
    "            _, predicted = torch.max(outputs.data, 1)\n",
    "            total_val += labels.size(0)\n",
    "            correct_val += (predicted == labels).sum().item()\n",
    "\n",
    "    val_accuracy = 100 * correct_val / total_val\n",
    "    return val_loss / len(val_loader), val_accuracy"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6055881d",
   "metadata": {
    "_cell_guid": "0bfb65d8-c2e9-4518-8be9-e999650d3b8a",
    "_uuid": "0c9235e3-9dd8-499d-8802-c8cb6acb2e89",
    "papermill": {
     "duration": 0.00939,
     "end_time": "2024-10-13T22:18:26.944897",
     "exception": false,
     "start_time": "2024-10-13T22:18:26.935507",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "## Step 7: Train and Compare Models\n",
    "We will now train all three models and compare their training performance using the plot_metrics function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "2f3eb734",
   "metadata": {
    "_cell_guid": "0cad05d1-a1cb-4f6b-b531-4b3be0e7717d",
    "_uuid": "f4272878-e703-4992-b449-a72903d4be18",
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2024-10-13T22:18:26.965709Z",
     "iopub.status.busy": "2024-10-13T22:18:26.965363Z",
     "iopub.status.idle": "2024-10-13T22:56:36.669663Z",
     "shell.execute_reply": "2024-10-13T22:56:36.668483Z"
    },
    "jupyter": {
     "outputs_hidden": false
    },
    "papermill": {
     "duration": 2292.353776,
     "end_time": "2024-10-13T22:56:39.308240",
     "exception": false,
     "start_time": "2024-10-13T22:18:26.954464",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_23/208636244.py:8: FutureWarning: `torch.cuda.amp.GradScaler(args...)` is deprecated. Please use `torch.amp.GradScaler('cuda', args...)` instead.\n",
      "  scaler = GradScaler()  # For mixed precision training\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Epoch 1/3\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Training Epoch 1/3:   0%|          | 0/6250 [00:00<?, ?it/s]/tmp/ipykernel_23/208636244.py:32: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.\n",
      "  with autocast():\n",
      "/opt/conda/lib/python3.10/site-packages/torch/nn/parallel/parallel_apply.py:79: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.\n",
      "  with torch.cuda.device(device), torch.cuda.stream(stream), autocast(enabled=autocast_enabled):\n",
      "Training Epoch 1/3: 100%|██████████| 6250/6250 [12:39<00:00,  8.23it/s, Batch Loss=0.284]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model saved at /kaggle/working/resnet18_epoch_1.pth\n",
      "Epoch 1/3 - Train Loss: 0.2840, Val Loss: 0.2009, Train Acc: 89.37%, Val Acc: 92.52%\n",
      "\n",
      "Epoch 2/3\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Training Epoch 2/3: 100%|██████████| 6250/6250 [11:14<00:00,  9.27it/s, Batch Loss=0.186]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model saved at /kaggle/working/resnet18_epoch_2.pth\n",
      "Epoch 2/3 - Train Loss: 0.1858, Val Loss: 0.1770, Train Acc: 93.05%, Val Acc: 93.35%\n",
      "\n",
      "Epoch 3/3\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Training Epoch 3/3: 100%|██████████| 6250/6250 [11:13<00:00,  9.28it/s, Batch Loss=0.149]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model saved at /kaggle/working/resnet18_epoch_3.pth\n",
      "Epoch 3/3 - Train Loss: 0.1494, Val Loss: 0.1522, Train Acc: 94.40%, Val Acc: 94.38%\n",
      "Final ResNet model saved at /kaggle/working/resnet18_final.pth\n"
     ]
    }
   ],
   "source": [
    "# Train the models and capture their training history\n",
    "\n",
    "# Train ResNet model\n",
    "history_resnet = train_model(resnet_model, resnet_optimizer, resnet_scheduler, train_loader, val_loader, \"resnet18\", num_epochs=3)\n",
    "\n",
    "resnet_final_path = \"/kaggle/working/resnet18_final.pth\"\n",
    "torch.save(resnet_model.state_dict(), resnet_final_path)\n",
    "print(f\"Final ResNet model saved at {resnet_final_path}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "7e85fdf2",
   "metadata": {
    "_cell_guid": "84df4050-11ef-461f-ac18-38205494b274",
    "_uuid": "7aabaab5-f7e2-4ed0-af1b-f5ae5da265b8",
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2024-10-13T22:56:44.703800Z",
     "iopub.status.busy": "2024-10-13T22:56:44.703394Z",
     "iopub.status.idle": "2024-10-14T01:00:21.555561Z",
     "shell.execute_reply": "2024-10-14T01:00:21.554415Z"
    },
    "jupyter": {
     "outputs_hidden": false
    },
    "papermill": {
     "duration": 7425.30778,
     "end_time": "2024-10-14T01:00:27.248682",
     "exception": false,
     "start_time": "2024-10-13T22:56:41.940902",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_23/208636244.py:8: FutureWarning: `torch.cuda.amp.GradScaler(args...)` is deprecated. Please use `torch.amp.GradScaler('cuda', args...)` instead.\n",
      "  scaler = GradScaler()  # For mixed precision training\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Epoch 1/3\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Training Epoch 1/3:   0%|          | 0/6250 [00:00<?, ?it/s]/tmp/ipykernel_23/208636244.py:32: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.\n",
      "  with autocast():\n",
      "Training Epoch 1/3: 100%|██████████| 6250/6250 [39:14<00:00,  2.65it/s, Batch Loss=0.243]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model saved at /kaggle/working/densenet121_epoch_1.pth\n",
      "Epoch 1/3 - Train Loss: 0.2432, Val Loss: 0.1620, Train Acc: 90.97%, Val Acc: 93.94%\n",
      "\n",
      "Epoch 2/3\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Training Epoch 2/3: 100%|██████████| 6250/6250 [39:12<00:00,  2.66it/s, Batch Loss=0.161]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model saved at /kaggle/working/densenet121_epoch_2.pth\n",
      "Epoch 2/3 - Train Loss: 0.1605, Val Loss: 0.1447, Train Acc: 94.06%, Val Acc: 94.53%\n",
      "\n",
      "Epoch 3/3\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Training Epoch 3/3: 100%|██████████| 6250/6250 [39:18<00:00,  2.65it/s, Batch Loss=0.132]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model saved at /kaggle/working/densenet121_epoch_3.pth\n",
      "Epoch 3/3 - Train Loss: 0.1324, Val Loss: 0.1287, Train Acc: 95.10%, Val Acc: 95.21%\n",
      "Final DenseNet model saved at /kaggle/working/densenet121_final.pth\n"
     ]
    }
   ],
   "source": [
    "# Train DenseNet model\n",
    "history_densenet = train_model(densenet_model, densenet_optimizer, densenet_scheduler, train_loader, val_loader, \"densenet121\", num_epochs=3)\n",
    "densenet_final_path = \"/kaggle/working/densenet121_final.pth\"\n",
    "torch.save(densenet_model.state_dict(), densenet_final_path)\n",
    "print(f\"Final DenseNet model saved at {densenet_final_path}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "109a6195",
   "metadata": {
    "_cell_guid": "2fdf56b4-8797-4c46-a55f-e8d73d1540dc",
    "_uuid": "7386aed4-9d9c-4f72-aa5a-d807ca3f7762",
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2024-10-14T01:00:38.837273Z",
     "iopub.status.busy": "2024-10-14T01:00:38.836845Z",
     "iopub.status.idle": "2024-10-14T02:54:15.839479Z",
     "shell.execute_reply": "2024-10-14T02:54:15.838410Z"
    },
    "jupyter": {
     "outputs_hidden": false
    },
    "papermill": {
     "duration": 6831.129321,
     "end_time": "2024-10-14T02:54:24.192234",
     "exception": false,
     "start_time": "2024-10-14T01:00:33.062913",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_23/208636244.py:8: FutureWarning: `torch.cuda.amp.GradScaler(args...)` is deprecated. Please use `torch.amp.GradScaler('cuda', args...)` instead.\n",
      "  scaler = GradScaler()  # For mixed precision training\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Epoch 1/3\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Training Epoch 1/3:   0%|          | 0/6250 [00:00<?, ?it/s]/tmp/ipykernel_23/208636244.py:32: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.\n",
      "  with autocast():\n",
      "Training Epoch 1/3: 100%|██████████| 6250/6250 [35:46<00:00,  2.91it/s, Batch Loss=0.704]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model saved at /kaggle/working/vgg16_epoch_1.pth\n",
      "Epoch 1/3 - Train Loss: 0.7038, Val Loss: 0.4687, Train Acc: 71.44%, Val Acc: 81.09%\n",
      "\n",
      "Epoch 2/3\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Training Epoch 2/3: 100%|██████████| 6250/6250 [35:41<00:00,  2.92it/s, Batch Loss=0.4]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model saved at /kaggle/working/vgg16_epoch_2.pth\n",
      "Epoch 2/3 - Train Loss: 0.3997, Val Loss: 0.3680, Train Acc: 84.96%, Val Acc: 86.59%\n",
      "\n",
      "Epoch 3/3\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Training Epoch 3/3: 100%|██████████| 6250/6250 [35:39<00:00,  2.92it/s, Batch Loss=0.338]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model saved at /kaggle/working/vgg16_epoch_3.pth\n",
      "Epoch 3/3 - Train Loss: 0.3376, Val Loss: 0.3385, Train Acc: 87.47%, Val Acc: 87.46%\n",
      "Final VGG model saved at /kaggle/working/vgg16_final.pth\n"
     ]
    }
   ],
   "source": [
    "# Train VGG model\n",
    "history_vgg = train_model(vgg_model, vgg_optimizer, vgg_scheduler, train_loader, val_loader, \"vgg16\", num_epochs=3)\n",
    "vgg_final_path = \"/kaggle/working/vgg16_final.pth\"\n",
    "torch.save(vgg_model.state_dict(), vgg_final_path)\n",
    "print(f\"Final VGG model saved at {vgg_final_path}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "581e210a",
   "metadata": {
    "_cell_guid": "3f1c67f0-ddb0-4ac1-aff9-dc405eaa7cbd",
    "_uuid": "678a2ac2-2000-4a90-9212-f3ad08697630",
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2024-10-14T02:54:41.799626Z",
     "iopub.status.busy": "2024-10-14T02:54:41.798780Z",
     "iopub.status.idle": "2024-10-14T02:54:42.615384Z",
     "shell.execute_reply": "2024-10-14T02:54:42.614447Z"
    },
    "jupyter": {
     "outputs_hidden": false
    },
    "papermill": {
     "duration": 9.616827,
     "end_time": "2024-10-14T02:54:42.618576",
     "exception": false,
     "start_time": "2024-10-14T02:54:33.001749",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABW0AAAPeCAYAAAB3GThSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3hUZf7+8ffMpJdJDymE9AChhAQQlbYqKqC4ICK6KEVwvwrICoIUlaKuUamKBX6ugLusoqJioSxlQYquhdCUmhASenrvyfz+iIxECAQIhHK/riuXznPOeZ7PGYZ288lzDBaLxYKIiIiIiIiIiIiIXBWMDV2AiIiIiIiIiIiIiPxOoa2IiIiIiIiIiIjIVUShrYiIiIiIiIiIiMhVRKGtiIiIiIiIiIiIyFVEoa2IiIiIiIiIiIjIVUShrYiIiIiIiIiIiMhVRKGtiIiIiIiIiIiIyFVEoa2IiIiIiIiIiIjIVUShrYiIiIiIiIiIiMhVRKGtiIiIyHVk8ODBhISEXNS1U6dOxWAw1G9BV5lDhw5hMBhYtGjRFV/bYDAwdepU6+tFixZhMBg4dOjQea8NCQlh8ODB9VrPpXxWREREROTyUmgrIiIicgUYDIY6fW3YsKGhS73hjRo1CoPBQGJiYq3nPPfccxgMBnbu3HkFK7twx44dY+rUqWzfvr2hS7E6FZzPmDGjoUsRERERuWrZNHQBIiIiIjeCf/3rXzVe//Of/2TNmjVnjDdv3vyS1nnvvfeoqqq6qGuff/55JkyYcEnrXw8GDBjA3Llz+fDDD5k8efJZz/noo49o1aoVrVu3vuh1Hn30UR566CHs7e0veo7zOXbsGNOmTSMkJIQ2bdrUOHYpnxURERERubwU2oqIiIhcAY888kiN1//73/9Ys2bNGeN/VFRUhJOTU53XsbW1vaj6AGxsbLCx0R8PO3ToQEREBB999NFZQ9vvv/+e5ORkXn311Utax2QyYTKZLmmOS3EpnxURERERuby0PYKIiIjIVeJPf/oTLVu2ZOvWrXTp0gUnJycmTZoEwJdffsk999xDQEAA9vb2hIeH89JLL1FZWVljjj/uU3r6t6L/v//3/wgPD8fe3p727dvz008/1bj2bHvaGgwGRo4cybJly2jZsiX29va0aNGCVatWnVH/hg0baNeuHQ4ODoSHhzN//vw675O7adMm+vXrR5MmTbC3tycoKIjRo0dTXFx8xv25uLhw9OhRevfujYuLCz4+PowdO/aM9yInJ4fBgwfj5uaGu7s7gwYNIicn57y1QHW37d69e0lISDjj2IcffojBYODhhx+mrKyMyZMn07ZtW9zc3HB2dqZz586sX7/+vGucbU9bi8XCyy+/TOPGjXFycuK2227j119/PeParKwsxo4dS6tWrXBxccFsNtOjRw927NhhPWfDhg20b98egCFDhli34Di1n+/Z9rQtLCzkmWeeISgoCHt7e5o2bcqMGTOwWCw1zruQz8XFSktLY+jQoTRq1AgHBwdiYmL44IMPzjhvyZIltG3bFldXV8xmM61ateKNN96wHi8vL2fatGlERkbi4OCAl5cXnTp1Ys2aNfVWq4iIiEh9UyuFiIiIyFUkMzOTHj168NBDD/HII4/QqFEjoDrgc3FxYcyYMbi4uPDf//6XyZMnk5eXx/Tp088774cffkh+fj7/93//h8Fg4PXXX+f+++/n4MGD5+243Lx5M59//jnDhw/H1dWVN998k759+5KamoqXlxcA27Zto3v37vj7+zNt2jQqKyt58cUX8fHxqdN9f/rppxQVFfHkk0/i5eXFjz/+yNy5czly5AiffvppjXMrKyu5++676dChAzNmzGDt2rXMnDmT8PBwnnzySaA6/Pzzn//M5s2beeKJJ2jevDlffPEFgwYNqlM9AwYMYNq0aXz44YfExcXVWPuTTz6hc+fONGnShIyMDP7xj3/w8MMP8/jjj5Ofn8/777/P3XffzY8//njGlgTnM3nyZF5++WV69uxJz549SUhI4K677qKsrKzGeQcPHmTZsmX069eP0NBQTp48yfz58+natSu7d+8mICCA5s2b8+KLLzJ58mT++te/0rlzZwBuvfXWs65tsVi47777WL9+PUOHDqVNmzb85z//Ydy4cRw9epTZs2fXOL8un4uLVVxczJ/+9CcSExMZOXIkoaGhfPrppwwePJicnBz+9re/AbBmzRoefvhh7rjjDl577TUA9uzZw5YtW6znTJ06lfj4eIYNG8ZNN91EXl4eP//8MwkJCdx5552XVKeIiIjIZWMRERERkStuxIgRlj/+Uaxr164WwDJv3rwzzi8qKjpj7P/+7/8sTk5OlpKSEuvYoEGDLMHBwdbXycnJFsDi5eVlycrKso5/+eWXFsDy9ddf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ERERERERERGRG4TFYiE/P5+AgACMxtr7aW+40PbYsWMEBQU1dBkiIiIiIiIiIiJygzp8+DCNGzeu9fgNF9q6uroC1W+M2Wxu4GpERERERERERETkRpGXl0dQUJA1o6zNDRfantoSwWw2K7QVERERERERERGRK+5827bqQWQiIiIiIiIiIiIiVxGFtiIiIiIiIiIiIiJXEYW2IiIiIiIiIiIiIleRG25PWxERERERERERubKqqqooKytr6DJELjtbW1tMJtMlz6PQVkRERERERERELpuysjKSk5Opqqpq6FJErgh3d3f8/PzO+7Cxc1FoKyIiIiIiIiIil4XFYuH48eOYTCaCgoIwGrVTp1y/LBYLRUVFpKWlAeDv73/Rcym0FRERERERERGRy6KiooKioiICAgJwcnJq6HJELjtHR0cA0tLS8PX1veitEvTPGyIiIiIiIiIicllUVlYCYGdn18CViFw5p/6Bory8/KLnUGgrIiIiIiIiIiKX1aXs7SlyramPz7tCWxEREREREREREZGriEJbERERERERERERuWBTp06lTZs2DV3GdUmhrYiIiIiIiIiIyGkGDx6MwWDAYDBga2tLaGgozz77LCUlJfW2hsFgwMHBgZSUlBrjvXv3ZvDgwXWeZ8OGDRgMBnJycmo95/T7OdtXSEjIRd3D2LFjWbdu3UVde8qiRYtwd3e/pDmuRwptRURERERERERE/qB79+4cP36cgwcPMnv2bObPn8+UKVPqdQ2DwcDkyZPrdc6zeeONNzh+/Lj1C2DhwoXW1z/99FON88vKyuo0r4uLC15eXvVeryi0FREREREREREROYO9vT1+fn4EBQXRu3dvunXrxpo1a6zHq6qqiI+PJzQ0FEdHR2JiYli6dKn1eHZ2NgMGDMDHxwdHR0ciIyNZuHBhjTVGjhzJ4sWL+eWXX2qt41zrHDp0iNtuuw0ADw8PDAbDWbt03dzc8PPzs34BuLu7W1+3b9+el156iYEDB2I2m/nrX/8KwPjx44mKisLJyYmwsDBeeOEFysvLrfP+cXuEwYMH07t3b2bMmIG/vz9eXl6MGDGixjUXKjU1lT//+c+4uLhgNpt58MEHOXnypPX4jh07uO2223B1dcVsNtO2bVt+/vlnAFJSUujVqxceHh44OzvTokULVqxYcdG1XEk2DV0AwNtvv8306dM5ceIEMTExzJ07l5tuuums5/7pT3/i22+/PWO8Z8+eLF++/HKXes0pzC3FwdkWk43yeRERERERERFpWBaLheLyygZZ29HWhMFguKhrf/nlF7777juCg4OtY/Hx8SxevJh58+YRGRnJxo0beeSRR/Dx8aFr16688MIL7N69m5UrV+Lt7U1iYiLFxcU15u3YsSP79+9nwoQJfPPNN2dd+1zrdOrUic8++4y+ffuyb98+zGYzjo6OF3WPM2bMYPLkyTW6iV1dXVm0aBEBAQHs2rWLxx9/HFdXV5599tla51m/fj3+/v6sX7+exMRE+vfvT5s2bXj88ccvuKaqqiprYPvtt99SUVHBiBEj6N+/Pxs2bABgwIABxMbG8u6772Iymdi+fTu2trYAjBgxgrKyMjZu3IizszO7d+/GxcXlgutoCA0e2n788ceMGTOGefPm0aFDB+bMmcPdd9/Nvn378PX1PeP8zz//vEaLdmZmJjExMfTr1+9Kln3N2LB4L8eTcgmN8SY8zpeg5p4KcEVERERERESkQRSXVxI9+T8NsvbuF+/Gya7uUdg333yDi4sLFRUVlJaWYjQaeeuttwAoLS3llVdeYe3atdxyyy0AhIWFsXnzZubPn0/Xrl1JTU0lNjaWdu3aAdS6b2x8fDytW7dm06ZNdO7cucaxuqzj6ekJgK+v7yXtDXv77bfzzDPP1Bh7/vnnrf8fEhLC2LFjWbJkyTlDWw8PD9566y1MJhPNmjXjnnvuYd26dRcV2q5bt45du3aRnJxMUFAQAP/85z9p0aIFP/30E+3btyc1NZVx48bRrFkzACIjI63Xp6am0rdvX1q1agVUv3fXigYPbWfNmsXjjz/OkCFDAJg3bx7Lly9nwYIFTJgw4YzzT30QT1myZAlOTk4Kbc+isrKKjKMFlBZVsPf7E+z9/gR2jjaEtvYmvK0vQc09sLE1NXSZIiIiIiIiIiJXndtuu413332XwsJCZs+ejY2NDX379gUgMTGRoqIi7rzzzhrXlJWVERsbC8CTTz5J3759SUhI4K677qJ3797ceuutZ6wTHR3NwIEDmTBhAlu2bKlxrC7r1JdT4fLpPv74Y958802SkpIoKCigoqICs9l8znlatGiByfR73uTv78+uXbsuqqY9e/YQFBRkDWyh+v1yd3dnz549tG/fnjFjxjBs2DD+9a9/0a1bN/r160d4eDgAo0aN4sknn2T16tV069aNvn370rp164uq5Upr0NC2rKyMrVu3MnHiROuY0WikW7dufP/993Wa4/333+ehhx7C2dn5cpV5zTKZjDz68q0cT8whaWsaSdvSKcorY98PJ9j3wwlsHUzVAW6cL02iPbGxU4ArIiIiIiIiIpePo62J3S/e3WBrXwhnZ2ciIiIAWLBgATExMbz//vsMHTqUgoICAJYvX05gYGCN6+zt7QHo0aMHKSkprFixgjVr1nDHHXcwYsQIZsyYccZa06ZNIyoqimXLltUYr8s69eWP2dr333/PgAEDmDZtGnfffTdubm4sWbKEmTNnnnOeU1sTnGIwGKiqqqrXWk83depU/vKXv7B8+XJWrlzJlClTWLJkCX369GHYsGHcfffdLF++nNWrVxMfH8/MmTN56qmnLls99aVBQ9uMjAwqKytp1KhRjfFGjRqxd+/e817/448/8ssvv/D+++/Xek5paSmlpaXW13l5eRdf8DXIaDQQGOVBYJQHnftHcTwpl6SENJIS0ijMLWP/jyfZ/+NJbO1NhLTyIrytL8EtvBTgioiIiIiIiEi9MxgMF7RFwdXCaDQyadIkxowZw1/+8heio6Oxt7cnNTWVrl271nqdj48PgwYNYtCgQXTu3Jlx48adNbQNCgpi5MiRTJo0ydolCtRpHTs7OwAqK+t3r+BTe/g+99xz1rGUlJR6XeN8mjdvzuHDhzl8+LC123b37t3k5OQQHR1tPS8qKoqoqChGjx7Nww8/zMKFC+nTpw9Q/d4+8cQTPPHEE0ycOJH33ntPoe3l9v7779OqVataH1oG1fuCTJs27QpWdfUyGA0ERLoTEOlOp36RnEjO+60DN42C7FIO/JzGgZ/TsLE3EdLSi/A4X4JbemFrrwBXRERERERERG5s/fr1Y9y4cbz99tuMHTuWsWPHMnr0aKqqqujUqRO5ubls2bIFs9nMoEGDmDx5Mm3btqVFixaUlpbyzTff0Lx581rnPxUoJicn079/f6D6QWDnWyc4OBiDwcA333xDz549cXR0rJeHbUVGRpKamsqSJUto3749y5cv54svvrjkec+msrKS7du31xizt7enW7dutGrVigEDBjBnzhwqKioYPnw4Xbt2pV27dhQXFzNu3DgeeOABQkNDOXLkCD/99JN1G4unn36aHj16EBUVRXZ2NuvXrz/n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ERERERG5ohTaikiDcDLb0bJLIC27BFKc/1uAuy2dI3uzyTxSQOaRAn74KhnPAOfftlDwxdNfAa6IiIiIiIjI9WDRokU8/fTT5OTkNHQpVyVjQxcgIuLoakeLzoHcN6oNj73eidsebUaTFp4YjQayjhXy49fJfDTtBz6c9gM/fn2QzKMFWCyWhi5bRERERERErlODBw/GYDBgMBiwtbWlUaNG3HnnnSxYsICqqqqGLu8MBoMBBwcHUlJSaoz37t2bwYMH13meDRs2YDAYzhmkfvbZZ5hMJo4ePXrW45GRkYwZM6bOa56LwWBg2bJl9TLXtUahrYhcVRxcbInuGECvp9owZHonbh/YnOCWXhhNBrKPF/LT8kMseelHPpr2Az98dZCMIwpwRUREREREpP51796d48ePc+jQIVauXMltt93G3/72N+69914qKioaurwzGAwGJk+efNnXue+++/Dy8uKDDz4449jGjRtJTExk6NChl72O651CWxG5ajk429L8Vn/uHRnDY9M7ccfg5oS09sZoYyD7RBE/rzjExy//yIdTf+B/y5JIP5yvAFdERERERETqhb29PX5+fgQGBhIXF8ekSZP48ssvWblyJYsWLbKel5OTw7Bhw/Dx8cFsNnP77bezY8cO6/GpU6fSpk0b/vWvfxESEoKbmxsPPfQQ+fn51nOWLl1Kq1atcHR0xMvLi27dulFYWGg9/o9//IPmzZvj4OBAs2bNeOedd86od+TIkSxevJhffvml1nuqqqoiPj6e0NBQHB0diYmJYenSpQAcOnSI2267DQAPDw8MBsNZu3RtbW159NFHa7wHpyxYsIAOHTrQokULZs2aRatWrXB2diYoKIjhw4dTUFBQa20XqqqqihdffJHGjRtjb29PmzZtWLVqlfV4WVkZI0eOxN/fHwcHB4KDg4mPjwfAYrEwdepUmjRpgr29PQEBAYwaNareaqsP2tNWRK4J9k62NLvZn2Y3+1NaXMGhnRkkJaSR+msWOSeL2Loqha2rUnDzcSQ8zpfwOB98mrhiMBgaunQRERERERH5jcViwVJc3CBrGxwdL/nviLfffjsxMTF8/vnnDBs2DIB+/frh6OjIypUrcXNzY/78+dxxxx3s378fT09PAJKSkli2bBnffPMN2dnZPPjgg7z66qv8/e9/5/jx4zz88MO8/vrr9OnTh/z8fDZt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rABXRERERETOpNC2FgptL5+y4qLftl/IPG07hgxrF29+ViYl+Xl1mstka3vWB6ed2o7B1csbJ7MbBqPxMt+ViIjI2eWcLCJpW/VDzNJT863jBgMERP4W4Mb64OymPeFFRERERKSaQttaKLRtWOVlpRRY99U9e9duUW5OneYymky4eHpZH5z2e6D7e9eus7sHRpPp8t6UiIjc8HLTi61bKKSl/B7gYoCAiOoANzzWB2d3BbgiIiIiIjcyhba1UGh79asoL6cwO+ucD08rzM7GYqk671wGgxFnD49zdu26eHpistGDZEREpH7kZRSTtK36IWYnk0/7DhMD+Ie7ER7rS3icDy4eDg1XpIiIiIiINAiFtrVQaHt9qKqspDAnu0anrjXk/S3gLczOoqqysk7zObm5n/PhaS6eXtjaqTtKREQuTH5WibUD98TBmlsE+YWZqztw43xx9VSAKyIiIiJyI1BoWwuFtjeOqqpKinJzrV26f3xw2qmQt7Kiok7zObqaz/IAtepA99R/7RwcL/NdiYjItaogu8T6ELPjSblw2p/AGoWarR24Zm/9XiIiIiIicr1SaFsLhbZyOovFQnF+3ln31j29g7eitLRO89k7O9fcguEPHbuuXt7YOTphMBgu852JiMjVrDCn1LqFwrHEnBoBrm+wq7UD181HAa6IiIiIyPVEoW0tFNrKhbJYLJQWFp62x+5ZunYzMygrLqrTfLYOjrU+OO1U166Di6uCXRGRG0RhbikHTwW4B3I4/U9mPk1cCY/zITzOF3dfp4YrUkRERERE6oVC21ootJXLpbSoqMa2C6c/OO3UA9VKCvLPPxFgY2tX64PTToW7TmY3DEbjZb4rERG5koryyji4vTrAPbovu0aA6x3kQnisLxFtfXFvpABXRERERORapNC2FgptpSGVl5b81pn7e6duflbNrt2i3Jw6zWU02fzWmXuWbRg8vXHx8sLZ3QOj0XR5b0pERC6L4vzfA9wj+3KwVP3+RzavQGfC46oDXA8/5wasUkRERERELoRC21ootJWrXUV5OYXZmb8Humfp2i3IyYY6/NQ1GI04e3hWPzytlq5dZw9PTDY2V+DORETkYhUXlJG8I4OkrWkc2ZtN1WkBrmeA82974PrgFeDSgFWKiIiIiMj5KLSthUJbuR5UVlRQmJN9xsPT8rMyyc9MpyAzk4LsTCxV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ERERERER0RioaWg7Uk1NTXjqqacwODiINWvW4LzzzsP8+fNx2GGHFa1dtWoVVq5cOf4nSURERERERERERDQCNQ1tp02bBkVRsHnz5sD+zZs3Y+bMmZH3k2UZu+yyCwBg0aJFePHFF7Fq1arQ0PbCCy/Eeeedl9vu7+/HvHnzRucJEBEREREREREREY2ymva01XUd++23H9asWZPb53ke1qxZg4MOOqji43ieF2iB4GcYBpqbmwNfRERERERERERERPWq5u0RzjvvPCxbtgz7778/DjzwQFxzzTUYGhrC8uXLAQCnn3465syZg1WrVgFItzvYf//9sWDBApimifvuuw+/+c1vcP3119fyaRARERERERERERGNipqHtieddBK2bt2KFStWYNOmTVi0aBFWr16dG0725ptvQpbzBcFDQ0P44he/iLfffhvxeBy77747br75Zpx00km1egpEREREREREREREo0YSQohan8R46u/vR0tLC/r6+tgqgYiIiIiIiIiIiMZNpdlkTXvaEhEREREREREREVEQQ1siIiIiIiIiIiKiOsLQloiIiIiIiIiIiKiO1HwQGY2t761+CV2DJmY2xzCzJY6ZLQY6m2OY1RJHW0KDJEm1PkUiIiIiIiIiIiLyYWg7yT34/Cas3zoUepuuyuhsNjCrOY7OlhhmNucD3Wy4O6MpBl1lQTYREREREREREdF4YWg7yX3liF3xZtcwNvWnsLk/hXf70pfbBi1Yjoe3upN4qzsZeX9JAjoaDMxsMTCzOZ65jBWFu00xbRyfFRERERERERER0eTF0HaS++iiOaH7LcfD5kyQu6k/hU19mS9fuLul34Tletg2aGLboInn3umPfJxGQ0Vns4GZLbHQcLezxcC0BgOyzHYMREREREREREREpTC0naJ0Vca89gTmtSci13ieQM+wlavOjQp3B1IOBk0Hg1udyFYMAKDKEjqbY7lwNx3opi9nZsLdGc0GYpoyFk+ZiIiIiIiIiIhoQmBoS5FkWUJHo4GORgN7z2mJXDdsOYEw1x/uZoPdbYMmHE/gnd4k3umNbscAAG0JLT00raByt7M5hpktMcxqjqM5rnKIGhERERERERERTUoMbWm7JXQV86c3Yv70xsg1juth66BZMtzd1J9CyvbQM2yjZ9jGi+9GP2ZMkzEzE+LObI5lBqn5KndbYpjeaEBV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dh1hww9ZNZ0XVjVdqoI6pFJZ11QYFQTP+dYdCUhac+n2HEZ4uw7IMlxZgiML2JILWxaw4MKSXdhwYUkeTDiw4MKUHJiwYQlnVNtYWF6+/7iAQMpNIeWm0t9OmTGlH78bRERERERERESjTJKkdKuAyV417XkhoXTEwEMnU6lcGDyHBNklhyEGWoOUGYZYsnWHHRF6B6vAp0LVtAIgnvkKkOXg8MPCSujI1h2NocEzVBVCluApMjwZ8BQJrgy4soRGSw45gamLoS0REREREREREY2IJMuQdH0KVU37gueoCupMuBxdQV3BMMSICur0Y46gJ7X/PCNugwiJnz0v3Wt7HAYhyl84d4wfYWJhaEtERERERERERBRhKldNR1dQ+8PrkLYeviC70mGIcqKh1t+CusLQloiIiIiIiIiIaIqbClXTE4lc6xMgIiIiIiIiIiIiojyGtkRERERERERERER1hKEtERERERERERERUR1haEtERERERERERERURxjaEhEREREREREREdURhrZEREREREREREREdYShLREREREREREREVEdYWhLREREREREREREVEcY2hIRERERERERERHVEYa2RERERERERERERHWEoS0RERERERERERFRHWFoS0RERERERERERFRHah7aXnfdddhpp50Qi8WwePFiPPbYY5Frn3/+eZx44onYaaedIEkSrrnmmvE7USIiIiIiIiIiIqJxUNPQ9re//S3OO+88XHzxxXjiiSewcOFCHH300diyZUvo+uHhYcyfPx9XXHEFZs6cOc5nS0RERERERERERDT2ahra/uAHP8DnPvc5LF++HHvuuSduuOEGJBIJ/OIXvwhdf8ABB+DKK6/EySefDMMwxvlsiYiIiIiIiIiIiMaeWqsHtiwLjz/+OC688MLcPlmWsWTJEqxbt27UHsc0TZimmdvu6+sDAPT394/aYxARERERERERERGVk80khRAl19UstN22bRtc10VnZ2dgf2dnJ1566aVRe5xVq1Zh5cqVRfvnzZs3ao9BREREREREREREVKmBgQG0tLRE3l6z0Ha8XHjhhTjvvPNy257nobu7Gx0dHZAkqYZnNj76+/sxb948vPXWW2hubq716dAkwdcVjQW+rmgs8HVFY4GvKxptfE3RWODrisYCX1c0Fqba60oIgYGBAcyePbvkupqFttOmTYOi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PjUiIiIiorLUWp8AEREREdFYOOaYY/DLX/4ysM8wjBqdDRERERFR5VhpS0RERESTkmEYmDlzZuCrra0NQLp1wfXXX49jjz0W8Xgc8+fPx5133hm4/7PPPosPfehDiMfj6OjowOc//3kMDg4G1vziF7/AXnvtBcMwMGvWLHz5y18O3L5t2zaccMIJSCQS2HXXXfGHP/whd1tPTw9OPfVUTJ8+HfF4HLvuumtRyExEREREUxNDWyIiIiKakr797W/jxBNPxNNPP41TTz0VJ598Ml588UUAwNDQEI4++mi0tbXh3//+N+644w48/PDDgVD2+uuvx5e+9CV8/vOfx7PPPos//OEP2GWXXQKPsXLlSnzyk5/EM888gw9/+MM49dRT0d3dnXv8F154Affffz9efPFFXH/99Zg2bdr4fQOIiIiIqG5JQghR65MgIiIiIhpNZ5xxBm6++WbEYrHA/m9+85v45je/CUmScNZZZ+H666/P3fb//X//H/bdd1/85Cc/wc9//nN84xvfwFtvvYWGhgYAwH333Yfjjz8eGzduRGdnJ+bMmYPly5fj8ssvDz0HSZLwrW99C5dddhmAdBDc2NiI+++/H8cccwz+4z/+A9OmTcMvfvGLMfouEBEREdFExZ62RERERDQpHX744YFQFgDa29tz1w866KDAbQcddBCeeuopAMCLL76IhQsX5gJbAHj/+98Pz/Pw8ssvQ5IkbNy4EUcccUTJc9hnn31y1xsaGtDc3IwtW7YAAM4++2yceOKJeOKJJ3DUUUdh6dKlOPjgg0f0XImIiIhocmFoS0RERESTUkNDQ1G7gtESj8crWqdpWmBbkiR4ngcAOPbYY/HGG2/gvvvuw0MPPYQjjjgCX/rSl3DVVVeN+vkSERER0cTCnrZERERENCX985//LNreY489AAB77LEHnn76aQwNDeVuf/TRRyHLMnbbbTc0NTVhp512wpo1a7brHKZPn45ly5bh5ptvxjXXXIOf/exn23U8IiIiIpocWGlLRERERJOSaZrYtGlTYJ+qqrlhX3fccQf2339/fOADH8Att9yCxx57DDfeeCMA4NRTT8XFF1+MZcuW4ZJLLsHWrVtxzjnn4LTTTkNnZycA4JJLLsFZZ52FGTNm4Nhjj8XAwAAeffRRnHPOORWd34oVK7Dffvthr732gmma+NOf/pQLjYmIiIhoamNoS0REREST0urVqzFr1qzAvt122w0vvfQSAGDlypW4/fbb8cUvfhGzZs3Cbbfdhj333BMAkEgk8MADD+CrX/0qDjjgACQSCZx44on4wQ9+kDvWsmXLkEqlcPXVV+NrX/sapk2bho9//OMVn5+u67jwwgvx+uuvIx6P45BDDsHtt98+Cs+ciIiIiCY6SQghan0SRERERETjSZIk3H333Vi6dGmtT4WIiIiIqAh72hIRERERERERERHVEYa2RERERERERERERHWEPW2JiIiIaMphhzAiIiIiqmestCUiIiIiIiIiIiKqIwxtiYiIiIiIiIiIiOoIQ1siIiIiIiIiIiKiOsLQloiIiIiIiIiIiKiOMLQlIiIiIiIiIiIiqiMMbYmIiIiIiIiIiIjqCENbIiIiIiIiIiIiojrC0JaIiIiIiIiIiIiojjC0JSIiIiIiIiIiIqojDG2JiIiIiIiIiIiI6ghDWyIiIiIiIiIiIqI6wtCWiIiIiIiIiIiIqI4wtCUiIiIiIiIiIiKqIwxtiYiIiGrsjDPOwE477TSi+15yySWQJGl0T6jOvP7665AkCb/61a/G/bElScIll1yS2/7Vr34FSZLw+uuvl73vTjvthDPOOGNUz2d7XitERERENHEwtCUiIiKKIElSRV9r166t9alOeV/5ylcgSRJeffXVyDUXXXQRJEnCM888M45nVr2NGzfikksuwVNPPVXrUwn14osvQpIkxGIx9Pb21vp0iIiIiCYlhrZEREREEX7zm98Evo488sjQ/Xvsscd2Pc7Pf/5zvPzyyyO677e+9S0kk8ntevzJ4NRTTwUA3HrrrZFrbrvtNrz3ve/FPvvsM+LHOe2005BMJrHjjjuO+BjlbNy4EStXrgwNbbfntTJabr75ZsycORMAcOedd9b0XIiIiIgmK7XWJ0BERERUrz796U8Htv/5z3/ioYceKtpfaHh4GIlEouLH0TRtROcHAKqqQlX5I93ixYuxyy674LbbbsOKFSuKbl+3bh02bNiAK664YrseR1EUKIqyXcfYHtvzWhkNQgjceuut+NSnPoUNGzbglltuwZlnnlnTc4oyNDSEhoaGWp8GERER0Yiw0paIiIhoOxx22GHYe++98fjjj+ODH/wgEokEvvnNbwIA7r33Xhx33HGYPXs2DMPAggULcNlll8F13cAxCvuUZnu4XnXVVfjZz36GBQsWwDAMHHDAAfj3v/8duG9YT1tJkvDlL38Z99xzD/bee28YhoG99toLq1evLjr/tWvXYv/990csFsOCBQvw05/+tOI+uX//+9/xiU98AjvssAMMw8C8efPwn//5n0WVv2eccQYaGxvxzjvvYOnSpWhsbMT06dPxta99reh70dvbizPOOAMtLS1obW3FsmXLKv4I/qmnnoqXXnoJTzzxRNFtt956KyRJwimnnALLsrBixQrst99+aGlpQUNDAw455BD89a9/LfsYYT1thRC4/PLLMXfuXCQSCRx++OF4/vnni+7b3d2Nr33ta3jve9+LxsZGNDc349hjj8XTTz+dW7N27VoccMABAIDly5fnWnBk+/mG9bQdGhrC+eefj3nz5sEwDOy222646qqrIIQIrKvmdRHl0Ucfxeuvv46TTz4ZJ598Mv72t7/h7bffLlrneR5++MMf4r3vfS9isRimT5+OY445Bv/3f/8XWHfzzTfjwAMPRCKRQFtbGz74wQ/iwQcfDJyzv6dwVmG/4OyfyyOPPIIvfvGLmDFjBubOnQsAeOONN/DFL34Ru+22G+LxODo6OvCJT3witC9xb28v/vM//xM77bQTDMPA3Llzcfrpp2Pbtm0YHBxEQ0MDvvrVrxbd7+2334aiKFi1alWF30kiIiKi0liWQURERLSdurq6cOyxx+Lkk0/Gpz/9aXR2dgJIB0mNjY0477zz0NjYiL/85S9YsWIF+vv7ceWVV5Y97q233oqBgQF84QtfgCRJ+P73v4+PfexjeO2118pWXP7jH//AXXfdhS9+8YtoamrCj370I5x44ol488030dHRAQB48sknccwxx2DWrFlYuXIlXNfFpZdeiunTp1f0vO+44w4MDw/j7LPPRkdHBx577DFce+21ePvtt3HHHXcE1rqui6OPPhqLFy/GVVddhYcffhj//d//jQULFuDss88GkA4/P/rRj+If//gHzjrrLOyxxx64++67sWzZsorO59RTT8XKlStx6623Yt999w089u9+9zsccsgh2GGHHbBt2zb8z//8D0455RR87nOfw8DAAG688UYcffTReOyxx7Bo0aKKHi9rxYoVuPzyy/HhD38YH/7wh/HEE0/gqKOOgmVZgXWvvfYa7rnnHnziE5/AzjvvjM2bN+OnP/0pDj30ULzwwguYPXs29thjD1x66aVYsWIFPv/5z+OQQw4BABx88MGhjy2EwH/8x3/gr3/9Kz772c9i0aJFeOCBB/D1r38d77zzDq6++urA+kpeF6XccsstWLBgAQ444ADsvffeSCQSuO222/D1r389sO6zn/0sfvWrX+HYY4/FmWeeCcdx8Pe//x3//Oc/sf/++wMAVq5ciUsuuQQHH3wwLr30Uui6jn/961/4y1/+gqOOOqri77/fF7/4RUyfPh0rVqzA0NAQAODf//43/vd//xcnn3wy5s6di9dffx3XX389DjvsMLzwwgu5qvjBwUEccsghePHFF/GZz3wG++67L7Zt24Y//OEPePvtt7Fo0SKccMIJ+O1vf4sf/OAHgYrr2267DUKIXJsOIiIiou0miIiIiKgiX/rSl0Thj0+HHnqoACBuuOGGovXDw8NF+77whS+IRCIhUqlUbt+yZcvEjjvumNvesGGDACA6OjpEd3d3bv+9994rAIg//vGPuX0XX3xx0TkBELqui1dffTW37+mnnxYAxLXXXpvbd/zxx4tEIiHeeeed3L5XXnlFqKpadMwwYc9v1apVQpIk8cYbbwSeHwBx6aWXBta+733vE/vtt19u+5577hEAxPe///3cPsdxxCGHHCIAiF/+8pdlz+mAAw4Qc+fOFa7r5vatXr1aABA//elPc8c0TTNwv56eHtHZ2Sk+85nPBPYDEBdffHFu+5e//KUAIDZs2CCEEGLLli1C13Vx3HHHCc/zcuu++c1vCgBi2bJluX2pVCpwXkKk/6wNwwh8b/79739HPt/C10r2e3b55ZcH1n384x8XkiQFXgOVvi6iWJYlOjo6xEUXXZTb96lPfUosXLgwsO4vf/mLACC+8pWvFB0j+z165ZVXhCzL4oQTTij6nvi/j4Xf/6wdd9wx8L3N/rl84AMfEI7jBNaGvU7XrVsnAIhf//rXuX0rVqwQAMRdd90Ved4PPPCAACDuv//+wO377LOPOPTQQ4vuR0RERDRSbI9AREREtJ0Mw8Dy5cuL9sfj8dz1gYEBbNu2DYcccgiGh4fx0ksvlT3uSSedhLa2ttx2turytddeK3vfJUuWYMGCBbntffbZB83Nzbn7uq6Lhx9+GEuXLsXs2bNz63bZZRcce+yxZY8PBJ/f0NAQtm3bhoMPPhhCCDz55JNF688666zA9iGHHBJ4Lvfddx9UVc1V3gLpHrLnnHNORecDpPsQv/322/jb3/6W23frrbdC13V84hOfyB1T13UA6Y/xd3d3w3Ec7L///qGtFUp5+OGHYVkWzjnnnEBLiXPPPbdorWEYkOX0j9+u66KrqwuNjY3Ybbfdqn7crPvuuw+KouArX/lKYP/5558PIQTuv//+wP5yr4tS7r//fnR1deGUU07J7TvllFPw9NNPB9pB/P73v4ckSbj44ouLjpH9Ht1zzz3wPA8rVqzIfU8K14zE5z73uaKew/7XqW3b6Orqwi677ILW1tbA9/33v/89Fi5ciBNOOCHyvJcsWYLZs2fjlltuyd323HPP4Zlnninb65qIiIioGgxtiYiIiLbTnDlzciGg3/PPP48TTjgBLS0taG5uxvTp03PBTl9fX9nj7rDDDoHtbIDb09NT9X2z98/ed8uWLUgmk9hll12K1oXtC/Pmm2/ijDPOQHt7e65P7aGHHgqg+Pll+5pGnQ+Q7j06a9YsNDY2BtbttttuFZ0PAJx88slQFAW33norACCVSuHuu+/GscceGwjAb7rpJuyzzz6IxWLo6OjA9OnT8ec//7miPxe/N954AwCw6667BvZPnz498HhAOiC++uqrseuuu8IwDEybNg3Tp0/HM888U/Xj+h9/9uzZaGpqCuzfY489AueXVe51UcrNN9+MnXfeGYZh4NVXX8Wrr76KBQsWIJFIBELM9evXY/bs2Whvb4881vr16yHLMvbcc8+yj1uNnXfeuWhfMpnEihUrcj1/s9/33t7ewPd9/fr12HvvvUseX5ZlnHrqqbjnnnswPDwMIN0yIhaL5X4pQERERDQaGNoSERERbSd/JV9Wb28vDj30UDz99NO49NJL8cc//hEPPfQQvve97wFIB3jlFFYMZomCAVOjfd9KuK6LI488En/+85/xjW98A/fccw8eeuih3MCswucXdT6jbcaMGTjyyCPx+9//HrZt449//CMGBgYCvUZvvvlmnHHGGViwYAFuvPFGrF69Gg899BA+9KEPVfTnMlLf/e53cd555+GDH/wgbr75ZjzwwAN46KGHsNdee43p4/qN9HXR39+PP/7xj9iwYQN23XXX3Neee+6J4eFh3HrrraP22qpE4QC7rLC/i+eccw6+853v4JOf/CR+97vf4cEHH8RDDz2Ejo6OEX3fTz/9dAwODuKee+6BEAK33norPvKRj6ClpaXqYxERERFF4SAyIiIiojGwdu1adHV14a677sIHP/jB3P4NGzbU8KzyZsyYgVgshldffbXotrB9hZ599ln8v//3/3DTTTfh9NNPz+1/6KGHRnxOO+64I9asWYPBwcFAte3LL79c1XFOPfVUrF69Gvfffz9uvfVWNDc34/jjj8/dfuedd2L+/Pm46667Ah/FD/s4fyXnDACvvPIK5s+fn9u/devWourVO++8E4cffjhuvPHGwP7e3l5MmzYtt11Ne4Add9wRDz/8MAYGBgLVttn2G9nz21533XUXUqkUrr/++sC5Auk/n29961t49NFH8YEPfAALFizAAw88gO7u7shq2wULFsDzPLzwwgslB7+1tbWht7c3sM+yLLz77rsVn/udd96JZcuW4b//+79z+1KpVNFxFyxYgOeee67s8fbee2+8733vwy233IK5c+fizTffxLXXXlvx+RARERFVgpW2RERERGMgW9Horz60LAs/+clPanVKAYqiYMmSJbjnnnuwcePG3P5XX321qA9q1P2B4PMTQuCHP/zhiM/pwx/+MBzHwfXXX5/b57pu1YHY0qVLkUgk8JOf/AT3338/PvaxjyEWi5U893/9619Yt25d1ee8ZMkSaJqGa6+9NnC8a665pmitoihF1ah33HEH3nnnncC+hoYGACgKFcN8+MMfhuu6+PGPfxzYf/XVV0OSpIr7E5dz8803Y/78+TjrrLPw8Y9/PPD1ta99DY2NjbkWCSeeeCKEEFi5cmXRcbLPf+nSpZBlGZdeemlRtav/e7RgwYJAf2IA+NnPfhZZaRsm7Pt+7bXXFh3jxBNPxNNPP42777478ryzTjvtNDz44IO45ppr0NHRMWrfZyIiIqIsVtoSERERjYGDDz4YbW1tWLZsGb7yla9AkiT85je/GdePkJdzySWX4MEHH8T73/9+nH322bnwb++998ZTTz1V8r677747FixYgK997Wt455130NzcjN///vcV9UaNcvzxx+P9738/LrjgArz++uvYc889cdddd1Xd77WxsRFLly7N9bX1t0YAgI985CO46667cMIJJ+C4447Dhg0bcMMNN2DPPffE4OBgVY81ffp0fO1rX8OqVavwkY98BB/+8Ifx5JNP4v777y+qSP3IRz6CSy+9FMuXL8fBBx+MZ599FrfcckugQhdIB5Wtra244YYb0NTUhIaGBixevDi0X+vxxx+Pww8/HBdddBFef/11LFy4EA8++CDuvfdenHvuuYGhYyO1ceNG/PWvfy0adpZlGAaOPvpo3HHHHfjRj36Eww8/HKeddhp+9KMf4ZVXXsExxxwDz/Pw97//HYcffji+/OUvY5dddsFFF12Eyy67DIcccgg+9rGPwTAM/Pvf/8bs2bOxatUqAMCZZ56Js846CyeeeCKOPPJIPP3003jggQeKvrelfOQjH8FvfvMbtLS0YM8998S6devw8MMPo6OjI7Du61//Ou6880584hOfwGc+8xnst99+6O7uxh/+8AfccMMNWLhwYW7tpz71KfzXf/0X7r77bpx99tnQNG0E31kiIiKiaKy0JSIiIhoDHR0d+NOf/oRZs2bhW9/6Fq666ioceeSR+P73v1/rU8vZb7/9cP/996OtrQ3f/va3ceONN+LSSy/FEUccEahMDaNpGv74xz9i0aJFWLVqFVauXIldd90Vv/71r0d8PrIs4w9/+ANOPfVU3HzzzbjoooswZ84c3HTTTVUfKxvUzpo1Cx/60IcCt51xxhn47ne/i6effhpf+cpX8MADD+Dmm2/G/vvvP6Lzvvzyy7Fy5Uo8+eST+PrXv47169fjwQcfzFXMZn3zm9/E+eefjwceeABf/epX8cQTT+DPf/4z5s2bF1inaRpuuukmKIqCs846C6eccgoeeeSR0MfOfs/OPfdc/OlPf8K5556LF154AVdeeSV+8IMfjOj5FLr99tvheV6gxUSh448/Hl1dXbkq7V/+8pe48sorsWHDBnz961/Hd7/7XSSTSRx88MG5+1x66aX4xS9+gWQyiYsuuggrVqzAG2+8gSOOOCK35nOf+xy+8Y1v4G9/+xvOP/98bNiwAQ899FDR97aUH/7whzj99NNxyy234Pzzz8e7776Lhx9+uGjgXWNjI/7+97/j7LPPxn333YevfOUr+MlPfoLddtsNc+fODazt7OzEUUcdBSBddUtEREQ02iRRT+UeRERERFRzS5cuxfPPP49XXnml1qdCVLdOOOEEPPvssxX1gCYiIiKqFittiYiIiKawZDIZ2H7llVdw33334bDDDqvNCRFNAO+++y7+/Oc/s8qWiIiIxgwrbYmIiIimsFmzZuGMM87A/Pnz8cYbb+D666+HaZp48sknseuuu9b69IjqyoYNG/Doo4/if/7nf/Dv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/vu//xtutxtOpxN79uzB+++/j8ceewwAcODAAXg8Hlx88cXqMVarFeeccw4+/PDDlKFtKBRCKBRSP/f7/X3/RoiIiPpJracxtqDYDi/8VQF1uzFHh7JJRXCe44C91KLWDBEREREREVHmy6jQdunSpfD7/Tj11FMhiiIkScKDDz6IG264AQDg8XgAAHa7Pek4u92u7mtt9erVWLVqVd/eOBERUT9qrAth7w4v3C4vqg7Xq9u1eg1KJxTCWW7H8LF5EEUuKEZERERERDQQZVRo+9JLL+HFF1/E7373O4wbNw67d+/GHXfcgZKSEsybN69b51y2bBkWL16sfu73+zF8+PDeumUiIqJ+EQ5EUbGrCm6XB0e+qkW83EjQCDh5bB6c5XaMPKMAemNG/aediIiIiIiIuiGjvrO76667sHTpUrXmYPz48Th06BBWr16NefPmweFwAAC8Xi+Ki4vV47xeL84888yU5zQYDDAYuNAKERENPFJUxqHPj8Pt8uLgZ9WQIrK6zzHKAme5A2MmFcFk1qfxLomIiIiIiKi3ZVRo29TUBI0m+VFOURQhy7FvUktLS+FwOLB161Y1pPX7/fjoo49w66239vftEhER9TpFVnCswoevXF5U7KxEqCmq7rM5suAst6NssgPWQlMa75KIiIiIiIj6UkaFtldddRUefPBBnHzyyRg3bhx27dqFxx57DDfddBMAQBAE3HHHHXjggQdQVlaG0tJSrFixAiUlJZg1a1Z6b56IiKgHjh9pgNvlgdvlRUNtywKaWVY9yibbcUq5AwXDc7igGBERERER0RCQUaHtk08+iRUrVuAnP/kJKisrUVJSgv/8z//EypUr1dfcfffdaGxsxC233AKfz4cpU6bgzTffhNFoTOOdExERdV19TRBulwd7d3hx/Eijul1vFDHqrCI4y+0Y5rRBo2FQS0RERERENJQIihJfymRo8Pv9sFqtqKurg8ViSfftEBHREBNsjGDfzkq4XR4c21enbtdoBYwYlw9nuQMjx+dDqxfTeJdERERERETUFzqbTWbUpC0REdFgFA1LOPBpNdwuLw5/cRyy1PLz0pKyXDjL7Rh9VhGM2bo03iURERERERFlCoa2REREfUCWFRz5dy3cLg8qdlchEpTUffkn5cQWFDvbDnMe632IiIiIiIgoGUNbIiKiXqIoCqoO18P9kRd7P/ai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",
      "text/plain": [
       "<Figure size 1400x1000 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the metrics for comparison\n",
    "def plot_metrics(history_resnet, history_densenet, history_vgg):\n",
    "    epochs = range(1, len(history_resnet[\"train_loss\"]) + 1)\n",
    "\n",
    "    plt.figure(figsize=(14, 10))\n",
    "\n",
    "    # Loss plot\n",
    "    plt.subplot(2, 1, 1)\n",
    "    plt.plot(epochs, history_resnet[\"train_loss\"], label='ResNet Train Loss')\n",
    "    plt.plot(epochs, history_resnet[\"val_loss\"], label='ResNet Val Loss')\n",
    "    plt.plot(epochs, history_densenet[\"train_loss\"], label='DenseNet Train Loss')\n",
    "    plt.plot(epochs, history_densenet[\"val_loss\"], label='DenseNet Val Loss')\n",
    "    plt.plot(epochs, history_vgg[\"train_loss\"], label='VGG Train Loss')\n",
    "    plt.plot(epochs, history_vgg[\"val_loss\"], label='VGG Val Loss')\n",
    "    plt.title('Training and Validation Loss')\n",
    "    plt.xlabel('Epochs')\n",
    "    plt.ylabel('Loss')\n",
    "    plt.legend()\n",
    "\n",
    "    # Accuracy plot\n",
    "    plt.subplot(2, 1, 2)\n",
    "    plt.plot(epochs, history_resnet[\"train_acc\"], label='ResNet Train Acc')\n",
    "    plt.plot(epochs, history_resnet[\"val_acc\"], label='ResNet Val Acc')\n",
    "    plt.plot(epochs, history_densenet[\"train_acc\"], label='DenseNet Train Acc')\n",
    "    plt.plot(epochs, history_densenet[\"val_acc\"], label='DenseNet Val Acc')\n",
    "    plt.plot(epochs, history_vgg[\"train_acc\"], label='VGG Train Acc')\n",
    "    plt.plot(epochs, history_vgg[\"val_acc\"], label='VGG Val Acc')\n",
    "    plt.title('Training and Validation Accuracy')\n",
    "    plt.xlabel('Epochs')\n",
    "    plt.ylabel('Accuracy')\n",
    "    plt.legend()\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "\n",
    "# Call the function to plot results\n",
    "plot_metrics(history_resnet, history_densenet, history_vgg)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0f16bf35",
   "metadata": {
    "_cell_guid": "05519e8c-e7de-45ae-b233-b5736c7a86e4",
    "_uuid": "91220821-c6c0-4fe4-8b1a-d05059bcfcae",
    "papermill": {
     "duration": 8.934291,
     "end_time": "2024-10-14T02:55:00.472365",
     "exception": false,
     "start_time": "2024-10-14T02:54:51.538074",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "## Step 8: Test the Models\n",
    "Finally, we will evaluate each trained model on the test dataset."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "c85b1142",
   "metadata": {
    "_cell_guid": "9a9c32cb-f0b3-42f2-bb24-50e2b5c970cd",
    "_uuid": "a4e7126e-94e0-43c7-b243-052aa1811d48",
    "collapsed": false,
    "execution": {
     "iopub.execute_input": "2024-10-14T02:55:18.097918Z",
     "iopub.status.busy": "2024-10-14T02:55:18.097539Z",
     "iopub.status.idle": "2024-10-14T03:05:23.984494Z",
     "shell.execute_reply": "2024-10-14T03:05:23.983383Z"
    },
    "jupyter": {
     "outputs_hidden": false
    },
    "papermill": {
     "duration": 623.502582,
     "end_time": "2024-10-14T03:05:32.815434",
     "exception": false,
     "start_time": "2024-10-14T02:55:09.312852",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test Loss: 0.1510, Test Accuracy: 94.38%\n",
      "Test Loss: 0.1273, Test Accuracy: 95.29%\n",
      "Test Loss: 0.3380, Test Accuracy: 87.48%\n"
     ]
    }
   ],
   "source": [
    "def test_model(model):\n",
    "    model.eval()\n",
    "    correct_test = 0\n",
    "    total_test = 0\n",
    "    test_loss = 0.0\n",
    "    with torch.no_grad():\n",
    "        for inputs, labels in test_loader:\n",
    "            inputs, labels = inputs.to(device), labels.to(device)\n",
    "            outputs = model(inputs)\n",
    "            loss = criterion(outputs, labels)\n",
    "            test_loss += loss.item()\n",
    "            _, predicted = torch.max(outputs.data, 1)\n",
    "            total_test += labels.size(0)\n",
    "            correct_test += (predicted == labels).sum().item()\n",
    "\n",
    "    test_accuracy = 100 * correct_test / total_test\n",
    "    print(f\"Test Loss: {test_loss/len(test_loader):.4f}, Test Accuracy: {test_accuracy:.2f}%\")\n",
    "    return test_loss / len(test_loader), test_accuracy\n",
    "\n",
    "# Evaluate the models on test set\n",
    "test_resnet = test_model(resnet_model)\n",
    "test_densenet = test_model(densenet_model)\n",
    "test_vgg = test_model(vgg_model)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "088d3ef8",
   "metadata": {
    "_cell_guid": "c4699ec7-56e1-4651-8327-ab58824f4a9a",
    "_uuid": "5fcfd614-0816-4a4a-b123-2966e339ed23",
    "id": "z2HGnQ8GvH54",
    "papermill": {
     "duration": 8.741315,
     "end_time": "2024-10-14T03:05:50.346948",
     "exception": false,
     "start_time": "2024-10-14T03:05:41.605633",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "## Conclusion\n",
    "\n",
    "This notebook demonstrates how to compare the performance of three popular CNN architectures (ResNet-18, DenseNet121, and VGG16) on poultry disease classification. After training, we use visualizations to compare the models and test them on unseen data to determine which model provides the highest accuracy."
   ]
  }
 ],
 "metadata": {
  "colab": {
   "name": "Poultry Disease Classification model compared",
   "provenance": []
  },
  "kaggle": {
   "accelerator": "nvidiaTeslaT4",
   "dataSources": [
    {
     "datasetId": 3951043,
     "sourceId": 6934176,
     "sourceType": "datasetVersion"
    }
   ],
   "dockerImageVersionId": 30787,
   "isGpuEnabled": true,
   "isInternetEnabled": true,
   "language": "python",
   "sourceType": "notebook"
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.14"
  },
  "papermill": {
   "default_parameters": {},
   "duration": 17845.27462,
   "end_time": "2024-10-14T03:06:01.235687",
   "environment_variables": {},
   "exception": null,
   "input_path": "__notebook__.ipynb",
   "output_path": "__notebook__.ipynb",
   "parameters": {},
   "start_time": "2024-10-13T22:08:35.961067",
   "version": "2.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}