TensorRT加速应用⭐

tensorrtx下载

TensorRT是一个C++版本的深度学习架构,和tensorflow、pytorch是平行关系。我们想用TensorRT部署yolov5到开发板,那就分为两步,1.安装TensorRT,2.用TensorRT的语法重写各训练框架训练的网络。但是用TensorRT自己写一遍网络真的太麻烦了,我们也不会。那我们就可以用tensorrtx,这位大神用TensorRT的语法复现了各种经典网络:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D45QQ1Jc-1642325226242)(TensorRT加速应用.assets/image-20220115200209423.png)]

网络之多,一张截图放不下,基本主流的网络都已经能够转化

相当于把第2步帮我们做好了,这一个至关重要,它能将各框架训练的模型文件转变成tensorrtx支持的文件。

但是他对我们的环境提出了要求:

  • 要求一:tensorrtx要求cuda10.0 / cudnn7.6.5 / TensorRT7.0.0

  • 要求二:CUDA10.0要求显卡驱动高于410.48

  • 显卡对驱动的要求

    使用ubuntu-drivers devices来查看支持的显卡驱动,
    如果发现支持的驱动全都没超过410.48,那这条路就走不通了。
    如果支持>= 410.48的驱动,但你现在使用不是它,
    那么可以用sudo apt install nvidia-driver-xxx来安装
    
  • CUDA10.0的要求(其他版本的CUDA要求在这里):对ubuntu版本,系统内核,gcc,glibc的要求,

也就是我们要有:

  • 显卡驱动,自行前往官网安装,或者敲命令安装就好了
  • >CUDA10.0,可以参考部署cuda和cudnn
  • >cuDNN7.6.5,可以参考部署cuda和cudnn
  • >TensorRT7.0.0.11,可以参考部署tensorrt
  • >opencv3.4.15,可以参考部署opencv

代码下载:

需要用到两个代码:

  • yolov5 官方源码 ,并配置好环境(最好是conda虚拟环境)

    cd ~
    git clone https://github.com/ultralytics/yolov5
    cd yolov5
    pip install -r requirements.txt
    
    python detect.py
    

    运行之后,可以自动帮你下载yolov5s.pt,需要联网,搞不定的话也可以直接去github下载,这个pt文件十分重要,后面加速应用会用到

  • tensorrtx 源码

    cd ~
    git clone https://github.com/wang-xinyu/tensorrtx
    

获得.wts文件

将下载得到的yolov5s.pt文件复制到tensorrtx/yolov5目录下,运行gen_wts即可得到.wts文件,这里共用yolov5的配置环境即可

python gen_wts.py yolov5s.pt

运行完成之后会得到yolov5s.wts

编译运行,获得.engine文件

在编译运行之前,回顾TensorRT的安装是用deb包安装,还是从tar压缩包安装的,如果是从tar压缩包安装,这一步必不能省略,否则无法编译完成

编辑tensorrtx/yolov5目录下的CMakeLists.txt

# 替换这两行
include_directories(/usr/include/x86_64-linux-gnu/)
link_directories(/usr/lib/x86_64-linux-gnu/)include_directories(/home/{user_name}/TensorRT-{version}/include/)
link_directories(/home/{user_name}/TensorRT-{version}/targets/x86_64-linux-gnu/lib/)
# 保存退出

{user_name}:用户名

{version}:TensorRT版本

cd ~/tensorrtx/yolov5
mkdir build
cd build
cp ../yolov5s.wts ./
cmake ..
make
# -s 命令用于生成.engine文件,三个参数分别是.wts文件,.engine文件和model标识[s/m/l/x/...]
./yolov5 -s yolov5s.wts yolov5s.engine s
# -d 命令用于执行推理,两个参数分别是engine和要测试的目录
./yolov5 -d yolov5s.engine ../samples

运行没报错,就可以在build文件夹里看到带框的zidane.jpg了

个参数分别是engine和要测试的目录
./yolov5 -d yolov5s.engine …/samples


运行没报错,就可以在build文件夹里看到带框的zidane.jpg了

TensorRT加速应用相关推荐

  1. 使用TensorRT加速yolo3

    一.TensorRT支持的模型: TensorRT 直接支持的model有ONNX.Caffe.TensorFlow,其他常见model建议先转化成ONNX.总结如下: 1 ONNX(.onnx) 2 ...

  2. TensorRT加速 ——NVIDIA终端AI芯片加速用,可以直接利用caffe或TensorFlow生成的模型来predict(inference)...

    官网:https://developer.nvidia.com/tensorrt 作用:NVIDIA TensorRT™ is a high-performance deep learning inf ...

  3. tensorflow打印模型图_[深度学习]TensorRT加速tensorflow实例

    使用TensorRT加速tensorflow模型的推理应该是很有市场的一种应用了,但是使用Python的.易懂的例子并不多,官方的文档在这方面也是很不友好. 所以,本文旨在提供一个能把原理讲明白,代码 ...

  4. 探讨TensorRT加速AI模型的简易方案 — 以图像超分为例

    AI模型近年来被广泛应用于图像.视频处理,并在超分.降噪.插帧等应用中展现了良好的效果.但由于图像AI模型的计算量大,即便部署在GPU上,有时仍达不到理想的运行速度.为此,NVIDIA推出了Tenso ...

  5. NVIDIA教你用TensorRT加速深度学习推理计算 | 量子位线下沙龙笔记

    主讲人:Ken(何琨)| NVIDIA开发者社区经理 张康 屈鑫 编辑整理 量子位 出品 | 公众号 QbitAI 12月22日,量子位联合NVIDIA英伟达举行了线下交流会,跟现场近百位开发者同学共 ...

  6. TensorRT加速ENet

    TensorRT加速ENet 文章目录 TensorRT加速ENet 1. 训练ENet 2. 生成部署ENet的模型 3. 生成用于TensorRT调用的engine文件 4. 调用engine文件 ...

  7. Yolov5训练自己的数据集+TensorRT加速+Qt部署

    本人由于项目要求,需要利用Yolov5网络训练自己的目标检测与分类模型,并利用TensorRT加速将其部署到Qt界面上.目前已经实现了整个流程,写下这篇博客供需要的各位参考.(本文描述的重点主要是在后 ...

  8. 踩坑到怀疑人生:win10下tensorRT加速YOLOV5

    目录 版本 下载安装包 1.Go to:CUDA10.2 2.Go to:CUDNN 3.Go to:opencv340 4.Go to:pytorch官网 5.Go to:yolov5 6.Go t ...

  9. yolov5 6.1官方模板TensorRT加速保姆级图文教程

    加速的基础流程今年春季已经写好了,可以完美复现加速. 需要补充的是运行export.py的报错,加一句: pip install onnx 这会写教程的时候,电脑是昨天新做的系统,没有python以及 ...

  10. 如何使用TensorRT加速深度学习推理

    文章目录 1.TensorRT 简介 2.一个简单的TensorRT示例 3.简要代码演练 3.1.批量输入 4.配置文件 5.优化您的应用 6.使用混合精度计算 7.设置最大工作区大小 8.重用Te ...

最新文章

  1. Docker最全教程之Ubuntu下安装Docker(十五)
  2. 麒麟信安:“一云多芯”信创云桌面解决方案引领者
  3. 前端工程师最常用的字体图标库
  4. 签到系统实验报告_实验报告评分标准
  5. Memory Limited Persistent Message Queue
  6. 一个基于Angular4+Bootstrap4+Scss的后台管理系统界面
  7. 快速部署安装libart_lgp
  8. 学习布局(21)HTML5新标签
  9. excel表格两个表格合并
  10. 物联网威胁监测系统最新发现一款针对IoT设备的RAT远控木马
  11. 数字时代,企业应该如何看待商业智能BI
  12. 问题排查-Flink session窗口最后一个不过期问题
  13. 06-图1 列出连通集 —— 非联通图的DFS与BFS
  14. 简单理解hibernate懒加载
  15. 微信小程序之使用vant-3组件Uploader文件上传
  16. 聊聊那些令人愉悦的动画特效(GIF图)
  17. 联想r720安装固态_联想拯救者R720-15IKBN笔记本加装SSD不识别的案例
  18. web前端技术体系大全
  19. 信息安全概论 第一章 绪论
  20. 使用python量化交易接口有哪些分析指标和策略?

热门文章

  1. 微信聊天记录服务器端口是什么意思,微信端口异常是什么意思?
  2. 方格走法-牛客网(排列组合和动态规划)
  3. My shortcomings | 我的不足
  4. 移植ffplay媒体播放器和sdl2到Android平台
  5. Ubuntu20.04 ROS读取basler相机图像步骤。MATLAB2021b标定basler单目相机
  6. 手机拍照上传图片旋转角度问题
  7. BZOJ 1565 [NOI2009]植物大战僵尸
  8. python黑屏改成白底_详解Python给照片换底色(蓝底换红底)
  9. 万字干货 | IBO的金融原理和应用方向分析
  10. 阿里云短信服务与微信小程序对接进行注册