ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

TensorRT加速应用

2022-01-16 17:30:52  阅读:271  来源: 互联网

标签:engine yolov5 wts TensorRT 应用 yolov5s 加速 tensorrtx


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的要求,

也就是我们要有:

代码下载:

需要用到两个代码:

  • 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了







标签:engine,yolov5,wts,TensorRT,应用,yolov5s,加速,tensorrtx
来源: https://blog.csdn.net/linxinloningg/article/details/122525742

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有