位置: 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超详细解析)

  • acfun和哔哩哔哩关系(ACFUN和哔哩哔哩哪个好)

    acfun和哔哩哔哩关系(ACFUN和哔哩哔哩哪个好)

  • 华为p40pro可以支持无线反向充电吗(华为p40pro可以刷卡吗)

    华为p40pro可以支持无线反向充电吗(华为p40pro可以刷卡吗)

  • 苹果手机3dtouch称重如何设置(苹果手机3dtouch怎么设置)

    苹果手机3dtouch称重如何设置(苹果手机3dtouch怎么设置)

  • 华为手机怎么设置屏幕旋转(华为手机怎么设置下面的三个功能键)

    华为手机怎么设置屏幕旋转(华为手机怎么设置下面的三个功能键)

  • 苹果x如何开启OTG

    苹果x如何开启OTG

  • 快手限制了播放量(快手播放限制多久才可以解除)

    快手限制了播放量(快手播放限制多久才可以解除)

  • 手机关机放一年会坏吗(手机关机放一年使用会比较流畅吗)

    手机关机放一年会坏吗(手机关机放一年使用会比较流畅吗)

  • 微信健康码的申请流程(微信健康码申请不了怎么办)

    微信健康码的申请流程(微信健康码申请不了怎么办)

  • 苹果xsmax用18w快充伤电池吗

    苹果xsmax用18w快充伤电池吗

  • 微信解封多久可以正常使用(微信解封多久可以帮别人解封)

    微信解封多久可以正常使用(微信解封多久可以帮别人解封)

  • 微信红包收不到钱必须绑卡才能收吗(微信红包收不到怎么办)

    微信红包收不到钱必须绑卡才能收吗(微信红包收不到怎么办)

  • 苹果x是停产还是下架(苹果x是停产还是售后)

    苹果x是停产还是下架(苹果x是停产还是售后)

  • 手机没信号可以打通110吗(手机没信号可以收到短信吗)

    手机没信号可以打通110吗(手机没信号可以收到短信吗)

  • 微信朋友圈一条杠是删了还是屏蔽了(微信朋友圈一条线是不是已经被删除)

    微信朋友圈一条杠是删了还是屏蔽了(微信朋友圈一条线是不是已经被删除)

  • 荣耀v20有息屏时钟吗(荣耀v20有没有灭屏显示)

    荣耀v20有息屏时钟吗(荣耀v20有没有灭屏显示)

  • 来电话断网怎么解决(来电话网络断开)

    来电话断网怎么解决(来电话网络断开)

  • 手机突然全部没有声音(手机突然全部没信号怎么回事)

    手机突然全部没有声音(手机突然全部没信号怎么回事)

  • 怎么把手机电话本导出(怎么把手机电话号码复制到卡上)

    怎么把手机电话本导出(怎么把手机电话号码复制到卡上)

  • 锂电池的寿命有几年(锂电池的寿命有多少年)

    锂电池的寿命有几年(锂电池的寿命有多少年)

  • 域名系统dns的功能是(域名dns的功能)

    域名系统dns的功能是(域名dns的功能)

  • excel2010工作簿文件的默认类型(excel2010工作簿文件的默认工作表数量)

    excel2010工作簿文件的默认类型(excel2010工作簿文件的默认工作表数量)

  • 国际漫游设置必须打开(手机里国际漫游设置是什么意思)

    国际漫游设置必须打开(手机里国际漫游设置是什么意思)

  • 乐视手机收不到短信是怎么回事(乐视手机收不到微信消息)

    乐视手机收不到短信是怎么回事(乐视手机收不到微信消息)

  • iphone11pro是双卡吗(iphone11pro是双卡双待手机吗)

    iphone11pro是双卡吗(iphone11pro是双卡双待手机吗)

  • 苹果8出厂系统版本(苹果6版本)

    苹果8出厂系统版本(苹果6版本)

  • 华为怎么照片移到隐私空间(华为怎么把照片移动到另一个手机)

    华为怎么照片移到隐私空间(华为怎么把照片移动到另一个手机)

  • 陌陌停车游戏在哪打开(陌陌停车游戏在哪里找)

    陌陌停车游戏在哪打开(陌陌停车游戏在哪里找)

  • 斗鱼怎么撤销实名认证(斗鱼怎样取消实名认证)

    斗鱼怎么撤销实名认证(斗鱼怎样取消实名认证)

  • 息税前利润和销售利润
  • 进项税额属于什么账户
  • 没有发票先入账怎么办
  • 年末增值税需要计提吗
  • 进项税额转出冲红
  • 企业所得税年报过了申报期还能修改吗
  • 进项税额转出结平分录怎么写
  • 填写银行结算凭证的有关印鉴,应集中由谁保管
  • 对外投资企业利润回国意愿的政策建议
  • 准予抵扣的进项税范围
  • 材料成本差异分配率
  • 没签合同怎么交社保
  • 税控技术服务费计入什么科目
  • 活动策划税费
  • 小规模纳税人文化事业建设费减免政策
  • 关于增值税普通发票开票信息填写要求
  • 生产企业是否可以兼营外贸业务
  • 事业单位开发成本占比
  • 房屋盘盈入账须要交税吗
  • 期望和方差的计算例题
  • 住宿费算业务招待费还是差旅费?
  • 增值税专用发票的税率是多少啊
  • 因为质量问题
  • 红字专用发票信息表编号在哪儿
  • 抄税和申报是一回事吗
  • 网络适配器感叹号代码43
  • 现金流量表怎么编制
  • 无效发票不能报销怎么办
  • php的数组函数
  • mch是什么文件
  • vue适配pc
  • PHP:pcntl_wexitstatus()的用法_PCNTL函数
  • PHP:imagettfbbox()的用法_GD库图像处理函数
  • uni app怎么样
  • 购买原材料产生的费用
  • 建行e信通怎么转让
  • 尚硅谷百度贴吧
  • 视觉slam十四讲笔记
  • 投资者投入固定资产的成本,应当按照投资合同
  • 固定资产一次性扣除政策
  • 商品出入库台账
  • 营业外收支的账户是什么
  • sql server递归查询
  • 国有土地租赁合同的性质
  • 无形资产摊销年限
  • 出口结汇有哪些常用方法?
  • 医疗收费票据管理制度
  • 可供出售金融资产属于什么科目
  • 母公司和子公司是什么关系
  • 现金流量表的内部结构怎么算
  • 外经证如何缴税
  • 阿里巴巴新任董事长叶
  • 对外支付3万美元怎么算
  • 已经结账的账目怎么冲红
  • 已开具发票验旧
  • 资产负债表与利润表的勾稽关系公式
  • 盈余公积的会计处理
  • 已经做账发票退款怎么办
  • 上年度多计提的附加税怎么办
  • sql merge函数
  • fedora安装中文语言包
  • 电脑太慢了怎么解决
  • bios中英文对照表图新版
  • centos inode
  • 硬盘读盘慢修复
  • Windows XP英文版序列号
  • svcinit.exe - svcinit是什么进程
  • win8网络连接受限怎么处理
  • linux中vi命令详解
  • win10win8双系统
  • linux 网页
  • 在对linux系统中dir
  • javascript编程技术
  • 细说javascript
  • jquery将文本框设置为只读
  • node怎么实现多线程
  • jquery自定义表单
  • javascriptz
  • javascript核心技术开发解密
  • 广东省电子税务局电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设