一、前言
Triton部署经常会有一些姨妈的错误,个人经验大都为版本不匹配导致;
二、 本人环境
nvidia-smi:
使用的官方镜像为:nvcr.io/nvidia/tritonserver:21.09-py3
使用的onnx版本为:pip install onnx == 1.12.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
对应的版本链接可参考官网:
https://docs.nvidia.com/deeplearning/triton-inference-server/release-notes/rel_21-09.html#rel_21-09
除此之外,环境依赖安装了: pip install nvidia-pyindex nvidia-dali-cuda110
三、报错信息
报错信息如下:
E0719 02:45:05.225510 2971 logging.cc:43] 6: The engine plan file is not compatible with this version of TensorRT, expecting library version 8.0.3 got 8.0.1, please rebuild.
E0719 02:45:05.225711 2971 logging.cc:43] 4: [runtime.cpp::deserializeCudaEngine::75] Error Code 4: Internal Error (Engine deserialization failed.)
四、解决方案
1、原因很明显为8.0.1版本的TensorRT导致了不兼容问题,故重装了对应的tensorRT版本为:
pip install nvidia-tensorrt==8.0.3
2、重新模型转换:model.onnx --> model.plan
3、放到对应的Triton模型目录下:很奇怪的是为什么都要命名为model.onnx 或者 model.plan,可能内定写死了?反正我改名就可以检测到了;
五、参考链接
附上官网的用使用手册:Quickstart — NVIDIA Triton Inference Server
有问题随时联系,欢迎一键三连!