Triton 24.06 iGPU 加载 TensorRT 引擎报 236/237 版本不一致,怎么处理?
Triton 24.06 iGPU 的历史兼容问题要求用 TensorRT 24.04 iGPU 容器重建引擎。核对构建和运行镜像,保留原产物,并验证加载、数值及动态输入边界。
Triton 24.06 iGPU 加载 TensorRT 引擎报 236/237 版本不一致,怎么处理?
如果使用的是 Triton 24.06 iGPU 容器,模型又由 TensorRT 24.06 iGPU 容器构建,下面这段日志对应一个已记录的历史兼容问题:
Current Version: 236, Serialized Engine Version: 237
完整日志通常还包含 Version tag does not match。NVIDIA 的 24.06 发布说明给出的处理方式,是用 TensorRT 24.04 iGPU 容器重新构建引擎,再交给 Triton 24.06 iGPU 容器运行。官方发布说明的 Known Issues
这个方案只针对上述历史组合。碰到其他版本、其他硬件或不同的序列化版本号,要重新核对对应发布说明,不能一律降到 24.04。
先确认正在运行的镜像
排查时同时记录构建端和运行端。镜像名称中的年月相同,容易让人漏掉这里的兼容问题。
已有容器可用下面的只读命令检查,把名称换成实际容器名:
docker inspect --format '{{.Config.Image}} {{.Image}}' triton-container
还要从构建日志或流水线中找出 TensorRT 构建镜像的 tag 与 digest,确认使用的是 iGPU 变体。不要仅凭本机 pip show tensorrt 判断容器内构建了什么。
如果信息对不上,先查清引擎由哪个环境生成,再决定是否采用这条工作方案。
重建时保留原始模型和原引擎
按官方建议切换构建环境后,从原始模型重新生成一个单独的引擎文件。保持输入输出定义、精度及动态形状配置可追溯,避免同时改动几项设置后难以比较。
不要覆盖唯一的原引擎,也不要编辑 plan 文件头部把版本数字改成 236。官方方案要求重建,没有提供修改序列化头部的转换步骤。
新引擎先放到测试模型仓库中加载。检查这三件事:
- 反序列化阶段不再出现相同的版本错误,模型状态变为 READY
- 使用固定输入时,输出形状正确,数值误差符合项目已有标准
- 实际需要的 batch 和输入尺寸能够执行,包括动态形状的边界
READY 只能说明模型已加载,后两项仍需单独验收。通过后再替换生产产物,并保存构建镜像、运行镜像和新引擎的哈希,方便回退与复现。


