SpireCV如何利用TensorRT加速?

2023-11-02 23:36
文章标签 加速 tensorrt spirecv

本文主要是介绍SpireCV如何利用TensorRT加速?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

TensorRT简介

TensorRT是NVIDIA推出的一款高性能的深度学习推理引擎(C++库)。相比于一般的深度学习框架,在GPU模式下其可提供36X的加速,极大提高了深度学习模型在边缘设备上的推断速度,以满足无人机、无人车等无人系统的快速视觉检测场景。

图片

TensorRT加速原理

1、TensorRT加速主要在:

  • 它支持INT8和FP16的计算,通过量化和减少浮点精度来提高计算效率;
  • 它可以对网络结构进行重构和优化,例如融合层、剪枝、深度缓存等技术,以减少计算量和内存访问,从而提高推理性能。

TensorRT的网络结构重构和优化不仅包括消除无用的输出层,还涉及到计算的可重复利用性和内存访问的高效性。具体来说,通过融合层、剪枝、深度缓存等技术,TensorRT可以将网络结构进行垂直整合,即将多个层合并为一个层,从而减少计算量和内存访问次数。

例如,对于常见的卷积神经网络结构,TensorRT可以将其中的卷积、偏置和激活函数(如ReLU)合并为一个层,同时通过重排卷积核的顺序,以便在计算时利用输入数据的局部性进行计算。

这样可以有效地提高计算效率和内存访问效率,并且能够充分利用GPU的并行计算能力。此外,TensorRT还支持动态图形优化技术,即根据实时数据流的特点,动态地选择最优的计算路径和数据布局,进一步提高了推理性能。

图片

例如将下方图1所示的常见的Inception结构重构为图2所示的网络结构。

图片
图1. Inception结构

对于网络的水平组合,水平组合是指将输入为相同张量和执行相同操作的层融合一起,如图2向图3的转化。

图片
图2. Inception结构重构

图片
图3. 相同操作的层水平融合

SpireCV的TensorRT应用

目前,SpireCV在平台层方面已全面支持Nvidia GPU(推荐10系、20系、30系显卡)、Jetson(AGX Orin/Xavier、Orin NX/Nano、Xavier NX),同样地在这些平台上也相应的支持TensorRT加速。

1、环境准备

  • X86+Nvidia GPU(推荐10系、20系、30系显卡),SpireCV已将环境准备信息整理为脚本文件,方便快捷,开发者可参考“阿木实验室”官网的SpireCV wiki自行下载使用;
  • Jetson(AGX Orin/Xavier、Orin NX/Nano、Xavier NX),SpireCV开发者套件已预装好全部环境,开箱即用。

2、应用方法

简单思路:在训练平台使用PyTorch框架训练完检测器模型后,需要先将PyTorch模型(.pt模型)转换为TensorRT模型(.wts模型),再在实际运行平台将.wts模型转为TensorRT的.engine文件,使用TensorRT引擎进行推理。

.wts模型是一个二进制文件,其中存储了TensorRT引擎所需的所有权重和偏置参数,以及对应神经网络层的配置信息。与其他模型表示格式相比,.wts模型更加紧凑高效,可以充分利用TensorRT引擎的各种优化技术,从而获得更高的推理性能。

相比于另一种TensorRT引擎的转换方法,即借助ONNX模型转为TensorRT引擎,SpireCV使用的方法不仅无需外部的模型转换工具,而且能够获得更高的推理性能。

需要注意的是,由于.wts模型是TensorRT引擎所特有的格式,因此它只能在TensorRT引擎上运行,无法在其他深度学习框架或平台上进行加载和运行。

关于如何用自定义数据集训练检测器,以及SpireCV使用TensorRT的具体应用步骤,感兴趣的开发者可以参考我们上一篇文章《不想敲代码,如何快速实现数据标注、模型训练、高效部署?》或者在文章底部留言。

TensorRT加速性能

图片

图片

- End -

往期推荐:

SpireCV:专为智能无人系统打造的边缘实时感知SDK库icon-default.png?t=N7T8http://mp.weixin.qq.com/s?__biz=MzIwNzgxNzg0Mg==&mid=2247544685&idx=1&sn=2352672ecae97b5d6ca69ca8f7dc3e54&chksm=970ef270a0797b660ad1f2cb5da77d660f67e94fb19b2bd46d9f146727c300acdf86192212ea&scene=21#wechat_redirect

不想敲代码,如何快速实现数据标注、模型训练、高效部署?icon-default.png?t=N7T8http://mp.weixin.qq.com/s?__biz=MzIwNzgxNzg0Mg==&mid=2247546098&idx=1&sn=db1b054b462b8c81d61b851a73a30499&chksm=970ee9efa07960f936fa7bec03e89a5db9a450b4d1b6a2988849c6ada2575464e2f7789f3a87&scene=21#wechat_redirect

图片

阿木实验室:为机器人研发提供开源软硬件工具和课程服务,让研发更高效!

技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。

这篇关于SpireCV如何利用TensorRT加速?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/334062

相关文章

PyInstaller问题解决 onnxruntime-gpu 使用GPU和CUDA加速模型推理

前言 在模型推理时,需要使用GPU加速,相关的CUDA和CUDNN安装好后,通过onnxruntime-gpu实现。 直接运行python程序是正常使用GPU的,如果使用PyInstaller将.py文件打包为.exe,发现只能使用CPU推理了。 本文分析这个问题和提供解决方案,供大家参考。 问题分析——找不到ONNX Runtime GPU 动态库 首先直接运行python程序

tensorrt 下载地址

tensorrt 下载地址 https://developer.nvidia.com/tensorrt refer: https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html

机器人助力上下料搬运,加速仓库转运自动化

近年来,国内制造业领域掀起了一股智能化改造的浪潮,众多工厂纷纷采纳富唯智能提供的先进物流解决方案,这一举措显著优化了生产流程,实现了生产效率的飞跃式增长。得益于这些成功案例,某信息技术服务企业在工厂智能物流建设的进程中,也选择了与富唯智能合作。 为了应对日益增长的物料搬运需求,匹配成品输出节拍,该公司引入了富唯智能复合机器人AMR与搬运机器人AGV,实现了仓库成品搬运自动化,大幅减少人工

ACM比赛中如何加速c++的输入输出?如何使cin速度与scanf速度相当?什么是最快的输入输出方法?

在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,于是从此以后发誓不用cin读数据。还有人说Pascal的read语句的速度是C/C++中scanf比不上的,C++选手只能干着急。难道C++真的低Pascal一等吗?答案是不言而喻的。一个进阶的方法是把数据一下子读进来,然后再转化字符串,这种方法传说中

P0.7全倒装COB超微小间距LED显示屏厂家已量产,加速高清显示的发展

随着P0.7全倒装COB超微小间距LED显示屏技术的成功量产,这一里程碑式的成就不仅标志着高清显示技术迈入了全新纪元,更预示着未来视觉体验将迎来前所未有的变革。各大应用场景,如指挥中心、会议中心、大型活动直播、高端影院乃至家庭娱乐,都将因这项技术而焕发新生。 市场上,消费者对于视觉质量的追求日益高涨,P0.7全倒装COB显示屏以其极致细腻的画质、超高的色彩还原度以及卓越的稳定性,迅速成为行业新宠

鸿蒙(API 12 Beta6版)图形加速【OpenGL ES平台内插模式】超帧功能开发

超帧内插模式是利用相邻两个真实渲染帧进行超帧计算生成中间的预测帧,即利用第N-1帧和第N帧真实渲染帧预测第N-0.5帧预测帧,如下图所示。由于中间预测帧的像素点通常能在前后两帧中找到对应位置,因此内插模式的预测帧效果较外插模式更优。由于第N帧真实渲染帧需要等待第N-0.5帧预测帧生成并送显后才能最终送显,因此会新增1~2帧的响应时延。 OpenGL ES平台 业务流程 基于OpenGL

yolov8-obb旋转目标检测onnxruntime和tensorrt推理

onnxruntime推理 导出onnx模型: from ultralytics import YOLOmodel = YOLO("yolov8n-obb.pt") model.export(format="onnx") onnx模型结构如下: python推理代码: import cv2import mathimport numpy as npimport onnxr

低代码平台:加速企业制造业数字化转型的新引擎

近期,国家发布了中小企业数字化转型试点城市的政策,旨在通过先行先试,探索支持制造业特别是汽车制造行业数字化转型的有效模式。这一政策的出台,为汽车制造企业的数字化转型提供了强有力的政策支持和方向指引,标志着汽车制造业正迎来一场前所未有的变革。 面对复杂多变的市场需求和日益激烈的市场竞争,汽车制造企业纷纷寻求突破,而低代码平台凭借其快速、灵活、易用的特性,成为了助力这一转型的重要工具。 汽车制造行

word2vec 两个模型,两个加速方法 负采样加速Skip-gram模型 层序Softmax加速CBOW模型 item2vec 双塔模型 (DSSM双塔模型)

推荐领域(DSSM双塔模型): https://www.cnblogs.com/wilson0068/p/12881258.html   word2vec  word2vec笔记和实现 理解 Word2Vec 之 Skip-Gram 模型 上面这两个链接能让你彻底明白word2vec,不要搞什么公式,看完也是不知所云,也没说到本质. 目前用的比较多的都是Skip-gram模型 Go

免费SSL证书大全,加速普及网站实现HTTPS加密

免费SSL证书大全,加速普及网站实现HTTPS加密   SSL 证书用于加密 HTTP 协议,实现网站通过HTTPS加密协议访问。随着国内外各大网站实现全站 HTTPS 协议,以及搜索引擎对使用 HTTPS 协议网站的更加友好,加之互联网对数据和隐私安全的加强,网站添加 SSL 证书并实现 HTTPS 加密协议访问已经成为趋势和必然。 SSL证书大全​zzzjtd.com 而对于给网站添加