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

superpoint+superglue tensorrt c++部署的版本升级优化

从 v1 手动升级到 v2 (TensorRT 10) 全方位细致梳理与迁移指南本文档将细致地拆解从SuperPoint-SuperGlue-TensorRT(v1) 升级至SuperPoint-SuperGlue-TensorRT-v2的每个步骤,阐述改什么、先改哪里、后改哪里以及为什么要改。此指南涵盖版本依赖、配置修改、以及具体的 C++ 源码改动。阶段一:环境版本替换在开展任何代码工作之前,必须先将开发环境进行升级。这是所有代码改动的基础:CUDA 升级: 卸载原先的 CUDA 11.6,安装CUDA 12.8。TensorRT 升级: 卸载原先的 TensorRT 8.4.1.5,安装TensorRT 10.8.0.43。为什么要改:TensorRT 10 带来了架构的重构,废弃了原有的 Binding(绑定)机制,启用了全新的 I/O Tensor 机制。同时,对大语言模型库和 ONNX 算子(比如 InstanceNorm)支持更好,推理性能有实质飞跃。阶段二:模型导出与配置文件更新 (config.yaml)2.1 重新准备 ONNX 与 Engine 模型由于 TensorRT 8 的 Engine 与 TensorRT 10 不兼容,旧版中的模型必须替换。动作:将目录weights/下的原先的_sim_int32.engine删除。(新版程序会自动从重新修复的.onnx中重建,新的 ONNX 推荐命名为_int32_fixed.onnx以示区别)。2.2 修改config/config.yaml动作:打开config.yaml。将 SuperPoint 和 SuperGlue 对应的模型名字从旧版改为新版。改法:# SuperPoint 节点中onnx_file:"superpoint_int32_fixed.onnx"engine_file:"superpoint_int32_fixed.engine"# SuperGlue 节点中onnx_file:"superglue_indoor_int32_fixed.onnx"engine_file:"superglue_indoor_int32_fixed.engine"为什么要改:代码会通过解析该配置文件来查找、加载模型文件。如果此处不改,执行时会报“文件不存在”错误。阶段三:C++ 核心源码全面适配这部分是升级工作最核心的地方。我们将分别对src/super_point.cpp和src/super_glue.cpp动刀。请按照如下顺序依次进行替换。3.1 改造src/super_point.cpp修改动机:适配 TensorRT 10 的 Workspace 配置;增加 ONNX 算子标志以应对异常;废弃 Binding API 改用最新的 Tensor API。第一处替换:修改construct_network(显存池限制与 Parser 修复)找到SuperPoint::construct_network函数:// ==== 原始代码 (v1) ====autoparsed=parser-parseFromFile(super_point_config_.onnx_file.c_str(),static_castint(gLogger.getReportableSeverity()));if(!parsed){returnfalse;}config-setMaxWorkspaceSize(512_MiB);// ====================// ==== 替换为新代码 (v2) ====parser-setFlag(nvonnxparser::OnnxParserFlag::kNATIVE_INSTANCENORM);parser-parseFromFile(super_point_config_.onnx_file.c_str(),static_castint(gLogger.getReportableSeverity()));if(parser-getNbErrors()0){for(inti=0;iparser-getNbErrors();i++){std
http://www.gsyq.cn/news/1391947.html

相关文章:

  • 嵌入式显示:Air1601 RGB 屏开发要点
  • 基于预训练语言模型的日志异常检测:LogFiT原理与实践
  • Python3 滑块验证码破解
  • 天正图纸转换实操指南:4步搞定版本兼容
  • 企业级RFID与NFC基础设施解决方案
  • Vue电商商城实战指南:基于Vue+Node+MongoDB构建完整电商平台
  • 终极显示校准工具指南:3步解决ASUS笔记本屏幕色彩异常问题
  • Android多渠道打包
  • 系统托盘 + 窗口状态持久化:Electron 细节
  • 当AI学会“看“屏幕:如何用UI-TARS桌面版告别重复点击?
  • 终极网页资源捕获指南:30秒掌握猫抓扩展的完整使用技巧
  • linux文件句柄详解
  • Lovable客服系统搭建不是选型,是重构:基于217个真实客户会话日志分析出的5层对话路由逻辑设计(附Python决策树源码)
  • 融合字形与部首特征的中文零样本实体链接模型CFCE-ZEL设计与实现
  • 2026 居家轻健身 | 每周 3 小时,无痛坚持,练出紧致好状态 ✨
  • 携程任我行礼品卡回收避坑指南!认准正规平台不踩雷 - 可可收公众号
  • 行业观察|名称近似引发市场误判!百岁人饮用水与百岁山无任何隶属关联 - 中媒介
  • 硬件高效状态监测算法TCAM:嵌入式预测性维护的极简实现
  • 3分钟实现通达信缠论自动化分析:ChanlunX开源插件完整指南
  • 全国中高端陈皮/新会陈皮/陈皮采购/陈皮合作加盟生产商专题:润元兴布局大湾区广东等地深度问答 - 十大品牌榜
  • 数据库自动化:基于 MCP 让 AI 自动连接 MySQL 进行测试数据验证
  • 最新!1950-2025年全球极端气候数据集ERA5-EX(气温、降水等34种极端气候指数)
  • Vue电商商城终极指南:3步快速构建完整开源电商平台
  • ChanlunX缠论插件:让技术分析从复杂到简单的自动化革命
  • Taotoken模型广场如何辅助技术选型与快速切换
  • Lovable测试可观测性体系构建:从traceID穿透到失败根因聚类分析,7步实现MTTR缩短67%
  • 从混乱到有序:如何用MetricFlow构建可维护的数据指标系统
  • 回收奥林巴斯Olympus MX50金相显微镜
  • 猫抓Cat-Catch终极实战指南:浏览器资源嗅探扩展的架构解密与性能调优
  • IDEA2026.1中配置Codex(非官方订阅-针对国内走中转路线NewApi)