TensorRT – 使用Polygraphy工具比较onnx模型和TensorRT模型的推理结果是否一致
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:TensorRT – 使用Polygraphy工具比较onnx模型和TensorRT模型的推理结果是否一致
原文链接:https://www.stubbornhuang.com/2447/
发布于:2022年12月12日 9:49:11
修改于:2022年12月12日 9:49:11
1 比较onnx模型和TensorRT模型推理结果的必要性
在进行模型部署的时候,如果我们使用TensorRT对模型加速,那么一般都会采用深度学习框架>onnx模型>TensorRT模型的技术路线,在onnx模型转换到TensorRT模型的过程中有可能某些算子会丢失精度,从而影响后续的模型推理结果,特别是对模型精度要求较高的问题(比如多分类问题),所以这个时候就需要有一个工具来比较onnx源模型与TensorRT模型的推理结果是否一致。
2 使用TensorRT的Polygraphy工具和onnx库比较推理结果
Polygraphy的Github仓库:https://github.com/NVIDIA/TensorRT/tree/main/tools/Polygraphy
在Polygraphy的Github仓库文档中为我们提供了一个比较二者结果的Python示例代码,
from polygraphy.backend.onnxrt import OnnxrtRunner, SessionFromOnnx
from polygraphy.backend.trt import TrtRunner, EngineFromNetwork, NetworkFromOnnxPath
from polygraphy.comparator import Comparator, DataLoader
model_path = "/path/to/model.onnx"
build_onnxrt_session = SessionFromOnnx(model_path)
build_engine = EngineFromNetwork(NetworkFromOnnxPath(model_path))
runners = [
OnnxrtRunner(build_onnxrt_session),
TrtRunner(build_engine),
]
data_loader = DataLoader(val_range=(0, 2))
run_results = Comparator.run(runners, data_loader=data_loader)
assert bool(Comparator.compare_accuracy(run_results))
主要的步骤如下:
- 加载onnx模型
- 从onnx模型中构建TensorRT模型
- 将输入值限制在[0,2]的范围内
- 分别使用onnx-runtime和TensorRT进行推理
- 比较二者的推理结果是否一致
当前分类随机文章推荐
- TensorRT - 安装TensorRT工具Polygraphy 阅读4188次,点赞0次
- TensorRT - Using an engine plan file across different models of devices is not recommended and is likely to affect performance or even cause errors 阅读230次,点赞0次
- TensorRT - 使用Polygraphy工具比较onnx模型和TensorRT模型的推理结果是否一致 阅读453次,点赞1次
- TensorRT - 使用torch普通算子组合替代torch.einsum爱因斯坦求和约定算子的一般性方法 阅读2856次,点赞1次
- TensorRT - Invalid Node - TopK,This version of TensorRT only supports input K as an initializer 阅读176次,点赞0次
- TensorRT - workspace的作用 阅读494次,点赞0次
- TensorRT - Windows下TensorRT下载与配置 阅读1714次,点赞0次
- TensorRT - 喜大普奔,TensorRT8.2 EA起开始支持Einsum爱因斯坦求和算子 阅读1672次,点赞0次
- TensorRT - 基于TensorRT的多线程并发推理方案 阅读359次,点赞2次
- TensorRT - TensorRT was linked against cuBLAS/cuBLAS LT 11.6.1 but loaded cuBLAS/cuBLAS LT 11.5.4错误提示 阅读146次,点赞0次
全站随机文章推荐
- OnnxRuntime – 模型部署笔记3,总结OnnxRuntime模型推理流程 阅读237次,点赞0次
- C++ - 将Unicode std::wstring字符串转换为Unicode std::string转义字符,类似于\uxxxx的形式 阅读1586次,点赞0次
- Pac - OneDriver/OneNote Pac规则 阅读5268次,点赞3次
- 三维点云重建(曲面重建)的经典算法 阅读8323次,点赞8次
- 资源分享 - 计算机图形学 - 原理及实践 基础篇 原书第3版 , Computer Graphics Principles and Practice (Third Edition) 中文版PDF下载 阅读3010次,点赞2次
- Modern OpenGL从零开始 - 在Visual Studio中配置OpenGL开发环境 阅读2492次,点赞0次
- 工具推荐 - 推荐几个可以下载任意网站m3u8或者HLS流加密视频流的油猴脚本或者Chrome免费插件 阅读10518次,点赞3次
- 深度学习 - 在大数据集下,内存容量与磁盘IO速度影响模型训练速度的问题 阅读125次,点赞0次
- 资源分享 - Rotation Transforms for Computer Graphics , First Edition 英文PDF下载 阅读651次,点赞0次
- 资源分享 - Calculus for Computer Graphics , First Edition 英文高清PDF下载 阅读1135次,点赞0次
评论
169