使用设备: cpu === 加载数据 === === 准备基线模型 === 加载预训练模型: vgg16_cifar10.pth 基线模型准确率: 84.84% ============================================================ 单层量化MSE分析(三方对比) ============================================================ === 单层量化分析: features.0 === 权重形状: torch.Size([64, 3, 3, 3]) 权重范围: [-1.0887, 1.2893] 权重均值: -0.0021, 标准差: 0.2006 Bit Uniform MSE Wasserstein MSE Lloyd-Max MSE Wass vs Uni LM vs Uni LM vs Wass ---------------------------------------------------------------------------------------------------- 2 0.073631 0.011949 0.007821 -83.8 % -89.4 % -34.5 % 4 0.001780 0.003348 0.000888 --88.0 % -50.1 % -73.5 % 6 0.000112 0.000896 0.000097 --702.3 % -12.8 % -89.1 % 8 0.000007 0.000187 0.000006 --2538.8 % -14.6 % -96.8 % === 单层量化分析: features.20 === 权重形状: torch.Size([256, 256, 3, 3]) 权重范围: [-0.1132, 0.2022] 权重均值: -0.0018, 标准差: 0.0185 Bit Uniform MSE Wasserstein MSE Lloyd-Max MSE Wass vs Uni LM vs Uni LM vs Wass ---------------------------------------------------------------------------------------------------- 2 0.000313 0.000074 0.000056 -76.4 % -82.1 % -24.3 % 4 0.000037 0.000020 0.000009 -45.9 % -75.9 % -55.5 % 6 0.000002 0.000005 0.000002 --157.2 % -21.3 % -69.4 % 8 0.000000 0.000001 0.000000 --1026.1 % -2.2 % -91.3 % === 单层量化分析: features.40 === 权重形状: torch.Size([512, 512, 3, 3]) 权重范围: [-0.0378, 0.1592] 权重均值: 0.0003, 标准差: 0.0032 Bit Uniform MSE Wasserstein MSE Lloyd-Max MSE Wass vs Uni LM vs Uni LM vs Wass ---------------------------------------------------------------------------------------------------- 2 0.000765 0.000005 0.000002 -99.3 % -99.7 % -56.4 % 4 0.000006 0.000002 0.000001 -62.3 % -89.8 % -73.1 % 6 0.000001 0.000001 0.000000 --67.4 % -66.1 % -79.8 % 8 0.000000 0.000000 0.000000 --619.8 % -36.9 % -91.2 % ============================================================ 整模型量化准确率对比(三方) ============================================================ ────────────────────────────────────────────────── --- 2 bit量化 --- ────────────────────────────────────────────────── [1/3] 均匀量化(等间隔): === 均匀 2bit量化 === features.0: MSE=0.073631 features.3: MSE=0.023913 features.7: MSE=0.005191 features.10: MSE=0.001951 features.14: MSE=0.001090 features.17: MSE=0.000528 features.20: MSE=0.000313 features.24: MSE=0.000110 features.27: MSE=0.000246 features.30: MSE=0.000128 features.34: MSE=0.000016 features.37: MSE=0.000077 features.40: MSE=0.000765 classifier.0: MSE=0.000148 classifier.3: MSE=0.000422 classifier.6: MSE=0.001947 平均MSE: 0.006905 → 准确率: 10.00% (下降: 74.84%) [2/3] Wasserstein量化(等分位 / W2最优): === Wasserstein(等分位) 2bit量化 === features.0: MSE=0.011949 features.3: MSE=0.001025 features.7: MSE=0.000418 features.10: MSE=0.000265 features.14: MSE=0.000188 features.17: MSE=0.000093 features.20: MSE=0.000074 features.24: MSE=0.000021 features.27: MSE=0.000005 features.30: MSE=0.000004 features.34: MSE=0.000003 features.37: MSE=0.000003 features.40: MSE=0.000005 classifier.0: MSE=0.000059 classifier.3: MSE=0.000083 classifier.6: MSE=0.000671 平均MSE: 0.000929 → 准确率: 10.00% (下降: 74.84%) vs Uniform: +0.00% [3/3] Lloyd-Max量化(迭代MSE最优): === Lloyd-Max 2bit量化 === features.0: MSE=0.007821 features.3: MSE=0.000696 features.7: MSE=0.000349 features.10: MSE=0.000220 features.14: MSE=0.000158 features.17: MSE=0.000075 features.20: MSE=0.000056 features.24: MSE=0.000016 features.27: MSE=0.000004 features.30: MSE=0.000003 features.34: MSE=0.000002 features.37: MSE=0.000002 features.40: MSE=0.000002 classifier.0: MSE=0.000023 classifier.3: MSE=0.000031 classifier.6: MSE=0.000634 平均MSE: 0.000631 → 准确率: 14.73% (下降: 70.11%) vs Uniform: +4.73% vs Wasserstein: +4.73% ────────────────────────────────────────────────── --- 4 bit量化 --- ────────────────────────────────────────────────── [1/3] 均匀量化(等间隔): === 均匀 4bit量化 === features.0: MSE=0.001780 features.3: MSE=0.000434 features.7: MSE=0.000145 features.10: MSE=0.000083 features.14: MSE=0.000085 features.17: MSE=0.000058 features.20: MSE=0.000037 features.24: MSE=0.000025 features.27: MSE=0.000011 features.30: MSE=0.000006 features.34: MSE=0.000004 features.37: MSE=0.000003 features.40: MSE=0.000006 classifier.0: MSE=0.000046 classifier.3: MSE=0.000016 classifier.6: MSE=0.000093 平均MSE: 0.000177 → 准确率: 83.26% (下降: 1.58%) [2/3] Wasserstein量化(等分位 / W2最优): === Wasserstein(等分位) 4bit量化 === features.0: MSE=0.003348 features.3: MSE=0.000371 features.7: MSE=0.000097 features.10: MSE=0.000056 features.14: MSE=0.000041 features.17: MSE=0.000023 features.20: MSE=0.000020 features.24: MSE=0.000006 features.27: MSE=0.000001 features.30: MSE=0.000001 features.34: MSE=0.000001 features.37: MSE=0.000001 features.40: MSE=0.000002 classifier.0: MSE=0.000020 classifier.3: MSE=0.000019 classifier.6: MSE=0.000076 平均MSE: 0.000255 → 准确率: 22.66% (下降: 62.18%) vs Uniform: -60.60% [3/3] Lloyd-Max量化(迭代MSE最优): === Lloyd-Max 4bit量化 === features.0: MSE=0.000888 features.3: MSE=0.000096 features.7: MSE=0.000049 features.10: MSE=0.000030 features.14: MSE=0.000025 features.17: MSE=0.000013 features.20: MSE=0.000009 features.24: MSE=0.000003 features.27: MSE=0.000001 features.30: MSE=0.000001 features.34: MSE=0.000000 features.37: MSE=0.000000 features.40: MSE=0.000001 classifier.0: MSE=0.000004 classifier.3: MSE=0.000004 classifier.6: MSE=0.000061 平均MSE: 0.000074 → 准确率: 83.73% (下降: 1.11%) vs Uniform: +0.47% vs Wasserstein: +61.07% ────────────────────────────────────────────────── --- 6 bit量化 --- ────────────────────────────────────────────────── [1/3] 均匀量化(等间隔): === 均匀 6bit量化 === features.0: MSE=0.000112 features.3: MSE=0.000031 features.7: MSE=0.000008 features.10: MSE=0.000005 features.14: MSE=0.000005 features.17: MSE=0.000003 features.20: MSE=0.000002 features.24: MSE=0.000001 features.27: MSE=0.000000 features.30: MSE=0.000000 features.34: MSE=0.000000 features.37: MSE=0.000000 features.40: MSE=0.000001 classifier.0: MSE=0.000003 classifier.3: MSE=0.000001 classifier.6: MSE=0.000005 平均MSE: 0.000011 → 准确率: 84.72% (下降: 0.12%) [2/3] Wasserstein量化(等分位 / W2最优): === Wasserstein(等分位) 6bit量化 === features.0: MSE=0.000896 features.3: MSE=0.000118 features.7: MSE=0.000025 features.10: MSE=0.000013 features.14: MSE=0.000011 features.17: MSE=0.000006 features.20: MSE=0.000005 features.24: MSE=0.000002 features.27: MSE=0.000000 features.30: MSE=0.000000 features.34: MSE=0.000000 features.37: MSE=0.000000 features.40: MSE=0.000001 classifier.0: MSE=0.000006 classifier.3: MSE=0.000004 classifier.6: MSE=0.000012 平均MSE: 0.000069 → 准确率: 72.91% (下降: 11.93%) vs Uniform: -11.81% [3/3] Lloyd-Max量化(迭代MSE最优): === Lloyd-Max 6bit量化 === features.0: MSE=0.000097 features.3: MSE=0.000017 features.7: MSE=0.000007 features.10: MSE=0.000004 features.14: MSE=0.000004 features.17: MSE=0.000003 features.20: MSE=0.000002 features.24: MSE=0.000001 features.27: MSE=0.000000 features.30: MSE=0.000000 features.34: MSE=0.000000 features.37: MSE=0.000000 features.40: MSE=0.000000 classifier.0: MSE=0.000001 classifier.3: MSE=0.000000 classifier.6: MSE=0.000005 平均MSE: 0.000009 → 准确率: 84.86% (下降: -0.02%) vs Uniform: +0.14% vs Wasserstein: +11.95% ────────────────────────────────────────────────── --- 8 bit量化 --- ────────────────────────────────────────────────── [1/3] 均匀量化(等间隔): === 均匀 8bit量化 === features.0: MSE=0.000007 features.3: MSE=0.000002 features.7: MSE=0.000000 features.10: MSE=0.000000 features.14: MSE=0.000000 features.17: MSE=0.000000 features.20: MSE=0.000000 features.24: MSE=0.000000 features.27: MSE=0.000000 features.30: MSE=0.000000 features.34: MSE=0.000000 features.37: MSE=0.000000 features.40: MSE=0.000000 classifier.0: MSE=0.000000 classifier.3: MSE=0.000000 classifier.6: MSE=0.000000 平均MSE: 0.000001 → 准确率: 84.85% (下降: -0.01%) [2/3] Wasserstein量化(等分位 / W2最优): === Wasserstein(等分位) 8bit量化 === features.0: MSE=0.000187 features.3: MSE=0.000032 features.7: MSE=0.000006 features.10: MSE=0.000003 features.14: MSE=0.000003 features.17: MSE=0.000002 features.20: MSE=0.000001 features.24: MSE=0.000001 features.27: MSE=0.000000 features.30: MSE=0.000000 features.34: MSE=0.000000 features.37: MSE=0.000000 features.40: MSE=0.000000 classifier.0: MSE=0.000002 classifier.3: MSE=0.000001 classifier.6: MSE=0.000002 平均MSE: 0.000015 → 准确率: 83.24% (下降: 1.60%) vs Uniform: -1.61% [3/3] Lloyd-Max量化(迭代MSE最优): === Lloyd-Max 8bit量化 === features.0: MSE=0.000006 features.3: MSE=0.000001 features.7: MSE=0.000000 features.10: MSE=0.000000 features.14: MSE=0.000000 features.17: MSE=0.000000 features.20: MSE=0.000000 features.24: MSE=0.000000 features.27: MSE=0.000000 features.30: MSE=0.000000 features.34: MSE=0.000000 features.37: MSE=0.000000 features.40: MSE=0.000000 classifier.0: MSE=0.000000 classifier.3: MSE=0.000000 classifier.6: MSE=0.000000 平均MSE: 0.000001 → 准确率: 84.82% (下降: 0.02%) vs Uniform: -0.03% vs Wasserstein: +1.58% ================================================================================ 结果汇总 ================================================================================ Bit Uniform Acc Wasserstein Acc Lloyd-Max Acc Wass↑ LM↑ ---------------------------------------------------------------------- 2 10.00 10.00 14.73 +0.00 +4.73 4 83.26 22.66 83.73 +-60.60 +0.47 6 84.72 72.91 84.86 +-11.81 +0.14 8 84.85 83.24 84.82 +-1.61 +-0.03 Bit Uniform MSE Wasserstein MSE Lloyd-Max MSE -------------------------------------------------------- 2 0.006905 0.000929 0.000631 4 0.000177 0.000255 0.000074 6 0.000011 0.000069 0.000009 8 0.000001 0.000015 0.000001 基线准确率: 84.84% 结论: 1. 如果 Wasserstein/Lloyd-Max 准确率 > 均匀量化 → 验证了数据自适应量化的优势 2. 如果 Lloyd-Max > Wasserstein → MSE最优 > W2最优(在模型精度保留上) 3. 如果 Wasserstein ≈ Lloyd-Max → 两种非均匀量化效果相当 4. 注意:8bit 量化可能接近甚至超过全精度(量化噪声的正则化效应) 结果已保存到 quantization_results.npy