使用设备: cpu POT库已安装 ✓ === 加载数据 === === 准备教师模型 === 加载预训练教师模型: resnet18_cifar100_teacher.pth 教师模型准确率: 56.20% === 准备学生模型 === 学生模型初始准确率: 0.99% ============================================================ 精度恢复方法对比 ============================================================ --- 直接微调(基线) --- Epoch 1/10: Train Loss=3.7123, Train Acc=13.07%, Test Acc=19.15%, Best=19.15% Epoch 2/10: Train Loss=2.8968, Train Acc=26.60%, Test Acc=32.44%, Best=32.44% Epoch 3/10: Train Loss=2.3692, Train Acc=37.20%, Test Acc=41.88%, Best=41.88% Epoch 4/10: Train Loss=2.0078, Train Acc=45.36%, Test Acc=47.93%, Best=47.93% Epoch 5/10: Train Loss=1.7330, Train Acc=51.67%, Test Acc=49.58%, Best=49.58% Epoch 6/10: Train Loss=1.5201, Train Acc=56.89%, Test Acc=54.56%, Best=54.56% Epoch 7/10: Train Loss=1.3298, Train Acc=61.68%, Test Acc=58.29%, Best=58.29% Epoch 8/10: Train Loss=1.1740, Train Acc=66.01%, Test Acc=62.42%, Best=62.42% Epoch 9/10: Train Loss=1.0520, Train Acc=69.51%, Test Acc=63.79%, Best=63.79% Epoch 10/10: Train Loss=0.9729, Train Acc=71.98%, Test Acc=65.44%, Best=65.44% 微调后准确率: 65.44% --- 传统知识蒸馏 --- === 传统知识蒸馏 === Batch 0: Loss=5.0183 (CE=4.7827, KD=5.2540) Batch 50: Loss=4.1108 (CE=3.9583, KD=4.2633) Batch 100: Loss=4.5539 (CE=3.8664, KD=5.2415) Batch 150: Loss=4.0187 (CE=3.7289, KD=4.3086) Batch 200: Loss=3.9860 (CE=3.8240, KD=4.1480) Batch 250: Loss=3.7358 (CE=3.5183, KD=3.9534) Batch 300: Loss=3.4208 (CE=3.2846, KD=3.5569) Batch 350: Loss=3.4670 (CE=3.6129, KD=3.3211) Batch 400: Loss=3.1738 (CE=3.3758, KD=2.9719) Batch 450: Loss=3.4111 (CE=3.0153, KD=3.8070) Batch 500: Loss=3.1516 (CE=3.1998, KD=3.1033) Batch 550: Loss=3.0850 (CE=3.2364, KD=2.9336) Batch 600: Loss=2.8657 (CE=3.0175, KD=2.7139) Batch 650: Loss=2.6300 (CE=3.3387, KD=1.9214) Batch 700: Loss=2.5572 (CE=2.9761, KD=2.1383) Batch 750: Loss=2.9700 (CE=2.8484, KD=3.0915) Epoch 1/10: Train Loss=3.4305, Train Acc=16.81%, Test Acc=26.86% Batch 0: Loss=2.7601 (CE=2.8982, KD=2.6220) Batch 50: Loss=4.6639 (CE=4.5115, KD=4.8163) Batch 100: Loss=4.1238 (CE=4.2748, KD=3.9728) Batch 150: Loss=4.5374 (CE=4.3484, KD=4.7263) Batch 200: Loss=4.3018 (CE=4.5894, KD=4.0141) Batch 250: Loss=4.9478 (CE=4.3503, KD=5.5453) Batch 300: Loss=3.7958 (CE=4.0943, KD=3.4973) Batch 350: Loss=4.3999 (CE=4.0410, KD=4.7587) Batch 400: Loss=4.0095 (CE=4.1461, KD=3.8730) Batch 450: Loss=3.4567 (CE=3.7638, KD=3.1495) Batch 500: Loss=3.9148 (CE=3.8625, KD=3.9672) Batch 550: Loss=3.7732 (CE=3.9506, KD=3.5958) Batch 600: Loss=3.8006 (CE=3.5445, KD=4.0566) Batch 650: Loss=3.9685 (CE=3.8712, KD=4.0658) Batch 700: Loss=3.3830 (CE=3.2701, KD=3.4960) Batch 750: Loss=3.8383 (CE=3.7010, KD=3.9755) Epoch 2/10: Train Loss=4.1919, Train Acc=8.00%, Test Acc=13.28% Batch 0: Loss=3.7167 (CE=3.6558, KD=3.7775) Batch 50: Loss=4.0605 (CE=3.5526, KD=4.5684) Batch 100: Loss=3.2704 (CE=3.5968, KD=2.9440) Batch 150: Loss=3.7179 (CE=3.5580, KD=3.8778) Batch 200: Loss=3.1127 (CE=3.1047, KD=3.1207) Batch 250: Loss=3.3052 (CE=3.4613, KD=3.1492) Batch 300: Loss=3.0807 (CE=3.3123, KD=2.8492) Batch 350: Loss=3.1264 (CE=3.2329, KD=3.0199) Batch 400: Loss=3.1604 (CE=3.2048, KD=3.1161) Batch 450: Loss=3.0289 (CE=2.9329, KD=3.1249) Batch 500: Loss=3.0930 (CE=3.3270, KD=2.8590) Batch 550: Loss=2.7821 (CE=3.0099, KD=2.5543) Batch 600: Loss=2.8526 (CE=3.2882, KD=2.4171) Batch 650: Loss=2.6083 (CE=3.0583, KD=2.1583) Batch 700: Loss=2.7597 (CE=2.6209, KD=2.8985) Batch 750: Loss=3.1402 (CE=3.0181, KD=3.2623) Epoch 3/10: Train Loss=3.2299, Train Acc=19.65%, Test Acc=23.10% Batch 0: Loss=2.9955 (CE=3.1412, KD=2.8498) Batch 50: Loss=2.8270 (CE=3.2667, KD=2.3873) Batch 100: Loss=2.8996 (CE=2.9802, KD=2.8190) Batch 150: Loss=2.4598 (CE=2.9407, KD=1.9790) Batch 200: Loss=2.7226 (CE=3.2012, KD=2.2439) Batch 250: Loss=3.1146 (CE=3.1324, KD=3.0969) Batch 300: Loss=2.3553 (CE=2.5486, KD=2.1620) Batch 350: Loss=2.3246 (CE=2.7039, KD=1.9453) Batch 400: Loss=2.2565 (CE=2.4489, KD=2.0641) Batch 450: Loss=2.4075 (CE=3.0087, KD=1.8063) Batch 500: Loss=2.7450 (CE=2.8466, KD=2.6434) Batch 550: Loss=2.3138 (CE=2.7028, KD=1.9247) Batch 600: Loss=2.2444 (CE=2.7289, KD=1.7599) Batch 650: Loss=2.7216 (CE=3.1779, KD=2.2653) Batch 700: Loss=2.3435 (CE=2.7048, KD=1.9821) Batch 750: Loss=2.3709 (CE=2.8599, KD=1.8820) Epoch 4/10: Train Loss=2.5785, Train Acc=29.05%, Test Acc=32.21% Batch 0: Loss=2.3170 (CE=2.5289, KD=2.1050) Batch 50: Loss=2.1349 (CE=2.3400, KD=1.9298) Batch 100: Loss=2.2076 (CE=2.1362, KD=2.2790) Batch 150: Loss=2.2187 (CE=2.6572, KD=1.7802) Batch 200: Loss=2.4240 (CE=2.5813, KD=2.2666) Batch 250: Loss=2.3798 (CE=2.4706, KD=2.2891) Batch 300: Loss=2.2341 (CE=2.7766, KD=1.6915) Batch 350: Loss=2.0899 (CE=2.3567, KD=1.8231) Batch 400: Loss=2.4057 (CE=2.4768, KD=2.3345) Batch 450: Loss=2.1244 (CE=2.5681, KD=1.6806) Batch 500: Loss=2.1201 (CE=2.4778, KD=1.7624) Batch 550: Loss=1.9415 (CE=2.3576, KD=1.5253) Batch 600: Loss=2.1330 (CE=2.4328, KD=1.8331) Batch 650: Loss=2.0516 (CE=2.2522, KD=1.8511) Batch 700: Loss=2.0108 (CE=2.2317, KD=1.7899) Batch 750: Loss=1.9839 (CE=2.4454, KD=1.5223) Epoch 5/10: Train Loss=2.1207, Train Acc=36.43%, Test Acc=39.85% Batch 0: Loss=1.7537 (CE=2.1174, KD=1.3901) Batch 50: Loss=1.9359 (CE=2.5136, KD=1.3582) Batch 100: Loss=2.0187 (CE=2.6363, KD=1.4010) Batch 150: Loss=1.6899 (CE=1.9779, KD=1.4018) Batch 200: Loss=1.6386 (CE=2.0544, KD=1.2227) Batch 250: Loss=1.6194 (CE=2.0276, KD=1.2113) Batch 300: Loss=1.9380 (CE=2.5003, KD=1.3757) Batch 350: Loss=1.9153 (CE=2.2764, KD=1.5543) Batch 400: Loss=1.7259 (CE=2.0041, KD=1.4476) Batch 450: Loss=1.7193 (CE=2.1752, KD=1.2634) Batch 500: Loss=1.5616 (CE=1.8173, KD=1.3059) Batch 550: Loss=1.8885 (CE=2.3089, KD=1.4680) Batch 600: Loss=1.5839 (CE=2.0612, KD=1.1065) Batch 650: Loss=1.7325 (CE=2.2751, KD=1.1899) Batch 700: Loss=1.6740 (CE=2.1340, KD=1.2140) Batch 750: Loss=1.5653 (CE=1.8819, KD=1.2487) Epoch 6/10: Train Loss=1.7898, Train Acc=42.84%, Test Acc=45.96% Batch 0: Loss=1.5308 (CE=1.9380, KD=1.1235) Batch 50: Loss=1.5747 (CE=1.6250, KD=1.5244) Batch 100: Loss=1.6782 (CE=2.1622, KD=1.1943) Batch 150: Loss=1.5403 (CE=1.8710, KD=1.2095) Batch 200: Loss=1.7323 (CE=2.0077, KD=1.4570) Batch 250: Loss=1.7112 (CE=2.1310, KD=1.2914) Batch 300: Loss=1.5546 (CE=1.9862, KD=1.1230) Batch 350: Loss=1.5751 (CE=1.9803, KD=1.1699) Batch 400: Loss=1.5400 (CE=1.8949, KD=1.1851) Batch 450: Loss=1.3885 (CE=1.4770, KD=1.3000) Batch 500: Loss=1.5917 (CE=1.9958, KD=1.1875) Batch 550: Loss=1.4714 (CE=2.0049, KD=0.9378) Batch 600: Loss=1.5905 (CE=2.2076, KD=0.9735) Batch 650: Loss=1.4415 (CE=1.7306, KD=1.1524) Batch 700: Loss=1.3361 (CE=1.6627, KD=1.0094) Batch 750: Loss=1.7157 (CE=1.9249, KD=1.5065) Epoch 7/10: Train Loss=1.5536, Train Acc=47.90%, Test Acc=48.90% Batch 0: Loss=1.4256 (CE=1.8058, KD=1.0455) Batch 50: Loss=1.4889 (CE=1.8660, KD=1.1118) Batch 100: Loss=1.1927 (CE=1.3361, KD=1.0493) Batch 150: Loss=1.2697 (CE=1.5698, KD=0.9696) Batch 200: Loss=1.3173 (CE=1.6835, KD=0.9511) Batch 250: Loss=1.5889 (CE=1.9675, KD=1.2103) Batch 300: Loss=1.4321 (CE=1.9220, KD=0.9423) Batch 350: Loss=1.4086 (CE=1.9232, KD=0.8941) Batch 400: Loss=1.3692 (CE=1.7519, KD=0.9865) Batch 450: Loss=1.4084 (CE=1.7169, KD=1.0999) Batch 500: Loss=1.3768 (CE=1.6100, KD=1.1436) Batch 550: Loss=1.4191 (CE=1.7003, KD=1.1379) Batch 600: Loss=1.4603 (CE=1.9130, KD=1.0076) Batch 650: Loss=1.2884 (CE=1.5445, KD=1.0322) Batch 700: Loss=1.6138 (CE=2.1758, KD=1.0519) Batch 750: Loss=1.2673 (CE=1.5472, KD=0.9874) Epoch 8/10: Train Loss=1.3940, Train Acc=51.53%, Test Acc=51.59% Batch 0: Loss=1.3569 (CE=1.5216, KD=1.1922) Batch 50: Loss=1.3343 (CE=1.7438, KD=0.9249) Batch 100: Loss=1.2788 (CE=1.6996, KD=0.8579) Batch 150: Loss=1.1513 (CE=1.4476, KD=0.8549) Batch 200: Loss=1.2513 (CE=1.6475, KD=0.8550) Batch 250: Loss=1.3734 (CE=1.8533, KD=0.8935) Batch 300: Loss=1.3630 (CE=1.6417, KD=1.0843) Batch 350: Loss=1.2402 (CE=1.5417, KD=0.9386) Batch 400: Loss=1.4652 (CE=1.9963, KD=0.9342) Batch 450: Loss=1.1742 (CE=1.4693, KD=0.8790) Batch 500: Loss=1.2672 (CE=1.5318, KD=1.0026) Batch 550: Loss=1.2336 (CE=1.5234, KD=0.9438) Batch 600: Loss=0.9807 (CE=1.0998, KD=0.8616) Batch 650: Loss=1.4775 (CE=1.9481, KD=1.0070) Batch 700: Loss=1.3328 (CE=1.8787, KD=0.7869) Batch 750: Loss=0.9853 (CE=1.2482, KD=0.7224) Epoch 9/10: Train Loss=1.2615, Train Acc=55.10%, Test Acc=55.00% Batch 0: Loss=1.1358 (CE=1.4841, KD=0.7875) Batch 50: Loss=1.1863 (CE=1.4977, KD=0.8749) Batch 100: Loss=1.0318 (CE=1.4264, KD=0.6373) Batch 150: Loss=1.1579 (CE=1.4973, KD=0.8184) Batch 200: Loss=1.1088 (CE=1.2616, KD=0.9560) Batch 250: Loss=0.9713 (CE=1.2445, KD=0.6981) Batch 300: Loss=1.1360 (CE=1.4680, KD=0.8041) Batch 350: Loss=1.1538 (CE=1.3785, KD=0.9290) Batch 400: Loss=1.0809 (CE=1.3545, KD=0.8074) Batch 450: Loss=1.1954 (CE=1.5444, KD=0.8465) Batch 500: Loss=1.1173 (CE=1.4480, KD=0.7867) Batch 550: Loss=1.0788 (CE=1.3832, KD=0.7743) Batch 600: Loss=1.2807 (CE=1.7888, KD=0.7727) Batch 650: Loss=1.2754 (CE=1.6636, KD=0.8872) Batch 700: Loss=1.1726 (CE=1.5244, KD=0.8208) Batch 750: Loss=1.3476 (CE=1.6257, KD=1.0695) Epoch 10/10: Train Loss=1.1513, Train Acc=58.18%, Test Acc=56.92% KD恢复后准确率: 56.92% 比微调提升: +-8.52% --- 最优传输恢复 --- 对齐层: ['layer4.0.shortcut.0', 'layer4.1.conv1', 'layer4.1.conv2'] Batch 0: Loss=2.7353 (CE=4.7337, OT=0.736829) Batch 50: Loss=2.0350 (CE=3.9769, OT=0.093022) Batch 100: Loss=2.0211 (CE=3.9889, OT=0.053283) Batch 150: Loss=1.9209 (CE=3.7947, OT=0.047028) Batch 200: Loss=1.8906 (CE=3.7380, OT=0.043234) Batch 250: Loss=1.9734 (CE=3.9081, OT=0.038697) Batch 300: Loss=1.7340 (CE=3.4291, OT=0.039035) Batch 350: Loss=1.8690 (CE=3.7011, OT=0.036796) Batch 400: Loss=1.8418 (CE=3.6490, OT=0.034610) Batch 450: Loss=1.7498 (CE=3.4644, OT=0.035124) Batch 500: Loss=1.7963 (CE=3.5586, OT=0.034072) Batch 550: Loss=1.8321 (CE=3.6322, OT=0.031953) Batch 600: Loss=1.8022 (CE=3.5702, OT=0.034215) Batch 650: Loss=1.4908 (CE=2.9420, OT=0.039606) Batch 700: Loss=1.6684 (CE=3.3019, OT=0.034941) Batch 750: Loss=1.6391 (CE=3.2465, OT=0.031770) Epoch 1/10: Loss=1.8500, CE=3.6458, OT=0.054204, Acc=14.15% Batch 0: Loss=1.5480 (CE=3.0622, OT=0.033789) Batch 50: Loss=1.5804 (CE=3.1203, OT=0.040456) Batch 100: Loss=1.6282 (CE=3.2197, OT=0.036800) Batch 150: Loss=1.3888 (CE=2.7429, OT=0.034648) Batch 200: Loss=1.3974 (CE=2.7587, OT=0.036165) Batch 250: Loss=1.6395 (CE=3.2438, OT=0.035213) Batch 300: Loss=1.6202 (CE=3.2048, OT=0.035593) Batch 350: Loss=1.5310 (CE=3.0242, OT=0.037911) Batch 400: Loss=1.7330 (CE=3.4279, OT=0.038218) Batch 450: Loss=1.4496 (CE=2.8651, OT=0.034163) Batch 500: Loss=1.4020 (CE=2.7632, OT=0.040781) Batch 550: Loss=1.2774 (CE=2.5168, OT=0.037891) Batch 600: Loss=1.3227 (CE=2.6127, OT=0.032706) Batch 650: Loss=1.4501 (CE=2.8664, OT=0.033858) Batch 700: Loss=1.4336 (CE=2.8305, OT=0.036772) Batch 750: Loss=1.2499 (CE=2.4655, OT=0.034268) Epoch 2/10: Loss=1.4370, CE=2.8384, OT=0.035673, Acc=28.10% Batch 0: Loss=1.3024 (CE=2.5687, OT=0.036195) Batch 50: Loss=1.3513 (CE=2.6660, OT=0.036540) Batch 100: Loss=1.2598 (CE=2.4898, OT=0.029750) Batch 150: Loss=1.2257 (CE=2.4135, OT=0.037896) Batch 200: Loss=1.0201 (CE=2.0070, OT=0.033186) Batch 250: Loss=1.2474 (CE=2.4577, OT=0.037054) Batch 300: Loss=1.3668 (CE=2.7015, OT=0.032128) Batch 350: Loss=0.9837 (CE=1.9342, OT=0.033154) Batch 400: Loss=1.3480 (CE=2.6589, OT=0.037070) Batch 450: Loss=1.2882 (CE=2.5365, OT=0.039931) Batch 500: Loss=1.4716 (CE=2.9083, OT=0.034808) Batch 550: Loss=1.3644 (CE=2.6885, OT=0.040405) Batch 600: Loss=1.1138 (CE=2.1910, OT=0.036552) Batch 650: Loss=1.1229 (CE=2.2102, OT=0.035685) Batch 700: Loss=1.1683 (CE=2.3014, OT=0.035192) Batch 750: Loss=1.0619 (CE=2.0841, OT=0.039600) Epoch 3/10: Loss=1.1929, CE=2.3497, OT=0.036135, Acc=37.89% Batch 0: Loss=1.0050 (CE=1.9753, OT=0.034653) Batch 50: Loss=1.1721 (CE=2.3069, OT=0.037320) Batch 100: Loss=1.0503 (CE=2.0611, OT=0.039560) Batch 150: Loss=0.9930 (CE=1.9439, OT=0.042020) Batch 200: Loss=1.1078 (CE=2.1811, OT=0.034486) Batch 250: Loss=1.1526 (CE=2.2698, OT=0.035464) Batch 300: Loss=1.2903 (CE=2.5372, OT=0.043429) Batch 350: Loss=1.0469 (CE=2.0569, OT=0.036913) Batch 400: Loss=1.0696 (CE=2.0943, OT=0.044832) Batch 450: Loss=0.9699 (CE=1.9070, OT=0.032821) Batch 500: Loss=0.9537 (CE=1.8748, OT=0.032533) Batch 550: Loss=1.0302 (CE=2.0238, OT=0.036575) Batch 600: Loss=1.1579 (CE=2.2795, OT=0.036155) Batch 650: Loss=1.0601 (CE=2.0832, OT=0.036988) Batch 700: Loss=0.9888 (CE=1.9409, OT=0.036608) Batch 750: Loss=1.1161 (CE=2.1958, OT=0.036390) Epoch 4/10: Loss=1.0246, CE=2.0133, OT=0.035963, Acc=45.28% Batch 0: Loss=1.0477 (CE=2.0624, OT=0.032991) Batch 50: Loss=0.9698 (CE=1.8994, OT=0.040249) Batch 100: Loss=0.9587 (CE=1.8826, OT=0.034794) Batch 150: Loss=0.7798 (CE=1.5233, OT=0.036255) Batch 200: Loss=0.7009 (CE=1.3674, OT=0.034442) Batch 250: Loss=0.9235 (CE=1.8070, OT=0.040036) Batch 300: Loss=0.7281 (CE=1.4176, OT=0.038674) Batch 350: Loss=0.7849 (CE=1.5355, OT=0.034355) Batch 400: Loss=0.9909 (CE=1.9471, OT=0.034786) Batch 450: Loss=0.7666 (CE=1.4998, OT=0.033376) Batch 500: Loss=1.0200 (CE=2.0042, OT=0.035751) Batch 550: Loss=0.9607 (CE=1.8862, OT=0.035215) Batch 600: Loss=0.8311 (CE=1.6297, OT=0.032482) Batch 650: Loss=0.7918 (CE=1.5486, OT=0.034972) Batch 700: Loss=0.8764 (CE=1.7208, OT=0.031988) Batch 750: Loss=0.8929 (CE=1.7492, OT=0.036579) Epoch 5/10: Loss=0.9063, CE=1.7767, OT=0.035883, Acc=51.14% Batch 0: Loss=0.7309 (CE=1.4277, OT=0.034072) Batch 50: Loss=0.8797 (CE=1.7234, OT=0.035906) Batch 100: Loss=0.7745 (CE=1.5117, OT=0.037293) Batch 150: Loss=0.7407 (CE=1.4450, OT=0.036373) Batch 200: Loss=0.8269 (CE=1.6140, OT=0.039692) Batch 250: Loss=0.6584 (CE=1.2809, OT=0.035827) Batch 300: Loss=0.9341 (CE=1.8270, OT=0.041239) Batch 350: Loss=1.0843 (CE=2.1330, OT=0.035499) Batch 400: Loss=0.7723 (CE=1.5110, OT=0.033646) Batch 450: Loss=0.9275 (CE=1.8205, OT=0.034491) Batch 500: Loss=0.7827 (CE=1.5266, OT=0.038874) Batch 550: Loss=0.7928 (CE=1.5511, OT=0.034441) Batch 600: Loss=0.8288 (CE=1.6236, OT=0.033962) Batch 650: Loss=0.7225 (CE=1.4028, OT=0.042245) Batch 700: Loss=0.7003 (CE=1.3652, OT=0.035268) Batch 750: Loss=0.7099 (CE=1.3828, OT=0.037057) Epoch 6/10: Loss=0.8200, CE=1.6042, OT=0.035761, Acc=54.99% Batch 0: Loss=0.7130 (CE=1.3905, OT=0.035456) Batch 50: Loss=0.6734 (CE=1.3144, OT=0.032384) Batch 100: Loss=0.6588 (CE=1.2815, OT=0.036165) Batch 150: Loss=0.6273 (CE=1.2182, OT=0.036357) Batch 200: Loss=0.6612 (CE=1.2894, OT=0.032999) Batch 250: Loss=0.8242 (CE=1.6152, OT=0.033197) Batch 300: Loss=0.8001 (CE=1.5672, OT=0.033020) Batch 350: Loss=0.6576 (CE=1.2794, OT=0.035741) Batch 400: Loss=0.9104 (CE=1.7828, OT=0.037918) Batch 450: Loss=0.8125 (CE=1.5901, OT=0.035039) Batch 500: Loss=0.9628 (CE=1.8939, OT=0.031756) Batch 550: Loss=0.6430 (CE=1.2487, OT=0.037330) Batch 600: Loss=0.6607 (CE=1.2870, OT=0.034509) Batch 650: Loss=0.7474 (CE=1.4579, OT=0.036902) Batch 700: Loss=0.7652 (CE=1.4975, OT=0.032926) Batch 750: Loss=0.8076 (CE=1.5805, OT=0.034781) Epoch 7/10: Loss=0.7453, CE=1.4554, OT=0.035074, Acc=58.71% Batch 0: Loss=0.6226 (CE=1.2133, OT=0.031889) Batch 50: Loss=0.6895 (CE=1.3431, OT=0.035893) Batch 100: Loss=0.7626 (CE=1.4900, OT=0.035285) Batch 150: Loss=0.7193 (CE=1.4062, OT=0.032421) Batch 200: Loss=0.7088 (CE=1.3832, OT=0.034417) Batch 250: Loss=0.7488 (CE=1.4631, OT=0.034442) Batch 300: Loss=0.7054 (CE=1.3781, OT=0.032751) Batch 350: Loss=0.6430 (CE=1.2554, OT=0.030628) Batch 400: Loss=0.5948 (CE=1.1552, OT=0.034435) Batch 450: Loss=0.7515 (CE=1.4686, OT=0.034396) Batch 500: Loss=0.7125 (CE=1.3920, OT=0.032919) Batch 550: Loss=0.7533 (CE=1.4725, OT=0.034109) Batch 600: Loss=0.6719 (CE=1.3109, OT=0.032902) Batch 650: Loss=0.6606 (CE=1.2885, OT=0.032733) Batch 700: Loss=0.7737 (CE=1.5119, OT=0.035439) Batch 750: Loss=0.8512 (CE=1.6622, OT=0.040093) Epoch 8/10: Loss=0.6865, CE=1.3380, OT=0.034913, Acc=61.39% Batch 0: Loss=0.6973 (CE=1.3589, OT=0.035680) Batch 50: Loss=0.4637 (CE=0.8904, OT=0.037031) Batch 100: Loss=0.6247 (CE=1.2133, OT=0.036122) Batch 150: Loss=0.5719 (CE=1.1057, OT=0.038030) Batch 200: Loss=0.6783 (CE=1.3216, OT=0.035003) Batch 250: Loss=0.5742 (CE=1.1169, OT=0.031632) Batch 300: Loss=0.6312 (CE=1.2285, OT=0.033855) Batch 350: Loss=0.6128 (CE=1.1929, OT=0.032700) Batch 400: Loss=0.5536 (CE=1.0734, OT=0.033753) Batch 450: Loss=0.6686 (CE=1.3040, OT=0.033301) Batch 500: Loss=0.6121 (CE=1.1904, OT=0.033916) Batch 550: Loss=0.5776 (CE=1.1199, OT=0.035280) Batch 600: Loss=0.7529 (CE=1.4712, OT=0.034529) Batch 650: Loss=0.5801 (CE=1.1232, OT=0.037013) Batch 700: Loss=0.5533 (CE=1.0709, OT=0.035663) Batch 750: Loss=0.6059 (CE=1.1789, OT=0.032922) Epoch 9/10: Loss=0.6404, CE=1.2459, OT=0.034830, Acc=63.82% Batch 0: Loss=0.5967 (CE=1.1561, OT=0.037287) Batch 50: Loss=0.5469 (CE=1.0541, OT=0.039689) Batch 100: Loss=0.5520 (CE=1.0674, OT=0.036591) Batch 150: Loss=0.4398 (CE=0.8441, OT=0.035466) Batch 200: Loss=0.4584 (CE=0.8817, OT=0.035166) Batch 250: Loss=0.6723 (CE=1.3107, OT=0.033904) Batch 300: Loss=0.4842 (CE=0.9365, OT=0.031872) Batch 350: Loss=0.5154 (CE=1.0000, OT=0.030893) Batch 400: Loss=0.7751 (CE=1.5155, OT=0.034691) Batch 450: Loss=0.6380 (CE=1.2422, OT=0.033806) Batch 500: Loss=0.6183 (CE=1.2019, OT=0.034725) Batch 550: Loss=0.6927 (CE=1.3506, OT=0.034690) Batch 600: Loss=0.6425 (CE=1.2543, OT=0.030624) Batch 650: Loss=0.6149 (CE=1.1965, OT=0.033339) Batch 700: Loss=0.5976 (CE=1.1620, OT=0.033256) Batch 750: Loss=0.5158 (CE=0.9988, OT=0.032844) Epoch 10/10: Loss=0.5961, CE=1.1580, OT=0.034302, Acc=66.25% OT恢复后准确率: 60.01% 比微调提升: +-5.43% 比KD提升: +3.09% ============================================================ 结果汇总 ============================================================ 教师模型准确率: 56.20% 学生初始准确率: 0.99% 方法 准确率 提升(vs微调) ----------------------------------------------- 直接微调 65.44 - 传统KD 56.92 +-8.52 最优传输恢复 60.01 +-5.43 OT vs KD 提升: +3.09% 结论:如果OT恢复准确率高于传统KD, 则验证了几何保真度在精度恢复中的重要性。 注意:压缩率越高,OT的优势通常越明显, 因为深度压缩会严重破坏特征几何结构。 结果已保存到 ot_recovery_results.npy