运行调用TensorRT程序报错 Version tag does not match. Internal Error (Engine deserialization failed.) 参考解决方法

写在前面

自己的测试环境:
Ubuntu20.04,
CUDA-11.8;
cudnn8.6.0;
TensorRT-8.5.1.7

一、问题描述

运行调用 TensorRT 程序时出现如下报错:

[07/09/2024-20:15:26] [E] [TRT] 1: [stdArchiveReader.cpp::StdArchiveReader::42] Error Code 1: Serialization (Serialization assertion stdVersionRead == serializationVersion failed.Version tag does not match. Note: Current Version: 232, Serialized Engine Version: 205)
[07/09/2024-20:15:26] [E] [TRT] 4: [runtime.cpp::deserializeCudaEngine::66] Error Code 4: Internal Error (Engine deserialization failed.)

二、解决方法

这个错误信息的报错提示的意思是:

尝试加载一个序列化(Serialized)的CUDA引擎时,版本不匹配的问题。错误信息中指出,当前的版本是232,而序列化引擎的版本是205。这通常意味着你正在尝试使用一个较新版本的软件去加载一个较旧版本的序列化文件。

解决这个问题的方法是需要对数据进行重新序列化:
使用当前的测试平台,运行 trtexec --onnx **** 指令进行部署,比如重新运行以下指令进行生成.engine 文件:

trtexec --onnx=superpoint_pretrained2.onnx --explicitBatch --minShapes=input:1x1x360x1176 --optShapes=input:1x1x360x1176 --maxShapes=input:1x1x360x1176 --workspace=3072 --saveEngine=superpoint_pretrained_360_1176_FP32.engine

参考链接

[1] YukunXia. SuperPoint-Stereo-Visual-Odometry/tree/test_two_batches/src/odml_visual_odometry/README.md. https://github.com/YukunXia/SuperPoint-Stereo-Visual-Odometry/blob/test_two_batches/src/odml_visual_odometry/README.md, 2021-11-25/2024-07-09.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值