Skip to content

Latest commit

 

History

History
234 lines (210 loc) · 18.6 KB

yolov5v7-light.md

File metadata and controls

234 lines (210 loc) · 18.6 KB

YOLOV5,YOLOV7剪枝和蒸馏项目介绍((不包含v8,但入手过这个剪枝项目,后续v8也会有对应的优惠))

对于群里的剪枝相关问题,我基本都会回复,对于一些剪枝问题,我都会给出建议。

首先剪枝是什么?

模型剪枝是深度学习中的一种技术,旨在通过减少神经网络中不必要的参数和连接,来优化模型的效率和性能。模型剪枝可以分为结构剪枝和参数剪枝两种类型。

为什么需要剪枝?

剪枝可以很好地衡量模型轻量化程度与精度的关系,是替换轻量化结构完全没办法比的,比如我模型剪枝可以压缩百分之30的计算量,精度只下降了百分之1,但是你通过换模块来达到压缩百分之30的计算量,一般时间就会变长,因为大部分轻量化模块都是由时间换空间,而且精度还会下降得比较多,但是剪枝可以很好地避免这个问题.

目前剪枝项目包含:

  1. yolov5-PAGCP
  2. yolov7-PAGCP
  3. yolov7-prune
  4. yolov5-prune

其中prune中的剪枝方法包含:

  1. L1
  2. Random
  3. Slim
  4. GroupSlim
  5. GroupNorm
  6. LAMP
  7. GroupSL
  8. GroupReg
  9. GroupHessian
  10. GroupTaylor

其中prune系列还有一些细节:

  1. 支持稀疏训练时候可视化BN稀疏程度和数值。
  2. 稀疏训练的稀疏系数会进行线性调整,让稀疏训练后期精度更容易回升,更稳定。
  3. 支持设定加速比例,模型会进行自动压缩,压缩到指定比例或者达到最大压缩次数后会自动进入finetune。

剪枝的一些顾虑

大家关心最多的一个问题就是,我的结构能不能剪之类的,目前剪枝都是基于Torch_Pruning库进行剪枝,其中PAGCP是版本比较旧的Torch_Pruning库,prune系列的都是最新Torch_Pruning库,所以PAGCP剪枝上兼容性会比prune系列的低,prune系列的可以跳过一些不能剪枝的层(某些复杂的结构可能在构建动态图的时候失败,这些就只能换结构),这个项目会有比较多的示例和视频教程教大家如何去剪自己的结构,注意点在哪里等等。这个剪枝项目是没办法保证所有的结构都能剪,有一定的风险,是否入手请自行考虑!

目前蒸馏方法包含:

  1. Logical
    1. L1
    2. L2
    3. AlignSoftTarget(自研,部分参考Bridging Cross-task Protocol Inconsistency for Distillation in Dense Object Detection,ICCV 2023)
  2. Feature
    1. Mimic
    2. Masked Generative Distillation (ECCV 2022)
    3. Channel-wise Distillation (ICCV 2021)
    4. ChSimLoss Distillation (ICCV2021)
    5. SPKDLoss Distillation (ICCV2019)

知识蒸馏的一些细节(具体项目会提供视频讲解)

  1. Feature蒸馏可以自定义选择层进行蒸馏.
  2. 蒸馏损失支持常数,线性,余弦进行动调整.
  3. 支持Logical和Feature一起使用.
  4. 过程中会输出Logical和Feature的损失,让用户可以及时调整对应的损失系数.
  5. 支持正常训练模型时候进行蒸馏和剪枝后finetune蒸馏.

实验示例结果.(以下示例实验相关命令,视频教程,实验数据都在项目里面)

Sparse:代表需要进行稀疏训练.

2.0x 代表的是设定为两倍加速(4.0x同理),当模型压缩达到设定的倍速时会自动进入finetune阶段.

Yolov7 相关实验

Mode:Prune Dataset:CrowdHuman 20% Model:Yolov7-Tiny using OTA

model Parameters GFLOPs Model Size mAP50 mAP50-95 Inference Time(bs:32)
BaseLine 6,010,302 13.0 12.0m 0.76 0.429 0.6ms
PAGCP-EXP1 3,239,782(53.9%) 7.5(57.6%) 6.4m(53.3%) 0.747(-0.013) 0.409(-0.02) 0.5ms
PAGCP-EXP2 2,035,468(33.8%) 5.0(38.4%) 4.1m(34.2%) 0.731(-0.029) 0.393(-0.026) 0.5ms
Slim(Sparse) 2.0x 920,155(15.3%) 6.2(47.7%) 2.0m(16.7%) 0.773(+0.013) 0.429(0.0) 0.6ms
Slim(Sparse) 4.0x 375,449(6.2%) 3.2(24.6%) 1.0m(8.3%) 0.73(-0.03) 0.376(-0.053) 0.4ms
GroupSlim (Sparse) 2.0x 915,589(15.2%) 6.4(49.2%) 2.0m(16.7%) 0.772(+0.012) 0.43(+0.001) 0.6ms
GroupSlim (Sparse) 4.0x 375,298(6.3%) 3.2(24.6%) 1.0m(8.3%) 0.727(-0.033) 0.372(-0.057) 0.5ms
LAMP 2.0x 1,310,893(21.81%) 6.5(50.0%) 2.9m(24.1%) 0.766(+0.006) 0.423(-0.006) 0.6ms
GroupNorm 2.0x 2,580,758(42.9%) 6.5(50.0%) 5.4m(41.5%) 0.74(-0.02) 0.398(-0.021) 0.6ms
Random 2.0x 2,950,989(49.1%) 6.5(50.0%) 6.1m(46.9%) 0.742(-0.018) 0.399(-0.02) 0.6ms
L1 2.0x 3,226,567(53.7%) 6.4(49.2%) 6.4m(56.3%) 0.72(-0.04) 0.387(0.042) 0.6ms

Mode:Prune Dataset:CrowdHuman 20% Model:Yolov7-Tiny+MobileNetV3_Small+LSKBlock+TSOCDE+RepConv

model Parameters GFLOPs Model Size mAP50 mAP50-95 Inference Time(bs:32)
BaseLine 24,665,523 33.0 48.0m 0.68 0.36 1.5ms
LAMP 2.0x 8,963,220(36.3%) 16.4(49.7%) 18.0m(37.5%) 0.676(-0.004) 0.354(-0.006) 1.3ms
GroupSlim (Sparse) 2.0x 10,686,041(43.3%) 16.2(49.1%) 22.0m(45.8%) 0.641(-0.039) 0.319(-0.041) 1.4ms
Slim (Sparse) 2.0x 9,211,532(37.3%) 16.3(49.4%) 19.0m(39.6%) 0.669(-0.011) 0.342(-0.018) 1.4ms
L1 1.5x 21,384,927(86.7%) 21.8(66.1%) 42.0m(87.5%) 0.45(-0.23) 0.185(-0.175) 1.4ms

Mode:Prune Dataset:CrowdHuman 20% Model:Yolov7-Tiny+DCN+AFPN

model Parameters GFLOPs Model Size mAP50 mAP50-95 Inference Time(bs:32)
BaseLine 4,564,641 11.7 9.1m 0.716 0.388 0.8ms
LAMP 2.0x 2,323,337(50.9%) 5.8(49.6%) 4.8m(52.7%) 0.7(-0.016) 0.372(-0.016) 0.7ms
L1 2.0x 3,469,961(76.0%) 5.8(49.6%) 7.0m(76.9%) 0.54(-0.176) 0.268(-0.12) 0.7ms
Slim (Sparse) 2.0x 2,385,252(52.2%) 5.8(49.6%) 5.8m(64.8%) 0.641(-0.075) 0.327(-0.061) 0.7ms

Mode:Prune Dataset:CrowdHuman 20% Model:Yolov7-Tiny+FasterNet+DiverseBranchBlock

model Parameters GFLOPs Model Size mAP50 mAP50-95 Inference Time(bs:32)
BaseLine 4,092,258 8.5 9.8m 0.69 0.358 0.6ms
LAMP 2.0x 1,392,932(34.0%) 3.6(42.3%) 4.4m(44.9%) 0.67(-0.02) 0.339(-0.019) 0.5ms
Slim (Sparse) 2.0x 1,541,346(37.7%) 3.6(42.3%) 4.7m(48.0%) 0.669(-0.176) 0.337(-0.021) 0.5ms
GroupSlim (Sparse) 2.0x 1,545,707(37.8%) 3.6(42.3%) 4.7m(48.0%) 0.674(-0.016) 0.342(-0.016) 0.5ms
GroupNorm 2.0x 2,141,255(52.3%) 3.7(43.5%) 5.8m(59.2%) 0.214(-0.476) 0.0535(-0.305) 0.5ms

Mode:Prune Dataset:CrowdHuman 20% Model:Yolov7-Tiny+ReXNet(CVPR2021)+VoVGSCSP+DyHead+DecoupledHead

model Parameters GFLOPs Model Size mAP50 mAP50-95 Inference Time(bs:32)
BaseLine 6,858,519 14.8 13.6m 0.731 0.405 0.14s
LAMP 1.5x 3,840,822(56.0%) 9.9(66.9%) 7.8m(57.3%) 0.7(-0.031) 0.379(-0.019) 0.09s
LAMP 2.0x 2,821,109(41.1%) 7.4(50.0%) 5.8m(42.6%) 0.681(-0.06) 0.359(-0.046) 0.08s

Mode:Prune Dataset:CrowdHuman 20% Model:Yolov7-Tiny+ReXNet(CVPR2021)+VoVGSCSP+DecoupledHead

model Parameters GFLOPs Model Size mAP50 mAP50-95 Inference Time(bs:32)
BaseLine 6,512,095 11.3 12.9m 0.715 0.383 0.091s
LAMP 2.0x 2,930,100(45.0%) 5.6(49.6%) 6.0m(46.5%) 0.627(-0.088) 0.32(-0.063) 0.039s
Slim (Sparse) 2.0x 2,821,109(43.3%) 5.6(49.6%) 6.3m(48.8%) 0.728(+0.013) 0.373(+0.01) 0.052s
GroupSlim (Sparse) 2.0x 3,304,167(50.7%) 5.7(50.4%) 6.8m(52.7%) 0.724(+0.009) 0.369(-0.014) 0.053s
GroupSl (Sparse) 2.0x Exp1 2,178,723(33.5%) 5.7(50.4%) 4.6m(35.7%) 0.669(-0.046) 0.341(-0.042) 0.055s
GroupSl (Sparse) 2.0x Exp2 2,060,599(31.6%) 5.6(49.6%) 4.4m(34.1%) 0.761(+0.046) 0.407(+0.024) 0.056s
GroupSl (Sparse) 3.0x Exp2 1,283,982(19.7%) 3.7(32.7%) 2.9m(22.5%) 0.679(-0.036) 0.342(-0.041) 0.041s

Mode:Distill+Prune Dataset:VisDrone(训练集只用了百分之20的数据,验证集和测试集用了全量的数据) Teacher:Yolov7-Tiny

model Parameters GFLOPs Model Size mAP50 mAP50-95 Inference Time(bs:32)
BaseLine(Yolov7-Tiny) 6,031,950 13.1 11.7m 0.189 0.0948 0.00121s
LAMP 2.0x 1,309,098 6.5 2.7m 0.186(-0.003) 0.0903(-0.0045) 0.00089s
LAMP 3.0x 615,877 4.3 1.4m 0.151(-0.038) 0.0691(-0.0257) 0.00070s
LAMP 3.0x + CWD exp1 615,877 4.3 1.4m 0.158(-0.031) 0.0715(-0.0233) 0.00070s
LAMP 3.0x + CWD exp2 615,877 4.3 1.4m 0.155(-0.034) 0.0686(-0.0262) 0.00070s

Yolov5 相关实验

Mode:Prune Dataset:CrowdHuman 20% Model:Yolov5n

model Parameters GFLOPs Model Size mAP50 mAP50-95 Inference Time(bs:32)
BaseLine 1,761,871 4.1 3.7m 0.715 0.399 0.02s
LAMP 2.0x 296,498(16.8%) 2.0(48.8%) 0.9m(24.3%) 0.694(-0.021) 0.368(-0.031) 0.0164s
Slim (Sparse) 2.0x 398,607(22.6%) 2.0(48.8%) 1.1m(29.7%) 0.707(-0.008) 0.38(-0.019) 0.0166s
GroupSlim (Sparse) 2.0x 366,230(20.8%) 2.0(48.8%) 1.0m(27.0%) 0.704(-0.011) 0.381(-0.018) 0.0165s
GroupNorm 2.0x 1,016,400(57.7%) 2.1(51.2%) 2.3m(62.2%) 0.617(-0.098) 0.312(-0.087) 0.0134s
GroupSl (Sparse) 2.0x 474,024(26.9%) 2.0(48.8%) 1.3m(35.1%) 0.711(-0.004) 0.387(-0.012) 0.0167s

Mode:Prune Dataset:CrowdHuman 20% Model:Yolov5n+C3-Faster+RepConv

model Parameters GFLOPs Model Size mAP50 mAP50-95 Inference Time(bs:32)
BaseLine 1,614,495 3.7 3.4m 0.711 0.388 0.021s
LAMP 2.0x 285,554(17.7%) 1.8(48.6%) 0.9m(26.5%) 0.687(-0.024) 0.359(-0.029) 0.017s
Slim (Sparse) 2.0x 418,550(25.9%) 1.8(48.6%) 1.2m(35.3%) 0.695(-0.026) 0.365(-0.023) 0.168s
GroupSlim (Sparse) 2.0x 434,440(26.9%) 1.8(48.6%) 1.2m(35.3%) 0.698(-0.013) 0.369(-0.019) 0.017s
GroupSl (Sparse) 2.0x 447,587(27.7%) 1.8(48.6%) 1.2m(35.3%) 0.704(-0.007) 0.376(-0.012) 0.016s
GroupNorm 2.0x 935,451(57.9%) 1.8(48.6%) 2.1m(61.8%) 0.652(-0.059) 0.335(-0.053) 0.015s

Mode:Distill Dataset:VisDrone(训练集只用了百分之20的数据,验证集和测试集用了全量的数据) Teacher:Yolov5s+OTA Student:Yolov5n

Epoch:300 BatchSize:64 Device:RTX3090

model GFLOPs mAP50(test set) mAP50-95(test set)
yolov5n 4.2 0.171 0.0834
yolov5s 15.8 0.263 0.136
yolov5n cwd exp1 4.2 0.181(+0.01) 0.0898(+0.0064)
yolov5n cwd exp2 4.2 0.188(+0.017) 0.0931(+0.0097)
yolov5n cwd exp3 4.2 0.176(+0.005) 0.0845(+0.0011)
yolov5n cwd exp4 4.2 0.175(+0.004) 0.0852(+0.0018)
yolov5n mgd exp1 4.2 0.181(+0.01) 0.0883(+0.0049)
yolov5n mgd exp2 4.2 0.166(-0.005) 0.0795(-0.0039)
yolov5n mimic exp1 4.2 0.178(+0.007) 0.0865(+0.0031)
yolov5n mimic exp1 4.2 0.172(+0.001) 0.0833(-0.0001)
yoplov5n l2 exp1 4.2 0.178(+0.007) 0.0844(+0.001)
yolov5n l2 exp2 4.2 0.179(+0.008) 0.0834(0.0)
yolov5n l2 exp3 4.2 0.176(+0.005) 0.0795(-0.0039)
yolov5n ast exp1 4.2 0.185(+0.014) 0.0899(+0.0065)
yolov5n ast exp2 4.2 0.189(+0.018) 0.0908(+0.0074)
yolov5n mgd+ast exp1 4.2 0.182(+0.011) 0.0867(+0.0033)
yolov5n mgd+ast exp2 4.2 0.185(+0.014) 0.0902(+0.0068)
yolov5n mgd+ast exp3 4.2 0.183(+0.012) 0.0886(+0.0052)

Mode:Distill+Prune Dataset:VisDrone(训练集只用了百分之20的数据,验证集和测试集用了全量的数据) Teacher:Yolov5s+OTA

model Parameters GFLOPs Model Size mAP50 mAP50-95 Inference Time(bs:32)
BaseLine(Yolov5n) 1,772,695 4.2 3.7m 0.171 0.0834 0.020s
LAMP 2.0x 301,033(16.98%) 2.1(50%) 0.8m(21.62%) 0.149(-0.022) 0.0676(-0.0158) 0.016s
LAMP 2.0x + cwd exp1 301,033(16.98%) 2.1(50%) 0.8m(21.62%) 0.163(+0.014) 0.0745(+0.0069) 0.016s
LAMP 2.0x + cwd exp2 301,033(16.98%) 2.1(50%) 0.8m(21.62%) 0.158(+0.009) 0.0728(+0.0052) 0.016s
LAMP 2.0x + cwd exp3 301,033(16.98%) 2.1(50%) 0.8m(21.62%) 0.164(+0.015) 0.0742(+0.0066) 0.016s
LAMP 2.0x + mgd exp1 301,033(16.98%) 2.1(50%) 0.8m(21.62%) 0.148(-0.001) 0.066(-0.0016) 0.016s
LAMP 2.0x + mgd exp2 301,033(16.98%) 2.1(50%) 0.8m(21.62%) 0.148(-0.001) 0.0673(-0.0003) 0.016s
LAMP 2.0x + mgd exp3 301,033(16.98%) 2.1(50%) 0.8m(21.62%) 0.152(+0.003) 0.0687(+0.0011) 0.016s
LAMP 2.0x + l2 exp1 301,033(16.98%) 2.1(50%) 0.8m(21.62%) 0.137(-0.012) 0.0542(-0.0134) 0.016s
LAMP 2.0x + l2 exp2 301,033(16.98%) 2.1(50%) 0.8m(21.62%) 0.149(+0.000) 0.0638(+0.0011) 0.016s
LAMP 2.0x + ast exp1 301,033(16.98%) 2.1(50%) 0.8m(21.62%) 0.154(+0.005) 0.0679(+0.0003) 0.016s
LAMP 2.0x + ast exp2 301,033(16.98%) 2.1(50%) 0.8m(21.62%) 0.152(+0.003) 0.0693(+0.0017) 0.016s
LAMP 2.0x + ast exp3 301,033(16.98%) 2.1(50%) 0.8m(21.62%) 0.154(+0.005) 0.0652(-0.0024) 0.016s
LAMP 2.0x + ast exp4 301,033(16.98%) 2.1(50%) 0.8m(21.62%) 0.125(-0.024) 0.0547(-0.0129) 0.016s
LAMP 2.0x + ast exp5 301,033(16.98%) 2.1(50%) 0.8m(21.62%) 0.141(-0.008) 0.0635(-0.0041) 0.016s
model Parameters GFLOPs Model Size mAP50 mAP50-95 Inference Time(bs:32)
BaseLine(Yolov5n) 1,772,695 4.2 3.7m 0.171 0.0834 0.020s
GroupSl (Sparse) 2.0x 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.162(-0.009) 0.0754(-0.008) 0.017s
GroupSl (Sparse) 2.0x + cwd exp1 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.174(+0.012) 0.0817(+0.0063) 0.017s
GroupSl (Sparse) 2.0x + cwd exp2 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.177(+0.015) 0.0815(+0.0061) 0.017s
GroupSl (Sparse) 2.0x + cwd exp3 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.177(+0.015) 0.08(+0.0046) 0.017s
GroupSl (Sparse) 2.0x + cwd exp4 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.174(+0.012) 0.0813(+0.0059) 0.017s
GroupSl (Sparse) 2.0x + cwd exp5 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.173(+0.011) 0.0808(+0.0054) 0.017s
GroupSl (Sparse) 2.0x + mgd exp1 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.151(-0.011) 0.0662(-0.0092) 0.017s
GroupSl (Sparse) 2.0x + mgd exp2 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.164(+0.002) 0.0771(+0.0017) 0.017s
GroupSl (Sparse) 2.0x + mgd exp3 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.154(-0.08) 0.0691(-0.0063) 0.017s
GroupSl (Sparse) 2.0x + mgd exp4 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.166(+0.004) 0.0774(+0.002) 0.017s
GroupSl (Sparse) 2.0x + ast exp1 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.172(+0.01) 0.0776(+0.0022) 0.017s
GroupSl (Sparse) 2.0x + ast exp2 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.167(+0.005) 0.0763(+0.0009) 0.017s
GroupSl (Sparse) 2.0x + ast exp3 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.17(+0.008) 0.0754(+0.0) 0.017s
GroupSl (Sparse) 2.0x + cwd + ast exp1 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.169(+0.007) 0.0746(-0.008) 0.017s
GroupSl (Sparse) 2.0x + cwd + ast exp2 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.172(+0.01) 0.078(+0.0026) 0.017s
GroupSl (Sparse) 2.0x + cwd + ast exp3 330,322(18.63%) 2.1(50%) 0.8m(21.62%) 0.172(+0.01) 0.0786(+0.0032) 0.017s

Mode:Prune Dataset:CrowdHuman 20%train Model:Yolov5n+RepViT+C2f

model Parameters GFLOPs Model Size mAP50 mAP50-95 Inference Time(bs:32)
BaseLine(Yolov5n) 1,761,871 4.1 3.7M 0.692 0.37 0.00062s
Yolov5n+RepVit+C2f 6,001,647(340.6%) 16.2(395.1%) 12.1M(327.0%) 0.711(+0.019) 0.386(+0.016) 0.00262s
Yolov5n+RepVit+C2f Lamp 2.0x 2,318,239(131.5%) 8.2(200%) 5.0M(135.1%) 0.721(+0.029) 0.398(+0.028) 0.00218s
Yolov5n+RepVit+C2f Lamp 3.0x 1,446,593(82.1%) 5.6(136.6%) 3.3M(89.2%) 0.712(+0.02) 0.388(+0.018) 0.00197s
Yolov5n+RepVit+C2f Lamp 3.5x 1,231,668(69.9%) 4.8(117.1%) 2.9M(78.4%) 0.71(+0.018) 0.383(+0.013) 0.00189s
Yolov5n+RepVit+C2f Lamp 4.0x 1,082,684(61.5%) 4.3(104.9%) 2.7M(73.0%) 0.705(+0.013) 0.378(+0.008) 0.00185s
Yolov5n+RepVit+C2f Lamp 5.0x 897,472(50.9%) 3.4(82.9%) 2.3M(62.2%) 0.69(-0.002) 0.364(-0.006) 0.00178s
Yolov5n+RepVit+C2f GroupSl (Sparse) 2.0x 1,695,853(96.3%) 8.2(200%) 3.8M(102.7%) 0.694(+0.002) 0.364(-0.006) 0.022s
Yolov5n+RepVit+C2f Slim (Sparse) 2.0x 3,006,781(170.7%) 8.1(197.6%) 6.3M(170.3%) 0.707(+0.015) 0.376(+0.006) 0.00206s
Yolov5n+RepVit+C2f Slim (Sparse) 3.0x 1,945,689(110.4%) 5.6(136.6%) 4.3M(116.2%) 0.683(-0.009) 0.348(-0.022) 0.00189s
Yolov5n+RepVit+C2f Slim (Sparse) 4.0x 1,411,170(80.1%) 4.2(102.4%) 3.3M(89.2%) 0.662(-0.03) 0.331(-0.039) 0.0018s

Mode:Prune Dataset:CrowdHuman 20%train Model:Yolov5n+Fasternet+GoldYOLO+ASF+OTA

model Parameters GFLOPs Model Size mAP50 mAP50-95 Inference Time(bs:32)
BaseLine(Yolov5n) 1,761,871 4.1 3.7M 0.688 0.365 0.00062s
Improve(Yolov5n+Fasternet+GoldYOLO+ASF+OTA) 6,442,926(365.7%) 10.5(256.1%) 12.8M(345.9%) 0.739(+0.051) 0.395(+0.03) 0.00221s(356.4%)
Improve Lamp 2.0x 3,753,930(213.1%) 5.2(126.8%) 7.6M(205.4%) 0.732(+0.044) 0.391(+0.026) 0.00117s(188.7%)
Improve Lamp 2.5x 3,414,584(193.8%) 4.2(102.4%) 7.0M(189.2%) 0.721(+0.033) 0.377(+0.012) 0.00097s(156.5%)
Improve Lamp 3.0x 3,198,691(181.6%) 3.5(85.3%) 6.6M(178.4%) 0.7(+0.012) 0.357(-0.08) 0.00083s(133.9%)