开篇故事要从上周三说起。我徒弟小王兴冲冲地跑过来:“师傅,我按照你教的用TensorRT加速了YOLOv8,推理速度从20ms降到了5ms!但是……”他顿了顿,“我换了一张1920x1080的图片进去,直接报错说‘input shape mismatch’。我明明在构建引擎时设了动态形状啊?”我看了眼他的代码,笑了:“你设了动态形状,但没给TensorRT留‘活口’。它就像个固执的老裁缝,你告诉它能做‘可调节尺寸’的衣服,却没告诉它具体的伸缩范围——它当然会罢工。”这个场景太典型了。当你用YOLO处理真实场景时,输入尺寸永远在变:监控摄像头可能是1920x1080,手机拍照可能是4032x3024,而无人机航拍甚至可能是4K。TensorRT的静态引擎只能吃一种尺寸,遇到新尺寸就得重新构建——这等于把加速优势全扔了。痛点拆解:静态优化的“死穴”很多同学以为在构建配置里加个-1维度就是动态形状了。看看这个常见错误:importtensorrtastrt# 错误示范:只设了-1,没给范围builder=trt.Builder