位置: IT常识 - 正文

Yolov7模型训练与部署(yolov3模型训练)

编辑:rootadmin
Yolov7模型训练与部署 背景

推荐整理分享Yolov7模型训练与部署(yolov3模型训练),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:yolov3模型训练,yolo4模型,yolo 模型训练,yolov5模型训练,yolov5模型训练,yolov3模型训练,yolov5模型训练,yolov3模型训练,内容如对您有帮助,希望把文章链接给更多的朋友!

在工业上使用较多的基于深度学习从目标检测算法,那毫无疑问应该是yolo,凭借这效率和精度方面的优势,在一众深度学习目标检测算法中脱颖而出。目前最新的版本是yoloV7,根据yoloV7论文中描述:

YOLOv7 surpasses all known object detectors in both speed and accuracy in the range from 5 FPS to 160 FPS and has the highest accuracy 56.8% AP among all known real-time object detectors with 30 FPS or higher on GPU V100. YOLOv7-E6 object detector (56 FPS V100, 55.9% AP) outperforms both transformer-based detector SWIN L Cascade-Mask R-CNN (9.2 FPS A100, 53.9% AP) by 509% in speed and 2% in accuracy, and convolutional based detector ConvNeXt-XL Cascade-Mask R-CNN (8.6 FPS A100, 55.2% AP) by 551% in speed and 0.7% AP in accuracy, as well as YOLOv7 outperforms: YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5, DETR, Deformable DETR, DINO-5scale-R50, ViT-Adapter-B and many other object detectors in speed and accuracy. Moreover, we train YOLOv7 only on MS COCO dataset from scratch without using any other datasets or pre-trained weights

已知对象检测算法中获得了最高的精度,达到了 56.8% 的平均精度(AP),并且效率远超基于transformer(transformer-based)和基于卷积(convolutional-based)的模型。并且训练只使用了coco数据集,没有任何预训练权重。

今天试着下载看了下,发现文档说明齐全。今天大概花了一天时间,完成了从配环境,准备数据集,训练模型到tensorRT部署等多个步骤。

也得益于之前用过yolov3,对深度学习这一套流程比较熟悉。平时也有点工程经验,遇到的坑几乎网上一查或者仔细一琢磨,基本就解决了。接下来就对这一过程做个记录。

参考资料:

YOLOV7论文地址:https://arxiv.org/pdf/2207.02696.pdf

YOLOV7源码地址:https://github.com/WongKinYiu/yolov7

YOLO进化史:https://zhuanlan.zhihu.com/p/539932517

YOLOV7 tensorRT部署:https://zhuanlan.zhihu.com/p/556570703

源码下载

从github克隆代码:https://github.com/WongKinYiu/yolov7

环境配置

这是一个python工程,推荐使用PyCharm。

笔者使用的是Windows系统,如果不用conda的话,只能使用PyCharm提供的虚拟环境功能,在工程下新建一个python环境,这个环境不会影响别的工程。Pycharm会识别requirements.txt中需要的包,自动提示你安装。

这里的torch需要注意,如果使用默认的requirements.txt中版本,可能GPU不会启用,表现就是:

import torchtorch.cuda.is_available() #返回值为false

因此要自行安装,按照自己的环境,选择装不同的版本,pytorch官网提供了一个便捷的工具来生成安装指令。

https://pytorch.org/get-started/locally/

这里笔者的环境供参考:

cuda:10.2

Yolov7模型训练与部署(yolov3模型训练)

cudnn:8.2.2.26

TensorRT:8.2.2.1

这些版本一定要匹配,笔者在这儿踩过坑,把cuda重新安装了一遍,又下载了好几版的cudnn和tensorRT才测试成功。

测试数据集准备

yolov7测试数据集是coco,因此下载了coco val2017数据集,train2017暂时没有下载。

在data/coco.yaml文件中:

# download command/URL (optional)download: bash ./scripts/get_coco.sh

可以看到提供了一个下载coco的脚本,但只能在Linux下跑,Windows下需要自己下载。

val2017就够了,要自己训练的话,可以下载train2017,可以看到笔者也在下载train2017。

同样在data/coco.yaml中,设置文件路径

# train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/]train: H:/baiduyundownloads/coco2017/train2017.txt # 118287 imagesval: H:/baiduyundownloads/coco2017/val2017.txt # 5000 imagestest: H:/baiduyundownloads/coco2017/test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794精度测试

然后可以运行

python test.py --data data/coco.yaml --img 640 --batch 32 --conf 0.001 --iou 0.65 --device 0 --weights yolov7.pt --name yolov7_640_val

在run/test/yolov7目录下,可以看到confusion_matrix。

训练模型python train.py --workers 8 --device 0 --batch-size 32 --data data/coco.yaml --img 640 640 --cfg cfg/training/yolov7.yaml --weights '' --name yolov7 --hyp data/hyp.scratch.p5.yaml

模型训练可以从零开始,也可以在预训练权重上使用自己的数据集。这一步笔者没有实际执行。

模型导出为onnxpython export.py --weights ./yolov7-tiny.pt --dynamic-batch --grid --simplify --topk-all 100 --iou-thres 0.65 --conf-thres 0.35 --img-size 640 640

这一步不跟着Readme,去掉命令中的end2end,加入dynamic-batch。

这里选择yolov7-tiny模型,执行命令后,生成yolov7-tiny.onnx。

tensorRT部署

使用这个仓库

https://github.com/shouxieai/tensorRT_Pro

下的tensorRT_Pro/example-simple_yolo/目录中的工程,可以将.onnx模型转为.trtmodel模型。

然后可以用这个模型,在c++端进行推理:

推理结果写到文件:

本文链接地址:https://www.jiuchutong.com/zhishi/295251.html 转载请保留说明!

上一篇:chatgpt 无法登录报错Access denied、OpenAl‘s services are not available in yourcountry. (error=unsupported )(无法登陆p.to)

下一篇:YOLO-V5轻松上手(yolo v5超详细解析)

  • 计算机应用都学什么(计算机应用学什么)

    计算机应用都学什么(计算机应用学什么)

  • vivo x6s A老是自动关机怎么回事(vivox6总是自动开关机)

    vivo x6s A老是自动关机怎么回事(vivox6总是自动开关机)

  • 人人视频电视版怎么安装(人人视频电视版不能快进)

    人人视频电视版怎么安装(人人视频电视版不能快进)

  • WPS怎么用函数计算平均值(wps怎么用函数计算平均值)

    WPS怎么用函数计算平均值(wps怎么用函数计算平均值)

  • telan00a是什么型号(型号:tel-an00a)

    telan00a是什么型号(型号:tel-an00a)

  • 提醒软件有病毒继续安装吗(提示有病毒的软件真的有病毒吗)

    提醒软件有病毒继续安装吗(提示有病毒的软件真的有病毒吗)

  • 电脑怎么打不了中文字(电脑怎么打不了数字)

    电脑怎么打不了中文字(电脑怎么打不了数字)

  • iqooneo3指纹在哪(iqooneo3指纹在哪里)

    iqooneo3指纹在哪(iqooneo3指纹在哪里)

  • 苹果手机镜面翻转在哪里(苹果手机镜面翻转怎么关)

    苹果手机镜面翻转在哪里(苹果手机镜面翻转怎么关)

  • 抖音只有100多播放量什么原因(抖音只有100播放量)

    抖音只有100多播放量什么原因(抖音只有100播放量)

  • 支付宝突然不计步数了(支付宝突然不计步数了小米手机)

    支付宝突然不计步数了(支付宝突然不计步数了小米手机)

  • 快手礼物幸运魔盒主播能收到吗(快手礼物幸运魔盒多少快币)

    快手礼物幸运魔盒主播能收到吗(快手礼物幸运魔盒多少快币)

  • 微信移除黑名单后会收到之前的消息吗(微信移除黑名单的人怎么找回来)

    微信移除黑名单后会收到之前的消息吗(微信移除黑名单的人怎么找回来)

  • 绿厂手机是什么牌子(手机绿坝)

    绿厂手机是什么牌子(手机绿坝)

  • 液晶电视能当监控显示器用吗(液晶电视当监控显示器用怎么设置画面)

    液晶电视能当监控显示器用吗(液晶电视当监控显示器用怎么设置画面)

  • 钉钉群直播和视频会议有什么区别(钉钉群直播和视频会议)

    钉钉群直播和视频会议有什么区别(钉钉群直播和视频会议)

  • 爱奇艺投屏弹幕能显示吗(爱奇艺投屏弹幕怎么只有一排)

    爱奇艺投屏弹幕能显示吗(爱奇艺投屏弹幕怎么只有一排)

  • win在键盘上是哪个键(win键盘上是哪个按键)

    win在键盘上是哪个键(win键盘上是哪个按键)

  • 淘宝下单怎么备注快递(淘宝下单怎么备注图片)

    淘宝下单怎么备注快递(淘宝下单怎么备注图片)

  • 电信橙分期怎么取消(电信橙分期怎么彻底解除)

    电信橙分期怎么取消(电信橙分期怎么彻底解除)

  • 快手青年模式怎么关闭(快手青年模式怎么取消,开启FNC功能在哪里)

    快手青年模式怎么关闭(快手青年模式怎么取消,开启FNC功能在哪里)

  • 探探怎么拉黑别人步骤(在探探怎样拉黑人)

    探探怎么拉黑别人步骤(在探探怎样拉黑人)

  • 如何更换证件照的底色(如何更换证件照颜色)

    如何更换证件照的底色(如何更换证件照颜色)

  • oppor17忘记密码怎么办(oppor17忘记密码怎么强制恢复出厂)

    oppor17忘记密码怎么办(oppor17忘记密码怎么强制恢复出厂)

  • yy怎么直播游戏(yy怎么直播游戏视频教学)

    yy怎么直播游戏(yy怎么直播游戏视频教学)

  • 电脑打不开软件没反应(电脑打不开软件没反应怎么回事)

    电脑打不开软件没反应(电脑打不开软件没反应怎么回事)

  • 小米6如何设置屏幕常亮(小米6如何设置密码)

    小米6如何设置屏幕常亮(小米6如何设置密码)

  • 微信视频怎么美颜苹果8(微信视频怎么美颜苹果)

    微信视频怎么美颜苹果8(微信视频怎么美颜苹果)

  • 企业所得税申报表
  • 预缴增值税的账务
  • 印花税应计入什么账户
  • 多发了工资怎么处理
  • 代收款需要开票吗
  • 所得税年报工资薪金支出怎么填
  • 金蝶导出报表
  • 公司的会议议程怎么写
  • 购买金税盘需要带什么
  • 月末在产品的原材料定额费用计算公式
  • 委托外单位加工发出的材料分录
  • 作废的现金支票怎么处理
  • 实收资本收到后用途
  • 一般纳税人资格证明在哪里打印
  • 电子缴税付款凭证
  • 免费拿样品
  • 利润分配亏损太多如何处理?
  • 如果一直没到国税局办理登记怎么办
  • 金穗开发票时怎样添加商品?
  • 业务招待费增值税是进项税吗
  • 短期借款的明细科目是什么
  • 外汇收入会计分录
  • 建设工程是否可以约定非工程所在地仲裁委仲裁
  • 滴滴打车怎么整
  • 对公账户转账有延迟吗
  • 腾讯手游助手使命召唤怎么滑铲
  • 生产经营所得个税表
  • PHP 中dirname(_file_)讲解
  • 子公司接受母公司捐赠的会计处理
  • dl是什么文件
  • PHP:pg_set_error_verbosity()的用法_PostgreSQL函数
  • 收外汇的账务处理实例
  • 增值税的计税依据包括契税吗
  • 委托代销委托方需要开发票吗
  • 特立尼达和多巴哥
  • PHP:mcrypt_list_modes()的用法_Mcrypt函数
  • php imap函数
  • php提供的字符串函数
  • 知识图谱实现方案
  • python%s
  • 玩很多游戏的人
  • java单点登录token
  • 四轮电车电机价格
  • 补交之前年度税款怎么调账
  • 厂房出租一年多少钱
  • 个体户给对方公司开发票会怎样
  • 公司入股方式有哪几种
  • 转入固定资产清理会计科目
  • 债券承销费是指什么费用
  • 揭秘蟹卡骗局
  • 公司给员工付个税怎么交
  • 建筑行业小规模纳税人和一般纳税人
  • 给销售培训产品该如何做
  • 汇兑损益计入营业外收入吗
  • 债务转为股份的协议
  • 工会年末结余会计分录
  • 企业在非同一控制下的企业合并
  • mysql 5.7.18 winx64安装配置方法图文教程
  • win7双系统安装教程
  • linux中samba服务器的设计方案
  • win7安装office2010错误1935
  • 退休后归什么部门管
  • centos如何配置ip
  • 进程 cmd
  • centos7取消挂载硬盘
  • mac未能分区
  • 360安全卫士windows7
  • windows8如何使用
  • perl hex
  • unity3ds
  • jquery prevall
  • My Magic Android Tour —— 处女作
  • unityab包
  • Express + Session 实现登录验证功能
  • python 上传文件到ftp
  • android studio i使用
  • eclipse导入server
  • 关于成品油的吨油换算
  • 中国企业银行可以转账吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设