当前位置: 首页 > news >正文

当出现onnx head和转出的tensorrt head output数量不一致时

问题是条件分支影响

解决方案:

去掉 --useCudaGraph,因为此优化不支持条件分支,会让output出现不一致情况

--separateProfileRun 和 --useCudaGraph 是 NVIDIA TensorRT 的命令行工具(如 trtexec)中的选项,用于执行模型推理时的特定配置。以下是每个选项的详细说明:

--separateProfileRun

  • 用途:

    • 该选项用于在 trtexec 运行时将模型的 profile(性能分析)与实际的推理执行分开。
    • 很适合用于分析模型性能,而不会干扰实际推理性能的数据。
  • 工作原理:

    • 当启用 --separateProfileRun 时,trtexec 将会首先运行一个独立的配置、优化和编译阶段,以获取最佳执行路径和内存配置,而后在单独的阶段运行实际的推理测试。
    • 这有助于分析阶段不出现偏差以及更准确地评估推理过程中的性能。

--useCudaGraph

  • 用途:

    • 启用 CUDA 图(Cuda Graphs)特性,以优化 GPU 上的模型推理。
    • CUDA 图可以显著减少在多次执行相同计算图(例如推理过程中)的开销。
  • 工作原理:

    • --useCudaGraph 通过记录 GPU 操作并措为单独的 CUDA 图进行多次重复执行,从而提升模型推理性能。
    • 这样能减少每次推理调用的启动和调度开销,对高频、低延迟的请求特别有效。
  • 适用场景:

    • 当模型执行是稳定的,输入和输出形状是固定的情况下,CUDA 图能提供显著的性能增益。
    • 需要注意的是,不支持动态输入尺寸和条件分支的情况。

http://www.mrgr.cn/news/74838.html

相关文章:

  • appscan使用
  • SQL语句分类
  • Leetcode 求根节点到叶节点数字之和
  • DOM NodeList 对象简介
  • 谷歌浏览器的自动翻译功能如何开启
  • Excel365和WPS中提取字符串的五种方法
  • 求职Leetcode题目(16)
  • 如何解决 Android Studio 中三方库依赖无法找到的问题
  • 准确率调整研究中心
  • cpp中vector的push_back和emplace_back精简小结
  • LeetCode【0047】全排列II
  • HarmonyOS基础:选项卡组件(Tabs)
  • PostgreSQL 查看重复索引
  • 第一课-Rust入门
  • 数据结构查找-哈希表(创建+查找+删除)+(C语言代码)
  • Tofu识别跟踪变焦镜头控制接口与协议
  • 云服务器安装mysql8.0(阿里云或者腾讯云都可以)
  • 比高考还严?该地软考报考减少了5420人,工作人员却增加100多人!
  • 如何使用Jupyter
  • 【机器学习chp2】贝叶斯最优分类器、概率密度函数的参数估计、朴素贝叶斯分类器、高斯判别分析。万字超详细分析总结与思考
  • 真的别跟风了!PMP认证原来只对这些人有用...
  • leveldb存储token的简单实现
  • 理解 C++ 中的 `const` 关键字
  • 域名绑定服务器小白教程
  • [刷题]入门1.矩阵转置
  • MATLAB和Python及R瑞利散射