今天看啥  ›  专栏  ›  自动驾驶Daily

4W字长文 | Sparse4Dv3的TensorRT部署调优指南~

自动驾驶Daily  · 公众号  ·  · 2024-09-27 07:30
    

主要观点总结

本文介绍了如何在个人工作站和车载NVIDIA ORIN上部署Sparse4Dv3端到端感知方案。Sparse4D是基于稀疏Transformer范式的高性能高效率的长时序融合感知算法,在nuscenes纯视觉榜单上以mAP=0.668排名位列第一。作者测试了该算法在多种数据集上的泛化效果,并重构了源代码,使其更加轻量化,易于训练和推理。本文分享了个人在部署Sparse4Dv3模型和C++代码开发过程中的经验和遇到的坑,并提供了GitHub Repo地址。在部署过程中,需要考虑PyTorch模型与ONNX框架算子的兼容性以及模型运行加速两大需求,其中涉及了模型转换、推理引擎ONNX Runtime和TensorRT的使用,以及CUDA编程和Makefile编程规则。作者还介绍了如何debug问题和校验结果准确性,以及如何在ONNX注册自定义算子,并将其注册为TensorRT Plugin。最后,文中列出了部署环境及工具版本,并给出了部署的大体思路。Sparse4Dv3模型部署的过程需要将训练好的模型.pth文件转换为.onnx,再转换为.engine文件,以解决PyTorch模型与ONNX框架算子的兼容性问题以及模型运行加速需求。

关键观点总结

关键观点1: Sparse4D方案介绍

Sparse4D是基于稀疏Transformer范式的高性能高效率的长时序融合感知算法,在nuscenes纯视觉榜单上排名位列第一。

关键观点2: 算法泛化测试与源代码重构

作者测试了该算法在多种数据集上的泛化效果,并重构了源代码,使其更加轻量化,易于训练和推理。

关键观点3: 部署过程中的挑战与经验

作者分享了个人在部署Sparse4Dv3模型和C++代码开发过程中的经验和遇到的坑,提供了GitHub Repo地址。

关键观点4: 模型转换与推理引擎使用

在部署过程中,需要考虑PyTorch模型与ONNX框架算子的兼容性以及模型运行加速两大需求,涉及模型转换、推理引擎ONNX Runtime和TensorRT的使用。

关键观点5: CUDA编程与Makefile规则

介绍了CUDA编程和Makefile编程规则,以及如何debug问题和校验结果准确性,以及在ONNX注册自定义算子,并将其注册为TensorRT Plugin。

关键观点6: 部署环境与工具版本

列出了部署环境及工具版本,并给出了部署的大体思路。


文章预览

作者 | Thomas Wilson  编辑 | 自动驾驶Daily 原文链接:https://zhuanlan.zhihu.com/p/715179777 点击下方 卡片 ,关注“ 自动驾驶Daily ”公众号 戳我->  领取近15个自动驾驶方向路线 >> 点击进入→ 自动驾驶Daily技术交流群 微信扫描以下二维码,加入【自动驾驶之心】知识星球, 国内最专业的技术和求职交流社区, 和3500人一起卷赢 Brief 本文分享主题: 如何在个人工作站以及车载NVIDIA ORIN 上部署Sparse4Dv3端到端感知方案。 Sparse4D是基于稀疏Transformer范式的高性能高效率的长时序融合的感知算法。截止2024年9月,该方案在nuscenes纯视觉榜单上以mAP=0.668排名位列第一: 图一:nuscenes纯视觉榜单 以下为算法的通用架构图[1]: 图二:基于时序融合稀疏Transformer范式算法算法架构 当前,我测试了该算法在多种数据集上的泛化效果,感觉确实还不错。基于此,我重构了源代码 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览