File size: 329,815 Bytes
1ae016f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "CFkmw1GyQaDr"
      },
      "source": [
        "EfficientNet-V2-S + ConvNeXt Fusion (Multimodal Ensemble)\n",
        "\n",
        "This notebook implements a **feature-level fusion** of two pretrained backbones:\n",
        "- **EfficientNet-V2-S** (torchvision) — compound-scaled CNN with depthwise convolutions\n",
        "- **ConvNeXt-Small** (HuggingFace) — transformer-inspired CNN with large kernels + LayerNorm\n",
        "\n",
        "Both backbones process the **same image** independently. Their feature vectors are **concatenated** and passed through a shared fusion head for classification.\n",
        "\n",
        "```\n",
        "Image ──► EfficientNet-V2-S (frozen except last 3 blocks) ──► feature_eff (1280-d)\n",
        "                                                                              │\n",
        "                                                          ── concat ──► Fusion Head ──► num_classes\n",
        "                                                                              │\n",
        "Image ──► ConvNeXt-Small    (frozen except stages 2 & 3) ──► feature_cnx (768-d)\n",
        "```"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "hIG2Yl9kQaDs",
        "outputId": "99970c42-69a3-42e2-959e-dbe25f96d4e6"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Requirement already satisfied: matplotlib in /usr/local/lib/python3.12/dist-packages (3.10.0)\n",
            "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.12/dist-packages (1.6.1)\n",
            "Requirement already satisfied: transformers in /usr/local/lib/python3.12/dist-packages (5.0.0)\n",
            "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (1.3.3)\n",
            "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (0.12.1)\n",
            "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (4.62.1)\n",
            "Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (1.5.0)\n",
            "Requirement already satisfied: numpy>=1.23 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (2.0.2)\n",
            "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (26.1)\n",
            "Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (11.3.0)\n",
            "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (3.3.2)\n",
            "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.12/dist-packages (from matplotlib) (2.9.0.post0)\n",
            "Requirement already satisfied: scipy>=1.6.0 in /usr/local/lib/python3.12/dist-packages (from scikit-learn) (1.16.3)\n",
            "Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.12/dist-packages (from scikit-learn) (1.5.3)\n",
            "Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.12/dist-packages (from scikit-learn) (3.6.0)\n",
            "Requirement already satisfied: filelock in /usr/local/lib/python3.12/dist-packages (from transformers) (3.29.0)\n",
            "Requirement already satisfied: huggingface-hub<2.0,>=1.3.0 in /usr/local/lib/python3.12/dist-packages (from transformers) (1.11.0)\n",
            "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.12/dist-packages (from transformers) (6.0.3)\n",
            "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.12/dist-packages (from transformers) (2025.11.3)\n",
            "Requirement already satisfied: tokenizers<=0.23.0,>=0.22.0 in /usr/local/lib/python3.12/dist-packages (from transformers) (0.22.2)\n",
            "Requirement already satisfied: typer-slim in /usr/local/lib/python3.12/dist-packages (from transformers) (0.24.0)\n",
            "Requirement already satisfied: safetensors>=0.4.3 in /usr/local/lib/python3.12/dist-packages (from transformers) (0.7.0)\n",
            "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.12/dist-packages (from transformers) (4.67.3)\n",
            "Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.12/dist-packages (from huggingface-hub<2.0,>=1.3.0->transformers) (2025.3.0)\n",
            "Requirement already satisfied: hf-xet<2.0.0,>=1.4.3 in /usr/local/lib/python3.12/dist-packages (from huggingface-hub<2.0,>=1.3.0->transformers) (1.4.3)\n",
            "Requirement already satisfied: httpx<1,>=0.23.0 in /usr/local/lib/python3.12/dist-packages (from huggingface-hub<2.0,>=1.3.0->transformers) (0.28.1)\n",
            "Requirement already satisfied: typer in /usr/local/lib/python3.12/dist-packages (from huggingface-hub<2.0,>=1.3.0->transformers) (0.24.2)\n",
            "Requirement already satisfied: typing-extensions>=4.1.0 in /usr/local/lib/python3.12/dist-packages (from huggingface-hub<2.0,>=1.3.0->transformers) (4.15.0)\n",
            "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.12/dist-packages (from python-dateutil>=2.7->matplotlib) (1.17.0)\n",
            "Requirement already satisfied: anyio in /usr/local/lib/python3.12/dist-packages (from httpx<1,>=0.23.0->huggingface-hub<2.0,>=1.3.0->transformers) (4.13.0)\n",
            "Requirement already satisfied: certifi in /usr/local/lib/python3.12/dist-packages (from httpx<1,>=0.23.0->huggingface-hub<2.0,>=1.3.0->transformers) (2026.4.22)\n",
            "Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.12/dist-packages (from httpx<1,>=0.23.0->huggingface-hub<2.0,>=1.3.0->transformers) (1.0.9)\n",
            "Requirement already satisfied: idna in /usr/local/lib/python3.12/dist-packages (from httpx<1,>=0.23.0->huggingface-hub<2.0,>=1.3.0->transformers) (3.13)\n",
            "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.12/dist-packages (from httpcore==1.*->httpx<1,>=0.23.0->huggingface-hub<2.0,>=1.3.0->transformers) (0.16.0)\n",
            "Requirement already satisfied: click>=8.2.1 in /usr/local/lib/python3.12/dist-packages (from typer->huggingface-hub<2.0,>=1.3.0->transformers) (8.3.3)\n",
            "Requirement already satisfied: shellingham>=1.3.0 in /usr/local/lib/python3.12/dist-packages (from typer->huggingface-hub<2.0,>=1.3.0->transformers) (1.5.4)\n",
            "Requirement already satisfied: rich>=12.3.0 in /usr/local/lib/python3.12/dist-packages (from typer->huggingface-hub<2.0,>=1.3.0->transformers) (13.9.4)\n",
            "Requirement already satisfied: annotated-doc>=0.0.2 in /usr/local/lib/python3.12/dist-packages (from typer->huggingface-hub<2.0,>=1.3.0->transformers) (0.0.4)\n",
            "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.12/dist-packages (from rich>=12.3.0->typer->huggingface-hub<2.0,>=1.3.0->transformers) (4.0.0)\n",
            "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.12/dist-packages (from rich>=12.3.0->typer->huggingface-hub<2.0,>=1.3.0->transformers) (2.20.0)\n",
            "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.12/dist-packages (from markdown-it-py>=2.2.0->rich>=12.3.0->typer->huggingface-hub<2.0,>=1.3.0->transformers) (0.1.2)\n"
          ]
        }
      ],
      "source": [
        "!pip install matplotlib scikit-learn transformers"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "XvT9wBUXQaDt"
      },
      "source": [
        "# Connecting to Google Drive"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "abIc7LfHQaDt",
        "outputId": "7754e21d-9509-4a4c-f294-be3746bac106"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Mounted at /content/drive\n"
          ]
        }
      ],
      "source": [
        "from google.colab import drive\n",
        "drive.mount('/content/drive')"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "YXWunW1vQaDu"
      },
      "source": [
        "# Importing necessary libraries"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {
        "id": "UEdoGDNUQaDu"
      },
      "outputs": [],
      "source": [
        "import torch\n",
        "import torch.nn as nn\n",
        "from torch.utils.data import Dataset, DataLoader\n",
        "from torchvision.datasets import ImageFolder\n",
        "from torchvision import transforms, models\n",
        "from tqdm import tqdm\n",
        "import matplotlib.pyplot as plt\n",
        "import random\n",
        "import os\n",
        "import seaborn as sns\n",
        "from sklearn.metrics import confusion_matrix, classification_report\n",
        "from transformers import get_cosine_schedule_with_warmup\n",
        "from transformers import ConvNextModel, ConvNextImageProcessor"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "jiSes_YDQaDv"
      },
      "source": [
        "# Loading the ConvNeXt processor"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 208,
          "referenced_widgets": [
            "3cb15ef1c7264f1185a7fc6b5d7c2df3",
            "b53f782eee9644b5ad1eaaed362bea07",
            "2de9e107e7414f8898a97b979c56fe29",
            "6ac3f2449f524cd8967ac2858db401a5",
            "2f9f1bdcce60481b8cf28c941b68a308",
            "1f641e6227a74723b221bbeff1b02e13",
            "f4b9970a61b8444e87f28b5dae0eee96",
            "9aa552394c384c2dbc1c5bb15e4190ee",
            "f8296d1a2f134a26b8e5103f73073c81",
            "e30a9b9dc8db49acbb92ac7729f3b894",
            "5ace66a707064845a87141f4705d4208"
          ]
        },
        "id": "5TwotVj2QaDw",
        "outputId": "ce25488f-76a3-4a63-a03a-caa4c1942a8d"
      },
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/huggingface_hub/utils/_auth.py:93: UserWarning: \n",
            "The secret `HF_TOKEN` does not exist in your Colab secrets.\n",
            "To authenticate with the Hugging Face Hub, create a token in your settings tab (https://huggingface.co/settings/tokens), set it as secret in your Google Colab and restart your session.\n",
            "You will be able to reuse this secret in all of your notebooks.\n",
            "Please note that authentication is recommended but still optional to access public models or datasets.\n",
            "  warnings.warn(\n",
            "Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n",
            "WARNING:huggingface_hub.utils._http:Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n"
          ]
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "3cb15ef1c7264f1185a7fc6b5d7c2df3",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "preprocessor_config.json:   0%|          | 0.00/266 [00:00<?, ?B/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "convnext_model_name = \"facebook/convnext-small-224\"\n",
        "processor = ConvNextImageProcessor.from_pretrained(convnext_model_name)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "oXFPrhJkQaDw"
      },
      "source": [
        "# Transforms\n",
        "\n",
        "EfficientNet-V2-S uses 260×260, ConvNeXt uses 224×224.\n",
        "We resize to 260×260 so both models can share the same dataloader — ConvNeXt's processor will handle its own resize internally."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {
        "id": "V4dnioX8QaDx"
      },
      "outputs": [],
      "source": [
        "IMG_SIZE = 260  # EfficientNet-V2-S native size; ConvNeXt processor handles its own resize\n",
        "\n",
        "train_transforms = transforms.Compose([\n",
        "    transforms.RandomResizedCrop(IMG_SIZE, scale=(0.8, 1.0)),\n",
        "    transforms.RandomHorizontalFlip(p=0.5),\n",
        "    transforms.ColorJitter(\n",
        "        brightness=0.3,\n",
        "        contrast=0.3,\n",
        "        saturation=0.2,\n",
        "        hue=0.05\n",
        "    ),\n",
        "    transforms.RandomRotation(10),\n",
        "    transforms.RandomApply([\n",
        "        transforms.GaussianBlur(kernel_size=3)\n",
        "    ], p=0.2),\n",
        "])\n",
        "\n",
        "val_transforms = transforms.Compose([\n",
        "    transforms.Resize((IMG_SIZE, IMG_SIZE)),\n",
        "])"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "TpSwcltkQaDx"
      },
      "source": [
        "# Dataset class\n",
        "\n",
        "Returns **two tensors per sample**:\n",
        "- `pixel_values_eff` — normalized for EfficientNet (ImageNet mean/std, 260×260)\n",
        "- `pixel_values_cnx` — processed by ConvNeXt processor (224×224)\n",
        "\n",
        "Both come from the same augmented PIL image so augmentations are shared."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "EJjQsacEQaDx"
      },
      "outputs": [],
      "source": [
        "eff_normalize = transforms.Compose([\n",
        "    transforms.ToTensor(),\n",
        "    transforms.Normalize([0.485, 0.456, 0.406],\n",
        "                         [0.229, 0.224, 0.225])\n",
        "])\n",
        "\n",
        "class FusionDataset(Dataset):\n",
        "    def __init__(self, data_dir, processor, transform=None):\n",
        "        self.dataset   = ImageFolder(root=data_dir, transform=transform)\n",
        "        self.processor = processor\n",
        "\n",
        "    def __len__(self):\n",
        "        return len(self.dataset)\n",
        "\n",
        "    def __getitem__(self, idx):\n",
        "        pil_image, label = self.dataset[idx]   # pil_image is a PIL image after augmentation\n",
        "\n",
        "        # --- EfficientNet branch ---\n",
        "        pixel_eff = eff_normalize(pil_image)   # (3, 260, 260)\n",
        "\n",
        "        # --- ConvNeXt branch ---\n",
        "        enc = self.processor(images=pil_image, return_tensors='pt')\n",
        "        pixel_cnx = enc['pixel_values'].squeeze(0)  # (3, 224, 224)\n",
        "\n",
        "        return {\n",
        "            'pixel_values_eff': pixel_eff,\n",
        "            'pixel_values_cnx': pixel_cnx,\n",
        "            'labels': torch.tensor(label)\n",
        "        }"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "5Q-Q59B3QaDx",
        "outputId": "79dd2cbf-1e27-49a3-d2c8-cad34e5576ee"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "{0: 'F_Breakage', 1: 'F_Crushed', 2: 'F_Normal', 3: 'R_Breakage', 4: 'R_Crushed', 5: 'R_Normal'}\n"
          ]
        }
      ],
      "source": [
        "train_path = \"/content/drive/MyDrive/dataset/train\"\n",
        "test_path  = \"/content/drive/MyDrive/dataset/val\"\n",
        "\n",
        "train_dataset = FusionDataset(data_dir=train_path, transform=train_transforms, processor=processor)\n",
        "test_dataset  = FusionDataset(data_dir=test_path,  transform=val_transforms,   processor=processor)\n",
        "\n",
        "class_to_idx = train_dataset.dataset.class_to_idx\n",
        "idx_to_class = {v: k for k, v in class_to_idx.items()}\n",
        "print(idx_to_class)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "nRlTtzlXQaDy"
      },
      "source": [
        "# Visualising the train/val split"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 521
        },
        "id": "poGtY6Z0QaDy",
        "outputId": "f4a9f617-c0f0-479b-ba9b-684c505bb689"
      },
      "outputs": [
        {
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeQAAAH4CAYAAACbup4ZAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAiL1JREFUeJzt3Xd8lFXa8PHfPTPpvZGEAKF3kF5EioqCIAIi2AUVLGsX99m+6rPdLe8W1911dx/dVXdBFLtIEyzY6CWFBEhIT0iftKnn/WPCQCCZSUKSKbm+H/OR3HPmzjWTzFxzzn2dczSllEIIIYQQHqXzdABCCCGEkIQshBBCeAVJyEIIIYQXkIQshBBCeAFJyEIIIYQXkIQshBBCeAFJyEIIIYQXkIQshBBCeAFJyEIIIYQXkITsp9asWcPAgQM7dd9nnnkGTdO6NiDhNHDgQNasWePpMPzW7t270TSN3bt3d/vPau21omkaDz/8cLf/bICXX34ZTdPIzc3tkZ8nupck5B6maVq7vnrizaQ3OfvG5e6rsx9iLvTFF1/wzDPPUF1d3SXn6yrnP1aDwUBsbCyTJ0/mscceIz09vdPnbWho4Jlnnunyv9vc3NwWMQcEBBAfH8/ll1/O97//ffLy8rrsZ/385z/n7bff7rLzdSVvjk10HU3Wsu5Zr776aovv//3vf7N9+3ZeeeWVFsevueYaEhMTO/1zLBYLdrudoKCgDt/XarVitVoJDg7u9M/3NqdOneKLL75ocWzt2rVMmzaN++67z3ksPDycZcuWXfLP+81vfsO3v/1tcnJyLkryJpMJnU5HQEDAJf+cjtI0jWuuuYa77roLpRQ1NTUcPnyYTZs2UV9fz69+9SuefPLJDp+3vLychIQEnn76aZ555pkuizc3N5dBgwZx6623smjRIux2O1VVVezdu5fNmzejaRr//Oc/ueWWW5z3sdvtmM1mAgMD0ena3+cIDw/npptu4uWXX273fVp7rWiaxkMPPcTzzz/f7vN0NjabzYbFYiEoKEhGtfyAwdMB9DZ33HFHi++/+uortm/fftHxCzU0NBAaGtrun3Mpb/YGgwGDwb/+NAYPHszgwYNbHHvggQcYPHiw2+e+q3XmQ1JXGj58+EWP+Ze//CVLlixh/fr1jBw5kkWLFnkoutZNmjTpophPnz7Ntddey+rVqxk1ahSXXXYZADqdrts/TNbX1xMWFubx14per0ev13vs54uuJUPWXmjevHmMHTuW/fv3M2fOHEJDQ/n+978PwDvvvMPixYvp27cvQUFBDBkyhJ/85CfYbLYW57jwGvLZob/f/OY3vPjiiwwZMoSgoCCmTp3K3r17W9zX1XWxt99+m7FjxxIUFMSYMWP46KOPLop/9+7dTJkyheDgYIYMGcLf/va3dl2XfvjhhwkPD6ehoeGi22699VaSkpKcj3Pfvn0sWLCA+Ph4QkJCGDRoEPfcc4/L87dHYWEh99xzD4mJic7H+H//938XtfvTn/7EmDFjCA0NJSYmhilTpvCf//wHcDx/3/72twEYNGiQc7j17HW+C68hnx1O37NnD08++SQJCQmEhYWxfPlyzpw50+Ln2u12nnnmGfr27UtoaChXXnkl6enpl3xdOi4ujg0bNmAwGPjZz37mPG42m/nxj3/M5MmTiYqKIiwsjNmzZ7Nr1y5nm9zcXBISEgB49tlnnY/3bE/5yJEjrFmzhsGDBxMcHExSUhL33HMPFRUVnY4XIDU1lZdffhmz2cxzzz3nPN7aNeTs7GxWrFhBUlISwcHB9OvXj1tuuYWamhrA8fddX1/Pv/71L2f8Z5/Ps3+76enp3HbbbcTExHDFFVe0uK01r732GiNGjCA4OJjJkyfz6aeftri9rTqPC8/pKra2riG/8MILjBkzhqCgIPr27ctDDz100eWTs+8z6enpXHnllYSGhpKSktLiuRQ9y7+6QX6koqKC6667jltuuYU77rjDOXz98ssvEx4ezpNPPkl4eDgff/wxP/7xj6mtreXXv/612/P+5z//wWg0cv/996NpGs899xw33ngjp06dctur/vzzz9m8eTPf+ta3iIiI4I9//CMrVqwgLy+PuLg4AA4ePMjChQtJTk7m2WefxWaz8b//+7/ON2xXbr75Zv785z/zwQcfsHLlSufxhoYG3nvvPdasWYNer6esrIxrr72WhIQEvvvd7xIdHU1ubi6bN292+zNcKS0tZcaMGc4PHwkJCWzZsoV7772X2tpaHn/8cQD+/ve/8+ijj3LTTTfx2GOP0dTUxJEjR/j666+57bbbuPHGG8nKyuK///0v/+///T/i4+MB3D4HjzzyCDExMTz99NPk5uby+9//nocffpiNGzc623zve9/jueeeY8mSJSxYsIDDhw+zYMECmpqaLumxAwwYMIC5c+eya9cuamtriYyMpLa2ln/84x/ceuutrFu3DqPRyD//+U8WLFjAN998w4QJE0hISOAvf/kLDz74IMuXL+fGG28EYPz48QBs376dU6dOcffdd5OUlERaWhovvvgiaWlpfPXVV5c01Dpz5kyGDBnC9u3b22xjNptZsGABJpOJRx55hKSkJAoLC3n//feprq4mKiqKV1555aJLGEOGDGlxnpUrVzJs2DB+/vOf4+5K3yeffMLGjRt59NFHCQoK4oUXXmDhwoV88803jB07tkOPsT2xne+ZZ57h2WefZf78+Tz44IMcP36cv/zlL+zdu5c9e/a0eJ1XVVWxcOFCbrzxRlatWsUbb7zBd77zHcaNG8d1113XoThFF1DCox566CF14a9h7ty5ClB//etfL2rf0NBw0bH7779fhYaGqqamJuex1atXq9TUVOf3OTk5ClBxcXGqsrLSefydd95RgHrvvfecx55++umLYgJUYGCgOnHihPPY4cOHFaD+9Kc/OY8tWbJEhYaGqsLCQuex7OxsZTAYLjrnhex2u0pJSVErVqxocfz1119XgPr000+VUkq99dZbClB79+51eT53wsLC1OrVq53f33vvvSo5OVmVl5e3aHfLLbeoqKgo53O/dOlSNWbMGJfn/vWvf60AlZOTc9FtqampLX7uSy+9pAA1f/58ZbfbncefeOIJpdfrVXV1tVJKqZKSEmUwGNSyZctanO+ZZ55RQItztgVQDz30UJu3P/bYYwpQhw8fVkopZbValclkatGmqqpKJSYmqnvuucd57MyZMwpQTz/99EXnbO1v9r///W+L32lbzv7d/vrXv26zzdKlSxWgampqlFJK7dq1SwFq165dSimlDh48qAC1adMmlz/rwr+Hs86+Hm699dY2bzsfoAC1b98+57HTp0+r4OBgtXz5cuexC1+jrs7ZVmxn/3bO/p2VlZWpwMBAde211yqbzeZs9/zzzytA/d///Z/z2Nn3mX//+9/OYyaTSSUlJV30GhQ9Q4asvVRQUBB33333RcdDQkKc/zYajZSXlzN79mwaGhrIzMx0e96bb76ZmJgY5/ezZ88GHEVP7syfP7/FJ/Px48cTGRnpvK/NZmPHjh0sW7aMvn37OtsNHTq0XZ+2NU1j5cqVfPjhh9TV1TmPb9y4kZSUFOcwYXR0NADvv/8+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",
            "text/plain": [
              "<Figure size 600x600 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "labels  = ['Training Data', 'Testing Data']\n",
        "sizes   = [len(train_dataset), len(test_dataset)]\n",
        "colors  = ['lightgreen', 'red']\n",
        "explode = (0.1, 0)\n",
        "plt.figure(figsize=(6, 6))\n",
        "plt.pie(sizes, explode=explode, labels=labels, colors=colors,\n",
        "        autopct='%1.1f%%', shadow=True, startangle=140)\n",
        "plt.title('Training vs Testing Data Distribution')\n",
        "plt.axis('equal')\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "qBrUGzexQaDy"
      },
      "source": [
        "# Class distribution"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 536
        },
        "id": "BtgvcIqWQaDy",
        "outputId": "008b1209-a0c5-4904-8816-0f95df4f01cf"
      },
      "outputs": [
        {
          "data": {
            "image/png": "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lZ6enuH54+PjlZCQIH9//yw/FgDg34GiDQBwOLf2GP5zD+H169f17bffPvDnfvfdd1W0aFH16tVLR48ezbD93LlzGjp06B3vn1n2bdu2KSYmxm7chQsX7JadnJxss2LfOjz79jEFCxZUuXLlsnX49u327t2r999/X15eXgoPD7/juL///jvDHtpbM6bfev5bs4hnVnxz4scff9Sff/5pW96+fbu2bdumpk2b2taVLVtWv/76q86fP29bt3fvXm3evNnusbKTrVmzZpKkUaNG2a0fMWKEJCk0NDRbrwMA8Ojj8l4AAIfz9NNPy8vLS2FhYXrvvfdksVg0Y8aMh3JorpeXlxYuXKhmzZqpevXqatu2rYKCgiRJu3fv1uzZsxUcHHzH+7/44otasGCBXn75ZYWGhurkyZMaN26cAgIC7A65fuutt3Tx4kU1aNBAxYsX1++//66vv/5a1atXV+XKlSXdnHSrfv36CgoKkre3t3bu3Kn58+erW7duWXotP//8s5KTk5WWlqYLFy5o8+bN+umnn+Th4aGFCxfKz8/vjvedNm2avv32W7388ssqW7asLl26pO+++07u7u62Yurq6qqAgAD98MMPqlChgry9vVWlShVVqVIlS/luV65cOdWtW1ddu3ZVSkqKRo0apcKFC6tv3762MZ06ddKIESMUEhKizp0769y5cxo3bpyeeOIJJSUl2cZlJ1u1atUUFhamCRMm2E5b2L59u6ZNm6aWLVvq+eefz9HrAQA8uijaAACHU7hwYS1ZskS9evXSgAED5OXlpbZt26phw4ZZOtz5ftWuXVsHDhzQ559/rqVLl2rGjBlycnJS5cqV1b9//7sW3Q4dOiguLk7jx4/XihUrFBAQoO+//17z5s3T+vXrbePatm2rCRMm6Ntvv1VCQoL8/Pz02muvadCgQbbzmt977z399NNPWrlypVJSUuTv76+hQ4eqT58+WXodo0ePliTly5dPnp6eqly5sgYPHqwuXbqoSJEid73vrbI5Z84cxcfHy8PDQ7Vq1dLMmTNVunRp27iJEyeqe/fu6tmzp65fv66BAwfmuGi3b99eTk5OGjVqlM6dO6datWrpm2++UdGiRW1jKleurOnTpysqKkoREREKCAjQjBkzNGvWLLt/3+xmmzhxosqUKaOpU6favoSIjIzUwIEDc/RaAACPNouVmTkAAAAA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",
            "text/plain": [
              "<Figure size 1200x500 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "def plot_class_distribution(data_path):\n",
        "    classes = os.listdir(data_path)\n",
        "    counts  = []\n",
        "    for cls in classes:\n",
        "        cls_path = os.path.join(data_path, cls)\n",
        "        if os.path.isdir(cls_path):\n",
        "            counts.append(len(os.listdir(cls_path)))\n",
        "    plt.figure(figsize=(12, 5))\n",
        "    plt.bar(classes, counts)\n",
        "    plt.xticks(rotation=90)\n",
        "    plt.title(\"Train Class Distribution\")\n",
        "    plt.show()\n",
        "\n",
        "plot_class_distribution(\"/content/drive/MyDrive/dataset/train\")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 12,
      "metadata": {
        "id": "CNhT3zd_QaDy"
      },
      "outputs": [],
      "source": [
        "train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True,\n",
        "                          num_workers=2, pin_memory=True, persistent_workers=True)\n",
        "eval_loader  = DataLoader(test_dataset,  batch_size=32,\n",
        "                          num_workers=2, pin_memory=True, persistent_workers=True)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 13,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "VBsi11SlQaDy",
        "outputId": "311fb87a-1edf-4ff5-faef-4ce4f5ab7dfe"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Using device: cuda\n"
          ]
        }
      ],
      "source": [
        "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
        "print(f\"Using device: {device}\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "98-UOkhyQaDy"
      },
      "source": [
        "# Model — EfficientNet-V2-S + ConvNeXt-Small Fusion\n",
        "\n",
        "## Architecture\n",
        "```\n",
        "Image ──► EfficientNet-V2-S backbone  ──► avgpool ──► (1280,)\n",
        "                                                           ↓\n",
        "                                                       concat → (2048,)\n",
        "                                                           ↓\n",
        "                                                     Fusion Head\n",
        "                                                           ↓\n",
        "                                                    num_classes logits\n",
        "                                                           ↑\n",
        "Image ──► ConvNeXt-Small backbone     ──► avgpool ──► (768,)\n",
        "```\n",
        "\n",
        "## Freezing strategy\n",
        "- **EfficientNet**: freeze all → unfreeze features[5], [6], [7]\n",
        "- **ConvNeXt**: freeze all → unfreeze stages[2], stages[3], layernorm"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 376,
          "referenced_widgets": [
            "a0ff7c32ef7f4a01a842fdcb12493b6d",
            "78bc2bffdd774be58fc03e57be7f3e74",
            "a8dd92a5d0db4295bb76d69de00b4d74",
            "84a1060a9ab54cc2ab329e8fc34eabfa",
            "2203a85147af470693c9f67287b62aab",
            "3f04bb9c094c420b8dd8adad4e7589f4",
            "7be5a10d81d04ceebe7fc2383b8525e2",
            "81535ab05c2348fbbd3d4ee08329e612",
            "08634704e0ef414885aa60c9f6e67cbb",
            "65c4371fb09942538a7668672791bc36",
            "1fe72a572d7f4b809cad329698e4d44c",
            "c437ec6db6644aa4893ad970b2281737",
            "4cf49acf032b42f498c005843855b156",
            "23995e67141846fcb43573c3d374ead8",
            "6d241e5c00cb4dda91788a9b2ed0e9f1",
            "6f97e3c8b8e545f1bb8c7705479ad856",
            "502ba5a2b65b424ea6463a7f11396a5b",
            "9d9e1ea9820c4949b05cc02bda7ca5a9",
            "72b7b071d54240a8a8e30b2e2ddf404c",
            "635f44dd9ce0447b919a8a2c3cce9ad7",
            "0cbab6837bea407c905c36c67d585a42",
            "495994ef62034c66a4cd9888c6c26e12",
            "e6da36544f41498d91760de226dee668",
            "56139c8fbb944f41abede3ab84e67fcc",
            "621b963777d04737802863d1e4c42453",
            "9b7b5c3fce7e4e5aacc43576c87c6ca4",
            "856e806f75db4583bb97431df345cb0b",
            "e1c7b9dd75d04971801a00b0283f9f97",
            "5a76346db1224f0e81e28236e217c587",
            "81953d68e2104af79fd5bffc06d53bd4",
            "7ab36715a0c74ebc8a7bbcff27ff19a3",
            "1e2d71e62f2e4ec6b7e6efff540c65a6",
            "674c4f1da00c4b5494aeca3600477174"
          ]
        },
        "id": "hGGqeFxGQaDy",
        "outputId": "d079991e-9aaa-43cf-8aa6-ad7782b5fbd0"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Downloading: \"https://download.pytorch.org/models/efficientnet_v2_s-dd5fe13b.pth\" to /root/.cache/torch/hub/checkpoints/efficientnet_v2_s-dd5fe13b.pth\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "100%|██████████| 82.7M/82.7M [00:00<00:00, 181MB/s]\n"
          ]
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "a0ff7c32ef7f4a01a842fdcb12493b6d",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "config.json: 0.00B [00:00, ?B/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "c437ec6db6644aa4893ad970b2281737",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "model.safetensors:   0%|          | 0.00/201M [00:00<?, ?B/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "e6da36544f41498d91760de226dee668",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "Loading weights:   0%|          | 0/342 [00:00<?, ?it/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "ConvNextModel LOAD REPORT from: facebook/convnext-small-224\n",
            "Key               | Status     |  | \n",
            "------------------+------------+--+-\n",
            "classifier.bias   | UNEXPECTED |  | \n",
            "classifier.weight | UNEXPECTED |  | \n",
            "\n",
            "Notes:\n",
            "- UNEXPECTED\t:can be ignored when loading from different task/architecture; not ok if you expect identical arch.\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "EfficientNet output dim : 1280\n",
            "ConvNeXt output dim     : 768\n",
            "Fused dim               : 2048\n",
            "Num classes             : 6\n"
          ]
        }
      ],
      "source": [
        "class FusionClassifier(nn.Module):\n",
        "    def __init__(self, num_classes, convnext_model_name=\"facebook/convnext-small-224\"):\n",
        "        super().__init__()\n",
        "\n",
        "        # ── EfficientNet-V2-S backbone ──────────────────────────────\n",
        "        eff = models.efficientnet_v2_s(weights=models.EfficientNet_V2_S_Weights.IMAGENET1K_V1)\n",
        "\n",
        "        # Freeze everything first\n",
        "        for param in eff.parameters():\n",
        "            param.requires_grad = False\n",
        "\n",
        "        # Unfreeze last 3 feature blocks (stages 5, 6, 7)\n",
        "        for param in eff.features[5].parameters():\n",
        "            param.requires_grad = True\n",
        "        for param in eff.features[6].parameters():\n",
        "            param.requires_grad = True\n",
        "        for param in eff.features[7].parameters():\n",
        "            param.requires_grad = True\n",
        "\n",
        "        # Keep only the feature extractor (drop the classifier head)\n",
        "        self.eff_features = eff.features\n",
        "        self.eff_avgpool  = eff.avgpool\n",
        "        self.eff_out_dim  = eff.classifier[1].in_features  # 1280\n",
        "\n",
        "        # ── ConvNeXt-Small backbone ─────────────────────────────────\n",
        "        cnx = ConvNextModel.from_pretrained(convnext_model_name)\n",
        "\n",
        "        # Freeze everything first\n",
        "        for param in cnx.parameters():\n",
        "            param.requires_grad = False\n",
        "\n",
        "        # Unfreeze stages 2 & 3 + final layernorm\n",
        "        for param in cnx.encoder.stages[2].parameters():\n",
        "            param.requires_grad = True\n",
        "        for param in cnx.encoder.stages[3].parameters():\n",
        "            param.requires_grad = True\n",
        "        for param in cnx.layernorm.parameters():\n",
        "            param.requires_grad = True\n",
        "\n",
        "        self.cnx_backbone = cnx\n",
        "        self.cnx_out_dim  = 768  # ConvNeXt-Small pooled output\n",
        "\n",
        "        # ── Fusion head ─────────────────────────────────────────────\n",
        "        fused_dim = self.eff_out_dim + self.cnx_out_dim  # 1280 + 768 = 2048\n",
        "\n",
        "        self.fusion_head = nn.Sequential(\n",
        "            nn.Dropout(p=0.4),\n",
        "            nn.Linear(fused_dim, 512),\n",
        "            nn.LayerNorm(512),\n",
        "            nn.GELU(),\n",
        "            nn.Dropout(p=0.3),\n",
        "            nn.Linear(512, 256),\n",
        "            nn.LayerNorm(256),\n",
        "            nn.GELU(),\n",
        "            nn.Dropout(p=0.2),\n",
        "            nn.Linear(256, num_classes)\n",
        "        )\n",
        "\n",
        "    def forward(self, pixel_values_eff, pixel_values_cnx):\n",
        "        # EfficientNet branch: features → avgpool → flatten\n",
        "        x_eff = self.eff_features(pixel_values_eff)       # (B, 1280, H, W)\n",
        "        x_eff = self.eff_avgpool(x_eff)                   # (B, 1280, 1, 1)\n",
        "        x_eff = torch.flatten(x_eff, 1)                   # (B, 1280)\n",
        "\n",
        "        # ConvNeXt branch: uses pooler_output (global avg pool already applied)\n",
        "        cnx_out = self.cnx_backbone(\n",
        "            pixel_values=pixel_values_cnx,\n",
        "            return_dict=True\n",
        "        )\n",
        "        x_cnx = cnx_out.pooler_output                     # (B, 768)\n",
        "\n",
        "        # Concatenate and classify\n",
        "        fused  = torch.cat([x_eff, x_cnx], dim=1)        # (B, 2048)\n",
        "        logits = self.fusion_head(fused)                  # (B, num_classes)\n",
        "\n",
        "        return logits\n",
        "\n",
        "\n",
        "model = FusionClassifier(\n",
        "    num_classes=len(class_to_idx),\n",
        "    convnext_model_name=convnext_model_name\n",
        ").to(device)\n",
        "\n",
        "print(f\"EfficientNet output dim : {model.eff_out_dim}\")\n",
        "print(f\"ConvNeXt output dim     : {model.cnx_out_dim}\")\n",
        "print(f\"Fused dim               : {model.eff_out_dim + model.cnx_out_dim}\")\n",
        "print(f\"Num classes             : {len(class_to_idx)}\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "CbLbp41iQaDy"
      },
      "source": [
        "# Loss, Optimizer\n",
        "\n",
        "**5-group differential learning rates**\n",
        "- EfficientNet features[5] → `1e-5` (earliest unfrozen block)\n",
        "- EfficientNet features[6, 7] → `3e-5`\n",
        "- ConvNeXt stages[2, 3] + layernorm → `3e-5`\n",
        "- Fusion head → `1e-4` (trains from scratch, needs highest LR)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "Lpop8NyWQaDy"
      },
      "outputs": [],
      "source": [
        "criterion = nn.CrossEntropyLoss(label_smoothing=0.1)\n",
        "\n",
        "optimizer = torch.optim.AdamW([\n",
        "    # EfficientNet unfrozen blocks\n",
        "    {\"params\": model.eff_features[5].parameters(), \"lr\": 1e-5},\n",
        "    {\"params\": model.eff_features[6].parameters(), \"lr\": 3e-5},\n",
        "    {\"params\": model.eff_features[7].parameters(), \"lr\": 3e-5},\n",
        "\n",
        "    # ConvNeXt unfrozen blocks\n",
        "    {\"params\": model.cnx_backbone.encoder.stages[2].parameters(), \"lr\": 3e-5},\n",
        "    {\"params\": model.cnx_backbone.encoder.stages[3].parameters(), \"lr\": 3e-5},\n",
        "    {\"params\": model.cnx_backbone.layernorm.parameters(),          \"lr\": 3e-5},\n",
        "\n",
        "    # Fusion head\n",
        "    {\"params\": model.fusion_head.parameters(), \"lr\": 1e-4},\n",
        "], weight_decay=1e-4)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "oIwJJ9h_QaDy"
      },
      "source": [
        "# Early Stopping"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 16,
      "metadata": {
        "id": "cFUGTy0PQaDz"
      },
      "outputs": [],
      "source": [
        "class EarlyStopping:\n",
        "    def __init__(self, patience=7, min_delta=0.001):\n",
        "        self.patience   = patience\n",
        "        self.min_delta  = min_delta\n",
        "        self.counter    = 0\n",
        "        self.best_score = None\n",
        "        self.early_stop = False\n",
        "\n",
        "    def __call__(self, val_acc):\n",
        "        if self.best_score is None:\n",
        "            self.best_score = val_acc\n",
        "        elif val_acc < self.best_score + self.min_delta:\n",
        "            self.counter += 1\n",
        "            print(f\"  EarlyStopping: {self.counter}/{self.patience}\")\n",
        "            if self.counter >= self.patience:\n",
        "                self.early_stop = True\n",
        "        else:\n",
        "            self.best_score = val_acc\n",
        "            self.counter    = 0"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "EO_BG4lTQaDz"
      },
      "source": [
        "# Training Function"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 17,
      "metadata": {
        "id": "atUfmDu7QaDz"
      },
      "outputs": [],
      "source": [
        "def train_model(\n",
        "    model,\n",
        "    epochs,\n",
        "    train_loader,\n",
        "    eval_loader,\n",
        "    optimizer,\n",
        "    criterion,\n",
        "    device,\n",
        "    patience=7,\n",
        "    checkpoint_model_name=\"model\"\n",
        "):\n",
        "\n",
        "    print(\"Starting training...\")\n",
        "    print(f\"Epochs: {epochs} | Device: {device}\")\n",
        "    print(\"-\" * 60)\n",
        "\n",
        "    # ------------------------- SCHEDULER -------------------------\n",
        "    num_training_steps = epochs * len(train_loader)\n",
        "    num_warmup_steps   = int(0.1 * num_training_steps)\n",
        "\n",
        "    scheduler = get_cosine_schedule_with_warmup(\n",
        "        optimizer,\n",
        "        num_warmup_steps=num_warmup_steps,\n",
        "        num_training_steps=num_training_steps\n",
        "    )\n",
        "\n",
        "    early_stopping = EarlyStopping(patience=patience)\n",
        "\n",
        "    train_losses, train_accs = [], []\n",
        "    val_losses,   val_accs   = [], []\n",
        "\n",
        "    best_acc = 0.0\n",
        "\n",
        "    # ------------------------- TRAIN LOOP -------------------------\n",
        "    for epoch in range(epochs):\n",
        "\n",
        "        # --------------------- TRAIN ---------------------\n",
        "        model.train()\n",
        "        running_loss, correct, total = 0, 0, 0\n",
        "\n",
        "        for batch in tqdm(train_loader, desc=f\"Epoch {epoch+1} Training\"):\n",
        "\n",
        "            images_eff = batch['pixel_values_eff'].to(device)\n",
        "            images_cnx = batch['pixel_values_cnx'].to(device)\n",
        "            labels     = batch['labels'].to(device)\n",
        "\n",
        "            optimizer.zero_grad(set_to_none=True)\n",
        "\n",
        "            logits = model(images_eff, images_cnx)  # forward both branches\n",
        "\n",
        "            loss = criterion(logits, labels)\n",
        "            loss.backward()\n",
        "\n",
        "            optimizer.step()\n",
        "            scheduler.step()\n",
        "\n",
        "            running_loss += loss.item()\n",
        "            preds  = torch.argmax(logits, dim=1)\n",
        "            correct += (preds == labels).sum().item()\n",
        "            total   += labels.size(0)\n",
        "\n",
        "        train_loss = running_loss / len(train_loader)\n",
        "        train_acc  = 100 * correct / total\n",
        "\n",
        "        train_losses.append(train_loss)\n",
        "        train_accs.append(train_acc)\n",
        "\n",
        "        # --------------------- VALIDATION ---------------------\n",
        "        model.eval()\n",
        "        val_running_loss, val_correct, val_total = 0, 0, 0\n",
        "\n",
        "        all_preds, all_labels = [], []\n",
        "\n",
        "        with torch.no_grad():\n",
        "            for batch in tqdm(eval_loader, desc=f\"Epoch {epoch+1} Validation\"):\n",
        "\n",
        "                images_eff = batch['pixel_values_eff'].to(device)\n",
        "                images_cnx = batch['pixel_values_cnx'].to(device)\n",
        "                labels     = batch['labels'].to(device)\n",
        "\n",
        "                logits = model(images_eff, images_cnx)\n",
        "\n",
        "                loss = criterion(logits, labels)\n",
        "                val_running_loss += loss.item()\n",
        "\n",
        "                preds = torch.argmax(logits, dim=1)\n",
        "                val_correct += (preds == labels).sum().item()\n",
        "                val_total   += labels.size(0)\n",
        "\n",
        "                all_preds.extend(preds.cpu().numpy())\n",
        "                all_labels.extend(labels.cpu().numpy())\n",
        "\n",
        "        val_loss = val_running_loss / len(eval_loader)\n",
        "        val_acc  = 100 * val_correct / val_total\n",
        "\n",
        "        val_losses.append(val_loss)\n",
        "        val_accs.append(val_acc)\n",
        "\n",
        "        print(\n",
        "            f\"Results \"\n",
        "            f\"Train Loss: {train_loss:.4f} | Train Acc: {train_acc:.2f}% || \"\n",
        "            f\"Val Loss: {val_loss:.4f} | Val Acc: {val_acc:.2f}%\"\n",
        "        )\n",
        "        print(\"-\" * 60)\n",
        "\n",
        "        # --------------------- SAVE BEST MODEL (BY ACCURACY) ---------------------\n",
        "        if val_acc > best_acc:\n",
        "            best_acc = val_acc\n",
        "\n",
        "            os.makedirs(\"checkpoints\", exist_ok=True)\n",
        "\n",
        "            torch.save({\n",
        "                \"model_state_dict\":     model.state_dict(),\n",
        "                \"optimizer_state_dict\": optimizer.state_dict(),\n",
        "                \"epoch\":                epoch,\n",
        "                \"val_acc\":              val_acc\n",
        "            }, f\"checkpoints/{checkpoint_model_name}.pt\")\n",
        "\n",
        "            print(f\"Best model saved (Acc: {val_acc:.2f}%)\")\n",
        "\n",
        "        # --------------------- EARLY STOPPING ---------------------\n",
        "        early_stopping(val_acc)\n",
        "\n",
        "        if early_stopping.early_stop:\n",
        "            print(f\"Early stopping at epoch {epoch+1}\")\n",
        "            break\n",
        "\n",
        "    return (\n",
        "        train_losses,\n",
        "        train_accs,\n",
        "        val_losses,\n",
        "        val_accs,\n",
        "        all_preds,\n",
        "        all_labels\n",
        "    )"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "nXdEtymaQaDz"
      },
      "source": [
        "# Train Model"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 18,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "z-cjjLNNQaDz",
        "outputId": "87a56605-8276-49fd-9413-76f3fe6b0019"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Starting training...\n",
            "Epochs: 100 | Device: cuda\n",
            "------------------------------------------------------------\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 1 Training: 100%|██████████| 58/58 [04:59<00:00,  5.16s/it]\n",
            "Epoch 1 Validation: 100%|██████████| 15/15 [01:33<00:00,  6.26s/it]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 1.8193 | Train Acc: 20.22% || Val Loss: 1.7239 | Val Acc: 29.78%\n",
            "------------------------------------------------------------\n",
            "Best model saved (Acc: 29.78%)\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 2 Training: 100%|██████████| 58/58 [01:16<00:00,  1.33s/it]\n",
            "Epoch 2 Validation: 100%|██████████| 15/15 [00:09<00:00,  1.58it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 1.7095 | Train Acc: 30.33% || Val Loss: 1.5493 | Val Acc: 37.61%\n",
            "------------------------------------------------------------\n",
            "Best model saved (Acc: 37.61%)\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 3 Training: 100%|██████████| 58/58 [01:15<00:00,  1.31s/it]\n",
            "Epoch 3 Validation: 100%|██████████| 15/15 [00:10<00:00,  1.41it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 1.5294 | Train Acc: 43.15% || Val Loss: 1.2945 | Val Acc: 51.74%\n",
            "------------------------------------------------------------\n",
            "Best model saved (Acc: 51.74%)\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 4 Training: 100%|██████████| 58/58 [01:15<00:00,  1.30s/it]\n",
            "Epoch 4 Validation: 100%|██████████| 15/15 [00:11<00:00,  1.36it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 1.2871 | Train Acc: 56.90% || Val Loss: 1.1316 | Val Acc: 58.26%\n",
            "------------------------------------------------------------\n",
            "Best model saved (Acc: 58.26%)\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 5 Training: 100%|██████████| 58/58 [01:16<00:00,  1.32s/it]\n",
            "Epoch 5 Validation: 100%|██████████| 15/15 [00:10<00:00,  1.37it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 1.1067 | Train Acc: 61.52% || Val Loss: 1.0254 | Val Acc: 63.70%\n",
            "------------------------------------------------------------\n",
            "Best model saved (Acc: 63.70%)\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 6 Training: 100%|██████████| 58/58 [01:16<00:00,  1.32s/it]\n",
            "Epoch 6 Validation: 100%|██████████| 15/15 [00:09<00:00,  1.61it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 1.0052 | Train Acc: 70.05% || Val Loss: 0.9696 | Val Acc: 67.61%\n",
            "------------------------------------------------------------\n",
            "Best model saved (Acc: 67.61%)\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 7 Training: 100%|██████████| 58/58 [01:15<00:00,  1.30s/it]\n",
            "Epoch 7 Validation: 100%|██████████| 15/15 [00:09<00:00,  1.56it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.9395 | Train Acc: 71.63% || Val Loss: 0.9395 | Val Acc: 72.83%\n",
            "------------------------------------------------------------\n",
            "Best model saved (Acc: 72.83%)\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 8 Training: 100%|██████████| 58/58 [01:15<00:00,  1.30s/it]\n",
            "Epoch 8 Validation: 100%|██████████| 15/15 [00:10<00:00,  1.44it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.8603 | Train Acc: 77.01% || Val Loss: 0.9061 | Val Acc: 73.04%\n",
            "------------------------------------------------------------\n",
            "Best model saved (Acc: 73.04%)\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 9 Training: 100%|██████████| 58/58 [01:15<00:00,  1.30s/it]\n",
            "Epoch 9 Validation: 100%|██████████| 15/15 [00:11<00:00,  1.36it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.7849 | Train Acc: 81.74% || Val Loss: 0.8620 | Val Acc: 77.17%\n",
            "------------------------------------------------------------\n",
            "Best model saved (Acc: 77.17%)\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 10 Training: 100%|██████████| 58/58 [01:15<00:00,  1.30s/it]\n",
            "Epoch 10 Validation: 100%|██████████| 15/15 [00:11<00:00,  1.33it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.7274 | Train Acc: 85.16% || Val Loss: 0.8499 | Val Acc: 78.91%\n",
            "------------------------------------------------------------\n",
            "Best model saved (Acc: 78.91%)\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 11 Training: 100%|██████████| 58/58 [01:16<00:00,  1.31s/it]\n",
            "Epoch 11 Validation: 100%|██████████| 15/15 [00:10<00:00,  1.41it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.6703 | Train Acc: 87.61% || Val Loss: 0.9828 | Val Acc: 75.65%\n",
            "------------------------------------------------------------\n",
            "  EarlyStopping: 1/7\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 12 Training: 100%|██████████| 58/58 [01:15<00:00,  1.31s/it]\n",
            "Epoch 12 Validation: 100%|██████████| 15/15 [00:11<00:00,  1.34it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.6314 | Train Acc: 90.38% || Val Loss: 0.8680 | Val Acc: 81.30%\n",
            "------------------------------------------------------------\n",
            "Best model saved (Acc: 81.30%)\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 13 Training: 100%|██████████| 58/58 [01:16<00:00,  1.33s/it]\n",
            "Epoch 13 Validation: 100%|██████████| 15/15 [00:09<00:00,  1.57it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.5780 | Train Acc: 93.64% || Val Loss: 0.8751 | Val Acc: 81.30%\n",
            "------------------------------------------------------------\n",
            "  EarlyStopping: 1/7\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 14 Training: 100%|██████████| 58/58 [01:16<00:00,  1.32s/it]\n",
            "Epoch 14 Validation: 100%|██████████| 15/15 [00:10<00:00,  1.49it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.5575 | Train Acc: 94.29% || Val Loss: 0.8805 | Val Acc: 80.22%\n",
            "------------------------------------------------------------\n",
            "  EarlyStopping: 2/7\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 15 Training: 100%|██████████| 58/58 [01:15<00:00,  1.31s/it]\n",
            "Epoch 15 Validation: 100%|██████████| 15/15 [00:10<00:00,  1.41it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.5222 | Train Acc: 96.03% || Val Loss: 0.8766 | Val Acc: 84.35%\n",
            "------------------------------------------------------------\n",
            "Best model saved (Acc: 84.35%)\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 16 Training: 100%|██████████| 58/58 [01:15<00:00,  1.30s/it]\n",
            "Epoch 16 Validation: 100%|██████████| 15/15 [00:10<00:00,  1.43it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.5277 | Train Acc: 95.27% || Val Loss: 0.8721 | Val Acc: 82.17%\n",
            "------------------------------------------------------------\n",
            "  EarlyStopping: 1/7\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 17 Training: 100%|██████████| 58/58 [01:15<00:00,  1.30s/it]\n",
            "Epoch 17 Validation: 100%|██████████| 15/15 [00:09<00:00,  1.55it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.4932 | Train Acc: 97.28% || Val Loss: 0.8962 | Val Acc: 81.74%\n",
            "------------------------------------------------------------\n",
            "  EarlyStopping: 2/7\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 18 Training: 100%|██████████| 58/58 [01:16<00:00,  1.31s/it]\n",
            "Epoch 18 Validation: 100%|██████████| 15/15 [00:09<00:00,  1.51it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.4769 | Train Acc: 98.42% || Val Loss: 0.8951 | Val Acc: 81.74%\n",
            "------------------------------------------------------------\n",
            "  EarlyStopping: 3/7\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 19 Training: 100%|██████████| 58/58 [01:16<00:00,  1.32s/it]\n",
            "Epoch 19 Validation: 100%|██████████| 15/15 [00:10<00:00,  1.43it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.4729 | Train Acc: 98.37% || Val Loss: 0.8778 | Val Acc: 83.04%\n",
            "------------------------------------------------------------\n",
            "  EarlyStopping: 4/7\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 20 Training: 100%|██████████| 58/58 [01:15<00:00,  1.30s/it]\n",
            "Epoch 20 Validation: 100%|██████████| 15/15 [00:11<00:00,  1.33it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.4656 | Train Acc: 98.86% || Val Loss: 0.9270 | Val Acc: 81.96%\n",
            "------------------------------------------------------------\n",
            "  EarlyStopping: 5/7\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 21 Training: 100%|██████████| 58/58 [01:15<00:00,  1.30s/it]\n",
            "Epoch 21 Validation: 100%|██████████| 15/15 [00:11<00:00,  1.31it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.4505 | Train Acc: 99.51% || Val Loss: 0.9856 | Val Acc: 80.65%\n",
            "------------------------------------------------------------\n",
            "  EarlyStopping: 6/7\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Epoch 22 Training: 100%|██████████| 58/58 [01:15<00:00,  1.29s/it]\n",
            "Epoch 22 Validation: 100%|██████████| 15/15 [00:11<00:00,  1.34it/s]"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Results Train Loss: 0.4657 | Train Acc: 98.53% || Val Loss: 1.0003 | Val Acc: 80.87%\n",
            "------------------------------------------------------------\n",
            "  EarlyStopping: 7/7\n",
            "Early stopping at epoch 22\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "\n"
          ]
        }
      ],
      "source": [
        "train_losses, train_accuracy, eval_losses, eval_accuracies, all_preds, all_labels = train_model(\n",
        "    model                 = model,\n",
        "    train_loader          = train_loader,\n",
        "    eval_loader           = eval_loader,\n",
        "    optimizer             = optimizer,\n",
        "    criterion             = criterion,\n",
        "    device                = device,\n",
        "    epochs                = 100,\n",
        "    patience              = 7,\n",
        "    checkpoint_model_name = 'best_fusion_model'\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Vx89B4AqQaDz"
      },
      "source": [
        "# Plotting the loss and accuracy"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 19,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 433
        },
        "id": "J9UFxWV0QaDz",
        "outputId": "57d7dd29-8f5c-4542-d677-92c2b8ec2548"
      },
      "outputs": [
        {
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAHqCAYAAADVi/1VAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA4DRJREFUeJzs3Xd0FGUXx/HvpheSQIAEAoHQm/Qm0gWkCFKli4CIKKio6CuiiIhiF1EEC1W6IIiCFKmKdAgtIJ2EJISaTurO+8fKYgQUyCab8vucMyeTmWfv3t0wZHL3KSbDMAxERERERERERESykYO9ExARERERERERkfxHRSkREREREREREcl2KkqJiIiIiIiIiEi2U1FKRERERERERESynYpSIiIiIiIiIiKS7VSUEhERERERERGRbKeilIiIiIiIiIiIZDsVpUREREREREREJNupKCUiIiIiIiIiItlORSkREREREREREcl2KkqJSJaYNWsWJpOJ3bt32zuVOxIcHEz//v0JDAzE1dUVX19fWrduzcyZM0lPT7d3eiIiIpKLfPnll5hMJho2bGjvVHKlqKgoRo0aReXKlfHw8MDT05O6desyYcIEoqOj7Z2eiNiQk70TEBGxt2+//ZZhw4bh7+/PY489RoUKFYiLi2P9+vU88cQTREZG8tprr9k7TREREckl5s2bR1BQEDt37uTEiROUL1/e3inlGrt27aJDhw7Ex8fTv39/6tatC8Du3bt577332LJlC2vXrrVzliJiKypKiUi+tn37doYNG0ajRo1YtWoVXl5e1nMjR45k9+7dHDp0yCbPlZCQgKenp01iiYiISM50+vRp/vjjD3744Qeeeuop5s2bx5tvvmnvtG4pp92bREdH07VrVxwdHdm3bx+VK1fOcP6dd97hm2++sclz5bTXLpJfafieiNjVvn37aN++Pd7e3hQoUIBWrVqxffv2DG1SU1N56623qFChAm5ubhQuXJgmTZqwbt06a5vz588zaNAgSpYsiaurK8WLF6dz586cOXPmX5//rbfewmQyMW/evAwFqevq1avHwIEDAdi0aRMmk4lNmzZlaHPmzBlMJhOzZs2yHhs4cCAFChTg5MmTdOjQAS8vL/r168eIESMoUKAAiYmJNz1Xnz59KFasWIbhgr/88gtNmzbF09MTLy8vHn74YQ4fPvyvr0lERETs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nDVr1vDGG28wceJENmzYQO3atW8Zt3z58jg5OXHw4ME7yuN2n0r+/ZPPv3N1dcXB4eba//33309QUBCLFy+mb9++/PTTT1y7ds36aRyA2WwGLPNKFStW7KYYtrxBFRERkczbsGEDkZGRLFy4kIULF950ft68eTz00EM2fU5b3Jukp6fTpk0brly5wv/+9z8qV66Mp6cn4eHhDBw40HpPcjcGDBjA888/z7lz50hOTmb79u188cUX//m4ypUrExwcTEpKCi4uLnf9vNfd7vX/vUfYda6urnTp0oVly5bx5ZdfEhUVxdatW3n33Xetba6/B6NGjaJt27a3jP1fBTcRuTX9VSMidlG0aFE8PDz4888/bzp39OhRHBwcCAwMtB7z9fVl0KBBDBo0iPj4eJo1a8a4ceOsRSmAcuXK8dJLL/HSSy9x/PhxatWqxccff8zcuXNvmYOHhwcPPvggGzZsICwsLMPz3UqhQoUAy2o5f3f27Nk7fdlWPXv25LPPPiM2NpZFixYRFBTE/fffn+G1APj5+dG6deu7ji8iIiLZa968efj5+TFlypSbzv3www8sW7aMadOm4e7uTrly5TKs6nYr5cqVY8eOHaSmpuLs7HzLNra4Nzl48CDHjh1j9uzZDBgwwHr876scA9bpFv4rb4DevXvz4osvsmDBAq5du4azs3OGD99up1OnTmzbto2lS5fSp0+f/2xfqFChm157SkoKkZGR//nYv+vVqxezZ89m/fr1HDlyBMMwMuR7/bU7OzvrvkzExjR8T0TswtHRkYceeogff/yRM2fOWI9HRUUxf/58mjRpYh1ed/ny5QyPLVCgAOXLlyc5ORmwrFyXlJSUoU25cuXw8vKytrmdN998E8MweOyxxzLM8XTdnj17mD17NgClS5fG0dGRLVu2ZGjz5Zdf3tmL/ptevXqRnJzM7NmzWb16NT179sxwvm3btnh7e/Puu++Smpp60+MvXrx4188pIiIiWePatWv88MMPdOzYkR49ety0jRgxgri4OOvQ/e7du7N//36WLVt2UyzDMKxtLl26dMseRtfb2OLe5PocS9djXt//7LPPMrQrWrQozZo1Y8aMGYSGht4yn+uKFClC+/btmTt3LvPmzaNdu3YUKVLkP3MZNmwYxYsX56WXXuLYsWM3nb9w4QITJkywfl+uXLmbXvvXX399255St9O6dWt8fX1ZtGgRixYtokGDBhmG+vn5+dGiRQu++uqrWxa8dF8mcu/UU0pEstSMGTNYvXr1Tceff/55JkyYwLp162jSpAnPPPMMTk5OfPXVVyQnJ/PBBx9Y21atWpUWLVpQt25dfH192b17N0uWLGHEiBEAHDt2jFatWtGzZ0+qVq2Kk5MTy5YtIyoqit69e/9rfg888ABTpkzhmWeeoXLlyjz22GNUqFCBuLg4Nm3axIoVK6w3Pz4+Pjz66KN8/vnnmEwmypUrx88//3xPcwjUqVOH8uXLM2bMGJKTk2/69NDb25upU6fy2GOPUadOHXr37k3RokUJDQ1l5cqVNG7c+I66wYuIiEjWW7FiBXFxcTzyyCO3PH///fdTtGhR5s2bR69evXj55ZdZsmQJjz76KIMHD6Zu3bpcuXKFFStWMG3aNGrWrMmAAQOYM2cOL774Ijt37qRp06YkJCTw66+/8swzz9C5c2eb3JtUrlyZcuXKMWrUKMLDw/H29mbp0qW3XDxm8uTJNGnShDp16jB06FDKlCnDmTNnWLlyJcHBwRnaDhgwgB49egDw9ttv31EuhQoVYtmyZXTo0IFatWrRv39/6tatC8DevXtZsGABjRo1srYfMmQIw4YNo3v37rRp04b9+/ezZs2aOyqA/Z2zszPdunVj4cKFJCQk8NFHH93UZsqUKTRp0oTq1avz5JNPUrZsWaKioti2bRvnzp1j//79d/WcIvIXu637JyJ52vWld2+3hYWFGYZhGHv37jXatm1rFChQwPDw8DBatmxp/PHHHxliTZgwwWjQoIFRsGBBw93d3ahcubLxzjvvGCkpKYZhGMalS5eM4cOHG5UrVzY8PT0NHx8fo2HDhsbixYvvON89e/YYffv2NQICAgxnZ2ejUKFCRqtWrYzZs2cb6enp1nYXL140unfvbnh4eBiFChUynnrqKePQoUO3XHbZ09PzX59zzJgxBmCUL1/+tm02btxotG3b1vDx8THc3NyMcuXKGQMHDjR27959x69NREREslanTp0MNzc3IyEh4bZtBg4caDg7OxuXLl0yDMMwLl++bIwYMcIoUaKE4eLiYpQsWdJ4/PHHrecNwzASExONMWPGGGXKlDGcnZ2NYsWKGT169DBOnjxpbWOLe5OQkBCjdevWRoECBYwiRYoYTz75pLF///6bYhiGYRw6dMjo2rWrUbBgQcPNzc2oVKmS8cYbb9wUMzk52ShUqJDh4+NjXLt27U7eRquIiAjjhRdeMCpWrGi4ubkZHh4eRt26dY133nnHiImJsbZLT083/ve//xlFihQxPDw8jLZt2xonTpwwSpcubTz++OPWdtfvS3ft2nXb51y3bp0BGCaTyXqf+k8nT540BgwYYBQrVsxwdnY2SpQoYXTs2NFYsmTJXb0+EbnBZBj/6GspIiIiIiIikglpaWkEBATQqVMnpk+fbu90RCSH0pxSIiIiIiIiYlPLly/n4sWLGSZPFxH5J/WUEhEREREREZvYsWMHBw4c4O2336ZIkSLs3bvX3imJSA6mnlIiIiIiIiJiE1OnTuXpp5/Gz8+POXPm2DsdEcnh1FNKRERERERERESynXpKiYiIiIiIiIhItlNRSkREREREREREsp2TvRPIbmazmYiICLy8vDCZTPZOR0RERHIgwzCIi4sjICAABwd9hvd3upcSERGR/3Kn91L5rigVERFBYGCgvdMQERGRXCAsLIySJUvaO40cRfdSIiIicqf+614q3xWlvLy8AMsb4+3tbedsREREJCeKjY0lMDDQet8gN+heSkRERP7Lnd5L5bui1PVu5t7e3rqREhERkX+l4Wk3072UiIiI3Kn/upfSJAkiIiIiIiIiIpLtVJQSEREREREREZFsp6KUiIiIiIiIiIhku3w3p5SIiEhmpKenk5qaau80xAZcXFz+dYliyRxdK7mPrgkREcluKkqJiIjcAcMwOH/+PNHR0fZORWzEwcGBMmXK4OLiYu9U8hRdK7mXrgkREcluKkqJiIjcget/ZPv5+eHh4aFV2XI5s9lMREQEkZGRlCpVSj9PG9K1kjvpmhAREXtQUUpEROQ/pKenW//ILly4sL3TERspWrQoERERpKWl4ezsbO908gRdK7mbrgkREcluGjQuIiLyH67Pi+Ph4WHnTMSWrg9RSk9Pt3MmeYeuldxN14SIiGQ3FaVERETukIaz5C36eWYdvbe5k35uIiKS3VSUEhEREckFtmzZQqdOnQgICMBkMrF8+fIM5w3DYOzYsRQvXhx3d3dat27N8ePHM7S5cuUK/fr1w9vbm4IFC/LEE08QHx+fja9CRERE5AYVpUREROSuBAUFMWnSJHunke8kJCRQs2ZNpkyZcsvzH3zwAZMnT2batGns2LEDT09P2rZt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OnViypQpt31McnIyycnJ1u9jY2OzI1VqBRbkjY5VGfvjYSb+cpSagQWpH+SbLc8tIiJyrz755BMGDx7MAw88QJEiRfjf//6XZb8758+ff1OB5O233+b1119n8eLFjB07lrfffpvixYszfvx4Bg4cCEDBggX54YcfGDduHElJSVSoUIEFCxZQrVo1jhw5wpYtW5g0aRKxsbGULl2ajz/++K56Zov8l+y4TmbMmEHXrl1v+Ql69+7deeyxx7h06RKPP/44SUlJfPrpp4waNYoiRYrQo0cPa9ulS5cyatQo+vTpQ0JCAuXLl+e9996zaa4iIvfCbDY4eTGeXWeusvvMFXafvUrolUR7p2V1vdjk7+2G319f/b1dKepl+ern7UbRAq64ODnYO1WreylUuTjaN3+TkUPWSDaZTP850XlISAitW7fmhRdeoG3btkRGRvLyyy9Tv379m5bHvW7cuHG89dZbNx2PiYnB2ztrJyE3DIPnFwazYn8Efl6urHyuKUW97n31GhERsY+kpCTrald/Hwoludu//VxjY2Px8fHJlvuF3Obf3htdK7mbfn4ikpWS09I5eC7GWoTaE3qV6MTUDG1MJihXtAAujg6YDQOzYZBuNjAbkG627BuGQbphkG7mxnnzX20NA7OZv87futSRG4tNtvb3QlXnWiWy5LXe6b1UruopNXHiRBo3bszLL78MWMbJe3p60rRpUyZMmJBhCeTrRo8enWEOidjYWAIDA7MlX5PJxMRu1QmJjOXEhXieW7CP755ogJOdK5EiIiIiIiIiWSk6MYU9Z69ai1AHwmNIScs41NnN2YHagYWoF1SIekG+1C5V0KYLhf2zWOXoYMrTxaY79fceVfaWq4pSiYmJODllTPn6hKe36/Dl6uqKq6v9eid5ujoxrX8dHvliK9tOXebTX4/xctvKdstHRERERERExJYMwyDsyjV2n71iLUIdvxB/U7siBVyoV9rXWoSqFuCNcxZ22nBwMOGAKXcVPvIZu/5s/mtp49GjRxMeHs6cOXMA6NSpE08++SRTp061Dt8bOXIkDRo0yNKljDOrvJ8X73evwbML9jFl40nqlCpEqyr+9k5LRERERERE5K6lpZs5EhnH7rNX2H3mKrvOXOFCXPJN7coW9aT+X0Wo+kG+lC7soZXpJQO7FqX+a2njyMhIQkNDrecHDhxIXFwcX3zx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",
            "text/plain": [
              "<Figure size 1200x500 with 2 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "def plot_training_curves(train_losses, eval_losses, train_acc, eval_acc):\n",
        "    epochs = range(1, len(train_losses) + 1)\n",
        "\n",
        "    plt.figure(figsize=(12, 5))\n",
        "\n",
        "    # Loss\n",
        "    plt.subplot(1, 2, 1)\n",
        "    plt.plot(epochs, train_losses, label=\"Train Loss\")\n",
        "    plt.plot(epochs, eval_losses,  label=\"Val Loss\")\n",
        "    plt.xlabel(\"Epochs\")\n",
        "    plt.ylabel(\"Loss\")\n",
        "    plt.title(\"Loss Curve\")\n",
        "    plt.legend()\n",
        "\n",
        "    # Accuracy\n",
        "    plt.subplot(1, 2, 2)\n",
        "    plt.plot(epochs, train_acc, label=\"Train Acc\")\n",
        "    plt.plot(epochs, eval_acc,  label=\"Val Acc\")\n",
        "    plt.xlabel(\"Epochs\")\n",
        "    plt.ylabel(\"Accuracy (%)\")\n",
        "    plt.title(\"Accuracy Curve\")\n",
        "    plt.legend()\n",
        "\n",
        "    plt.tight_layout()\n",
        "    plt.show()\n",
        "\n",
        "plot_training_curves(\n",
        "    train_losses,\n",
        "    eval_losses,\n",
        "    train_accuracy,\n",
        "    eval_accuracies\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "bPbPHC5eQaDz"
      },
      "source": [
        "# Confusion Matrix & Classification Report"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 23,
      "metadata": {
        "id": "_qXAbeBMQaDz"
      },
      "outputs": [],
      "source": [
        "def print_classification_report(all_labels, all_preds):\n",
        "    class_names = train_dataset.dataset.classes\n",
        "    report = classification_report(\n",
        "        all_labels,\n",
        "        all_preds,\n",
        "        target_names=class_names\n",
        "    )\n",
        "    print(report)\n",
        "\n",
        "def plot_confusion_matrix_normalized(all_labels, all_preds):\n",
        "    class_names = train_dataset.dataset.classes\n",
        "    cm = confusion_matrix(all_labels, all_preds)\n",
        "    plt.figure(figsize=(6, 5))\n",
        "    sns.heatmap(cm, annot=True, fmt=\"d\", cmap=\"Blues\",\n",
        "                xticklabels=class_names, yticklabels=class_names)\n",
        "    plt.xlabel(\"Predicted\")\n",
        "    plt.ylabel(\"True\")\n",
        "    plt.title(\"Confusion Matrix\")\n",
        "    plt.show()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 24,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000,
          "referenced_widgets": [
            "6cbff488f4f24dde8ca3f4ebcd36c5ea",
            "38294808ce794659bc53070b5d878bab",
            "cc2e3d368e074fda8661b5c3674c3c22",
            "217daf5f4af94f258980f82aeacdf8d8",
            "54f1a103feba456fab993880b1ecfa96",
            "90980cd77e1e4116aef3377c99424911",
            "e6c61f38fd474613b1308407d69177df",
            "8f827b632f6d49948a021666de6ea747",
            "8dea9a685bdd4c4597baf02dc5c2e3b8",
            "db337c30d78d49548cb6ee1aef0ad391",
            "32072b76478f4a27b0160d485f6c3877"
          ]
        },
        "id": "UowDvFrke6yQ",
        "outputId": "46740101-9bfe-46a6-a936-a32a7ff5abf2"
      },
      "outputs": [
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "6cbff488f4f24dde8ca3f4ebcd36c5ea",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "Loading weights:   0%|          | 0/342 [00:00<?, ?it/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "ConvNextModel LOAD REPORT from: facebook/convnext-small-224\n",
            "Key               | Status     |  | \n",
            "------------------+------------+--+-\n",
            "classifier.bias   | UNEXPECTED |  | \n",
            "classifier.weight | UNEXPECTED |  | \n",
            "\n",
            "Notes:\n",
            "- UNEXPECTED\t:can be ignored when loading from different task/architecture; not ok if you expect identical arch.\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Best model loaded from checkpoints/best_fusion_model.pt (Validation Accuracy: 84.35%) at epoch 15\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "Making predictions on eval_loader: 100%|██████████| 15/15 [00:11<00:00,  1.32it/s]\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\n",
            "--- Classification Report (from loaded model) ---\n",
            "              precision    recall  f1-score   support\n",
            "\n",
            "  F_Breakage       0.89      0.81      0.85       100\n",
            "   F_Crushed       0.75      0.81      0.78        80\n",
            "    F_Normal       0.89      0.92      0.91       100\n",
            "  R_Breakage       0.85      0.87      0.86        60\n",
            "   R_Crushed       0.80      0.80      0.80        60\n",
            "    R_Normal       0.86      0.83      0.85        60\n",
            "\n",
            "    accuracy                           0.84       460\n",
            "   macro avg       0.84      0.84      0.84       460\n",
            "weighted avg       0.85      0.84      0.84       460\n",
            "\n",
            "\n",
            "--- Confusion Matrix (from loaded model) ---\n"
          ]
        },
        {
          "data": {
            "image/png": "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",
            "text/plain": [
              "<Figure size 600x500 with 2 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "loaded_model = FusionClassifier(\n",
        "    num_classes=len(class_to_idx),\n",
        "    convnext_model_name=convnext_model_name\n",
        ").to(device)\n",
        "\n",
        "checkpoint_path = \"checkpoints/best_fusion_model.pt\"\n",
        "checkpoint = torch.load(checkpoint_path)\n",
        "loaded_model.load_state_dict(checkpoint['model_state_dict'])\n",
        "\n",
        "print(f\"Best model loaded from {checkpoint_path} (Validation Accuracy: {checkpoint['val_acc']:.2f}%) at epoch {checkpoint['epoch']+1}\")\n",
        "\n",
        "loaded_model.eval()\n",
        "\n",
        "all_labels_loaded_model = []\n",
        "all_preds_loaded_model = []\n",
        "\n",
        "with torch.no_grad():\n",
        "    for batch in tqdm(eval_loader, desc=\"Making predictions on eval_loader\"):\n",
        "        images_eff = batch['pixel_values_eff'].to(device)\n",
        "        images_cnx = batch['pixel_values_cnx'].to(device)\n",
        "        labels     = batch['labels'].to(device)\n",
        "\n",
        "        logits = loaded_model(images_eff, images_cnx)\n",
        "        preds = torch.argmax(logits, dim=1)\n",
        "\n",
        "        all_labels_loaded_model.extend(labels.cpu().numpy())\n",
        "        all_preds_loaded_model.extend(preds.cpu().numpy())\n",
        "\n",
        "print(\"\\n--- Classification Report (from loaded model) ---\")\n",
        "print_classification_report(all_labels_loaded_model, all_preds_loaded_model)\n",
        "\n",
        "print(\"\\n--- Confusion Matrix (from loaded model) ---\")\n",
        "plot_confusion_matrix_normalized(all_labels_loaded_model, all_preds_loaded_model)"
      ]
    }
  ],
  "metadata": {
    "accelerator": "GPU",
    "colab": {
      "gpuType": "T4",
      "provenance": []
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "name": "python",
      "version": "3.10.0"
    },
    "widgets": {
      "application/vnd.jupyter.widget-state+json": {
        "08634704e0ef414885aa60c9f6e67cbb": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "0cbab6837bea407c905c36c67d585a42": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1e2d71e62f2e4ec6b7e6efff540c65a6": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1f641e6227a74723b221bbeff1b02e13": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1fe72a572d7f4b809cad329698e4d44c": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "217daf5f4af94f258980f82aeacdf8d8": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_db337c30d78d49548cb6ee1aef0ad391",
            "placeholder": "​",
            "style": "IPY_MODEL_32072b76478f4a27b0160d485f6c3877",
            "value": " 342/342 [00:00&lt;00:00, 815.19it/s, Materializing param=layernorm.weight]"
          }
        },
        "2203a85147af470693c9f67287b62aab": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "23995e67141846fcb43573c3d374ead8": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_72b7b071d54240a8a8e30b2e2ddf404c",
            "max": 200935760,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_635f44dd9ce0447b919a8a2c3cce9ad7",
            "value": 200935760
          }
        },
        "2de9e107e7414f8898a97b979c56fe29": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_9aa552394c384c2dbc1c5bb15e4190ee",
            "max": 266,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_f8296d1a2f134a26b8e5103f73073c81",
            "value": 266
          }
        },
        "2f9f1bdcce60481b8cf28c941b68a308": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "32072b76478f4a27b0160d485f6c3877": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "38294808ce794659bc53070b5d878bab": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_90980cd77e1e4116aef3377c99424911",
            "placeholder": "​",
            "style": "IPY_MODEL_e6c61f38fd474613b1308407d69177df",
            "value": "Loading weights: 100%"
          }
        },
        "3cb15ef1c7264f1185a7fc6b5d7c2df3": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_b53f782eee9644b5ad1eaaed362bea07",
              "IPY_MODEL_2de9e107e7414f8898a97b979c56fe29",
              "IPY_MODEL_6ac3f2449f524cd8967ac2858db401a5"
            ],
            "layout": "IPY_MODEL_2f9f1bdcce60481b8cf28c941b68a308"
          }
        },
        "3f04bb9c094c420b8dd8adad4e7589f4": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "495994ef62034c66a4cd9888c6c26e12": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "4cf49acf032b42f498c005843855b156": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_502ba5a2b65b424ea6463a7f11396a5b",
            "placeholder": "​",
            "style": "IPY_MODEL_9d9e1ea9820c4949b05cc02bda7ca5a9",
            "value": "model.safetensors: 100%"
          }
        },
        "502ba5a2b65b424ea6463a7f11396a5b": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "54f1a103feba456fab993880b1ecfa96": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "56139c8fbb944f41abede3ab84e67fcc": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e1c7b9dd75d04971801a00b0283f9f97",
            "placeholder": "​",
            "style": "IPY_MODEL_5a76346db1224f0e81e28236e217c587",
            "value": "Loading weights: 100%"
          }
        },
        "5a76346db1224f0e81e28236e217c587": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "5ace66a707064845a87141f4705d4208": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "621b963777d04737802863d1e4c42453": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_81953d68e2104af79fd5bffc06d53bd4",
            "max": 342,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_7ab36715a0c74ebc8a7bbcff27ff19a3",
            "value": 342
          }
        },
        "635f44dd9ce0447b919a8a2c3cce9ad7": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "65c4371fb09942538a7668672791bc36": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "674c4f1da00c4b5494aeca3600477174": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "6ac3f2449f524cd8967ac2858db401a5": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e30a9b9dc8db49acbb92ac7729f3b894",
            "placeholder": "​",
            "style": "IPY_MODEL_5ace66a707064845a87141f4705d4208",
            "value": " 266/266 [00:00&lt;00:00, 9.81kB/s]"
          }
        },
        "6cbff488f4f24dde8ca3f4ebcd36c5ea": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_38294808ce794659bc53070b5d878bab",
              "IPY_MODEL_cc2e3d368e074fda8661b5c3674c3c22",
              "IPY_MODEL_217daf5f4af94f258980f82aeacdf8d8"
            ],
            "layout": "IPY_MODEL_54f1a103feba456fab993880b1ecfa96"
          }
        },
        "6d241e5c00cb4dda91788a9b2ed0e9f1": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_0cbab6837bea407c905c36c67d585a42",
            "placeholder": "​",
            "style": "IPY_MODEL_495994ef62034c66a4cd9888c6c26e12",
            "value": " 201M/201M [00:02&lt;00:00, 336MB/s]"
          }
        },
        "6f97e3c8b8e545f1bb8c7705479ad856": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "72b7b071d54240a8a8e30b2e2ddf404c": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "78bc2bffdd774be58fc03e57be7f3e74": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_3f04bb9c094c420b8dd8adad4e7589f4",
            "placeholder": "​",
            "style": "IPY_MODEL_7be5a10d81d04ceebe7fc2383b8525e2",
            "value": "config.json: "
          }
        },
        "7ab36715a0c74ebc8a7bbcff27ff19a3": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "7be5a10d81d04ceebe7fc2383b8525e2": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "81535ab05c2348fbbd3d4ee08329e612": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": "20px"
          }
        },
        "81953d68e2104af79fd5bffc06d53bd4": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "84a1060a9ab54cc2ab329e8fc34eabfa": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_65c4371fb09942538a7668672791bc36",
            "placeholder": "​",
            "style": "IPY_MODEL_1fe72a572d7f4b809cad329698e4d44c",
            "value": " 69.6k/? [00:00&lt;00:00, 5.82MB/s]"
          }
        },
        "856e806f75db4583bb97431df345cb0b": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "8dea9a685bdd4c4597baf02dc5c2e3b8": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "8f827b632f6d49948a021666de6ea747": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "90980cd77e1e4116aef3377c99424911": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "9aa552394c384c2dbc1c5bb15e4190ee": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "9b7b5c3fce7e4e5aacc43576c87c6ca4": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_1e2d71e62f2e4ec6b7e6efff540c65a6",
            "placeholder": "​",
            "style": "IPY_MODEL_674c4f1da00c4b5494aeca3600477174",
            "value": " 342/342 [00:00&lt;00:00, 603.91it/s, Materializing param=layernorm.weight]"
          }
        },
        "9d9e1ea9820c4949b05cc02bda7ca5a9": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "a0ff7c32ef7f4a01a842fdcb12493b6d": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_78bc2bffdd774be58fc03e57be7f3e74",
              "IPY_MODEL_a8dd92a5d0db4295bb76d69de00b4d74",
              "IPY_MODEL_84a1060a9ab54cc2ab329e8fc34eabfa"
            ],
            "layout": "IPY_MODEL_2203a85147af470693c9f67287b62aab"
          }
        },
        "a8dd92a5d0db4295bb76d69de00b4d74": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_81535ab05c2348fbbd3d4ee08329e612",
            "max": 1,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_08634704e0ef414885aa60c9f6e67cbb",
            "value": 1
          }
        },
        "b53f782eee9644b5ad1eaaed362bea07": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_1f641e6227a74723b221bbeff1b02e13",
            "placeholder": "​",
            "style": "IPY_MODEL_f4b9970a61b8444e87f28b5dae0eee96",
            "value": "preprocessor_config.json: 100%"
          }
        },
        "c437ec6db6644aa4893ad970b2281737": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_4cf49acf032b42f498c005843855b156",
              "IPY_MODEL_23995e67141846fcb43573c3d374ead8",
              "IPY_MODEL_6d241e5c00cb4dda91788a9b2ed0e9f1"
            ],
            "layout": "IPY_MODEL_6f97e3c8b8e545f1bb8c7705479ad856"
          }
        },
        "cc2e3d368e074fda8661b5c3674c3c22": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_8f827b632f6d49948a021666de6ea747",
            "max": 342,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_8dea9a685bdd4c4597baf02dc5c2e3b8",
            "value": 342
          }
        },
        "db337c30d78d49548cb6ee1aef0ad391": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e1c7b9dd75d04971801a00b0283f9f97": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e30a9b9dc8db49acbb92ac7729f3b894": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e6c61f38fd474613b1308407d69177df": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "e6da36544f41498d91760de226dee668": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_56139c8fbb944f41abede3ab84e67fcc",
              "IPY_MODEL_621b963777d04737802863d1e4c42453",
              "IPY_MODEL_9b7b5c3fce7e4e5aacc43576c87c6ca4"
            ],
            "layout": "IPY_MODEL_856e806f75db4583bb97431df345cb0b"
          }
        },
        "f4b9970a61b8444e87f28b5dae0eee96": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "f8296d1a2f134a26b8e5103f73073c81": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        }
      }
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}