023、YOLOv6 EfficientRep 重参数化 backbone 原理解析与训练-部署两阶段策略
从一次线上推理延迟抖动说起
去年有个项目,模型在训练集上mAP刷到0.52,部署到Jetson Orin上跑,前向推理时间忽高忽低,最差的一次batch=1居然跑到18ms。排查半天,发现是backbone里某些分支结构在推理时没有被正确折叠——说白了,重参数化没做干净。那次之后我花了整整两周把YOLOv6的EfficientRep backbone从头到尾拆了一遍,今天把核心思路和踩过的坑写清楚。
为什么YOLOv6要重新设计backbone
YOLOv5的CSPDarknet在训练时精度不错,但部署时有个尴尬:大量1x1卷积和残差连接导致计算图碎片化,TensorRT优化时没法做kernel fusion。YOLOv6团队当时的目标很明确——训练时用复杂的多分支结构提升表征能力,推理时通过结构重参数化合并成单路卷积,把计算图压到最简。
EfficientRep这个名字很直白:Efficient(推理高效)+ Rep(重参数化)。它和YOLOv8的C2f、YOLOv11的C3k2思路不同,后者是动态调整通道数或卷积核大小,而EfficientRep走的是“训练时复杂、推理时简单”的极端路线。
EfficientRep的核心结构拆解
Efficien
订阅专栏 解锁全文

1888

被折叠的 条评论
为什么被折叠?



