百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

yolov7 PyTorch模型转TensorRT

liuian 2025-01-01 21:34 49 浏览

文章目录

  • yolov7 PyTorch模型转TensorRT
    • 1. github开源代码
    • 2. PyTorch模型转ONNX模型
    • 3. ONNX模型转TensorRT模型
      • 3.1 概述
      • 3.2 编译
      • 3.3 运行
    • 4. 推理结果

yolov7 PyTorch模型转TensorRT

1. github开源代码

yolov7 TensorRT推理的开源代码位置在https://github.com/linghu8812/tensorrt_inference/tree/master/project/yolov7,yolov7官方的开源代码位置为https://github.com/WongKinYiu/yolov7,对yolov7 epxort ONNX模型的代码作了少许修改,主要是(1) 在导出ONNX模型时,增加了onnxsim进行模型简化;(2) 在导出ONNX模型时进行了少许修改,可以去掉ONNX模型的ScatterND的op,使得TensorRT可以直接解析ONNX模型。

2. PyTorch模型转ONNX模型

首先通过命令git clone https://github.com/linghu8812/yolov7.gitclone yolov7的代码,通过以下命令生成ONNX文件。--weights 可以指定模型文件路径,--simplify进行ONNX模型简化,--grid使输出为一个tensor,--img-size为输入图片尺寸,--batch-size设置batch size的大小。

python export.py --weights ./weights/yolov7.pt --simplify --grid

对于1280输入的模型,可通过以下命令生成ONNX模型:

python export.py --weights ./weights/yolov7-w6.pt --simplify --grid --img-size 1280

3. ONNX模型转TensorRT模型

3.1 概述

TensorRT模型即TensorRT的推理引擎,代码中通过C++实现。相关配置写在config.yaml文件中,如果存在engine_file的路径,则读取engine_file,否则从onnx_file生成engine_file

void yolov7::LoadEngine() {
    // create and load engine
    std::fstream existEngine;
    existEngine.open(engine_file, std::ios::in);
    if (existEngine) {
        readTrtFile(engine_file, engine);
        assert(engine != nullptr);
    } else {
        onnxToTRTModel(onnx_file, engine_file, engine, BATCH_SIZE);
        assert(engine != nullptr);
    }
}

config.yaml文件可以设置batch size,图像的size,关于anchor的处理已经写到了ONNX模型中,所以处理时只需知道每个检测层的stride和anchor的数量即可,不需要再配置具体的anchor。

yolov7:
    onnx_file:     "../yolov7.onnx"
    engine_file:   "../yolov7.trt"
    labels_file:   "../coco.names"
    BATCH_SIZE:    1
    INPUT_CHANNEL: 3
    IMAGE_WIDTH:   640
    IMAGE_HEIGHT:  640
    obj_threshold: 0.4
    nms_threshold: 0.45
    strides:       [8, 16, 32]
    num_anchors:   [3,  3,  3]

yolov7-w6模型的配置文件如下:

yolov7:
    onnx_file:     "../yolov7-w6.onnx"
    engine_file:   "../yolov7-w6.trt"
    labels_file:   "../coco.names"
    BATCH_SIZE:    1
    INPUT_CHANNEL: 3
    IMAGE_WIDTH:   1280
    IMAGE_HEIGHT:  1280
    obj_threshold: 0.4
    nms_threshold: 0.45
    strides:       [8, 16, 32, 64]
    num_anchors:   [3,  3,  3,  3]

3.2 编译

通过以下命令对项目进行编译,生成yolov7_trt

mkdir build && cd build
cmake ..
make -j

3.3 运行

通过以下命令运行项目,得到推理结果

./yolov7_trt ../config.yaml ../samples

4. 推理结果

推理结果如下图所示:

相关推荐

w7旗舰版系统安装无线网卡(win7系统安装无线网卡)

要在Windows7中安装无线网卡,请按照以下步骤进行操作:1.检查您的计算机是否已安装无线网卡。您可以通过右键单击“我的电脑”并选择“属性”来查看计算机的硬件设置。如果计算机没有内置无线网卡,则...

腾达路由器管理员密码是什么

1、旧版本的腾达路由器,默认的用户名和密码都是:admin。?旧版腾达路由器的初始密码是:admin2、目前腾达新推出的无线路由器,在出厂状态下,是没有初始管理员密码的。?新版腾达路由器没有初始密码新...

电脑开机只有一个鼠标箭头黑屏

解决方法如下:1、同时按“ctrl+shlft+exc”键,调出任务管理器。2、点击任务管理器左下角的“详细信息”。3、然后点击左上角“文件”里的“运行新任务”。4、弹出新窗口,输入“explorer...

把vx好友删了想找回聊天记录

没有啦,联系人列表里没有了,聊天记录就没有了,无法进行恢复,收不到好友消息微信删除好友时会同时删除与该联系人的聊天记录,不过对方还是有双方的微信聊天记录的,删除好友后将无法发送消息给对方,所以伙伴们在...

163邮箱密码正确就是登不上(163邮箱密码一直错误)

邮箱不能登录或登录异常的原因有很多种哦,如您浏览器“隐私”或“安全”级别设置过高,或用户名、密码输入不正确、较长时间未登录被冻结等都会导致不能登录或登录异常。请您先检查一下哦。解决无法登录的方法有:...

移动硬盘维修费用大概是多少钱

芯片不需要多少钱,但数据恢复就另当别论了。。。如果认识人就帮你换个芯片板,要不了多少钱,如果是硬盘盒的芯片板坏了你就乾脆换个盒子,80左右。如果是硬盘芯片坏了,那就不好办了,没人愿意给你换阿。。。但如...

windows资源管理器停止工作是什么原因

1.在进行重装系统之前,可以先检测一下windows资源管理器停止工作的原因是什么。如果是因为电脑的文件太多了,垃圾堆积导致的停止工作,我们就不需要进行重装系统。我们只需要下载一个360卫士或者其他可...

联想电脑24小时维修热线电话

   1.打开Think.lenovo.com.cn网页,点击登陆。  2.输入用户名密码,点击登陆。  3.点击右上角的:返回个性化首页。  4.点击“咨询与报修”中的“网上报修”。 ...

u盘上的系统怎么安装到电脑上

如果这个u盘是已经制作成为启动盘,可以进入pe系统的话就可以从u盘启动进入到pe系统中进行系统安装!如果你的意思是u盘里直接是操作系统的话,那就在bios设置里直接设定为u盘启动就好了!也可以在pe中...

20年前老笔记本改造升级(比较老的笔记本电脑改装)

答:10年前的笔记本电脑升级改造的方法。1.减少电脑后台程序。电脑和手机也是差不多的,有些软件在关闭之后并没有真正的退出,而是在后台偷偷的运行,这样也是占电脑内存,这样会导致电脑变得越来有。2....

住房公积金贷款计算器(住房公积金贷款计算器在线)

房贷、公积金贷款计算器基本养老保险金计算器基本医疗保险金计算器工伤保险计算器住房公积金缴存计算器养老保险退休金计算器五险一金及税后工资计算器失业保险计算器住房公积金贷款利息怎么计算,具体如下:公积金贷...

电脑开不了机风扇不转(电脑开机风扇转一会停了又继续转)

电脑开不了机,主机风扇转不动,出现这种情况有以下几种可能:1、电源线松了,或电源插板松动,又或者插板不通电。2、主机电源坏了。3、电脑的主板坏了。4、主机面的开关按钮坏了,或者按钮卡住了。解...

网页打不了怎么办(网页打不开是什么原因及解决方法)

浏览器打不开的修复方法:  步骤1、关于浏览器打不开的问题,首先点击电脑桌面左下角“开始”—>“运行”,输入regsvr32jscript.dll后选择“确定”,再次输入regsvr32vb...

ghost文件安装系统方法(ghost如何安装)
  • ghost文件安装系统方法(ghost如何安装)
  • ghost文件安装系统方法(ghost如何安装)
  • ghost文件安装系统方法(ghost如何安装)
  • ghost文件安装系统方法(ghost如何安装)
win10自带文件恢复工具(win10文件恢复工具推荐)

步骤:第一步:打开系统的管理员命令提示符窗口。Windows10系统打开管理员命令提示符窗口有如下几种方法:方法一:在系统桌面左下角的搜索栏输入:CMD,点击:命令提示符,可以打开管理员命令提示符窗口...