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

  • 余额宝52周攒钱冻结怎么取消(余额宝52周攒钱什么意思)

    余额宝52周攒钱冻结怎么取消(余额宝52周攒钱什么意思)

  • 华为手机相册里的视频怎么加音乐(华为手机相册里的照片误删怎么恢复)

    华为手机相册里的视频怎么加音乐(华为手机相册里的照片误删怎么恢复)

  • 智能云电视机系统复位花屏了(智能电视云电视)

    智能云电视机系统复位花屏了(智能电视云电视)

  • 开机显示器黑屏但电脑一直在运行键盘不亮(电脑主机能开机显示器黑屏)

    开机显示器黑屏但电脑一直在运行键盘不亮(电脑主机能开机显示器黑屏)

  • 拼多多拒收钱怎么退回呢(拼多多拒收怎么说)

    拼多多拒收钱怎么退回呢(拼多多拒收怎么说)

  • 电脑微信声音怎么关闭(电脑微信声音怎么设置大小)

    电脑微信声音怎么关闭(电脑微信声音怎么设置大小)

  • 网络ac和ap是什么意思(网络ac+ap方案)

    网络ac和ap是什么意思(网络ac+ap方案)

  • 荣耀30pro是不是三星屏(荣耀30pro是不是巴龙5000)

    荣耀30pro是不是三星屏(荣耀30pro是不是巴龙5000)

  • 为什么苹果xr没有导入通讯录(为什么苹果xr没有心动模式)

    为什么苹果xr没有导入通讯录(为什么苹果xr没有心动模式)

  • 华为点开图片退不出去(华为手机图片点开后不能返回)

    华为点开图片退不出去(华为手机图片点开后不能返回)

  • 华为电脑指纹无法识别(华为电脑指纹无法验证你的凭据)

    华为电脑指纹无法识别(华为电脑指纹无法验证你的凭据)

  • b站怎么弄小号(b站怎么弄小号直播)

    b站怎么弄小号(b站怎么弄小号直播)

  • 电脑删除键失灵怎么办(电脑删除键失灵怎么办win7)

    电脑删除键失灵怎么办(电脑删除键失灵怎么办win7)

  • 怎么看微信通讯录有多少人(微信通讯录)

    怎么看微信通讯录有多少人(微信通讯录)

  • 苹果演示机值不值得买(苹果演示机能便宜多少)

    苹果演示机值不值得买(苹果演示机能便宜多少)

  • 射频识别系统属于物联网的什么层

    射频识别系统属于物联网的什么层

  • 华为畅享9plus有红外线遥控吗(华为畅享9plus有nfc功能吗)

    华为畅享9plus有红外线遥控吗(华为畅享9plus有nfc功能吗)

  • 麒麟970和980区别(麒麟970和麒麟980差距有多大)

    麒麟970和980区别(麒麟970和麒麟980差距有多大)

  • 微信相机和录音权限在哪里设置(微信相机和录音权限)

    微信相机和录音权限在哪里设置(微信相机和录音权限)

  • 爱奇艺号视频审核需要多长时间(爱奇艺号视频审核要多久)

    爱奇艺号视频审核需要多长时间(爱奇艺号视频审核要多久)

  • Win7系统《战地3》打不开的解决方法(战地3 win10)

    Win7系统《战地3》打不开的解决方法(战地3 win10)

  • 呕心沥血 JavaScript知识点梳理大全,超详细 建议收藏!!!(呕心沥血的历史人物)

    呕心沥血 JavaScript知识点梳理大全,超详细 建议收藏!!!(呕心沥血的历史人物)

  • 销项税额和进项税额发票怎么区别
  • 应交消费税的税目
  • 国企的注册资本也很少吗
  • 收到失业金返还什么意思
  • 转出多交增值税最后怎么做平
  • 职工交的商业保险怎么做账
  • 法人名下的车辆费用如何进公司帐
  • 通过物流中心再送货配货属视同销售吗
  • 购买的车位是否有产权证
  • 代征手续费返还
  • 外币报表折算差额在会计报表中应作为
  • 开出产品折扣的发票怎么入账?
  • 计算房产税时容积率怎么算
  • 资本公积转增资本的条件
  • 纳税申报意思
  • 合同中没有明确违约责任怎么办
  • 汇算清缴报告和审计报告一样吗
  • 受委托研发企业可以享受研发支出吗
  • 对外支付和对外转账
  • 本月发票有红充这月成本怎么做账?
  • 任务栏图标重叠一起
  • 插上U盘电脑无法启动怎么回事
  • 吸甲醛最好的植物是什么?
  • 电脑黑屏怎么办主机还是亮的
  • 去年的记账凭证错了怎么办
  • window11 正式版
  • 电脑自我诊断
  • win10远程连接win7密码正确,无法登陆
  • 印花税和所得税需要计提吗
  • ftp pwd命令
  • 二手房房屋买卖注意哪些问题
  • 个人独资企业怎么做账
  • 梅林澳大利亚信号好最好吗
  • 金融企业的贷款准备金
  • 生产企业免抵退税实例
  • 扣缴义务人的法律地位
  • nginx配置文件格式
  • 从农民手中收购烟叶的消费税
  • 通行费电子发票抵扣填写到附表二的第几栏次
  • 工业企业采购流程
  • 用友t3财务报表导出
  • 一张专票可以开几项
  • 补充医疗保险会查hiv吗
  • 印花税实收资本和资本公积
  • 超简单的土法自制水泥
  • 银行进账单票据张数
  • 财务报表的作用包括?
  • 对公账户的钱都可以取吗
  • 税务发票金额可以增加吗?
  • 抵扣联过期时间
  • 健身器材折旧年限及计提办法
  • 入库单金额写错可以改吗
  • 客户罚款员工承担
  • 刷信用卡的手续费一般是多少
  • 外币资本金入账汇率怎样选择
  • 以前年度应收账款无法收回
  • 装订好的凭证可以拿掉一页吗
  • Winxp系统打不开浏览器
  • U盘安装ubuntu的分区详细教程
  • bearshare.exe进程安全吗 bearshare是什么进程
  • win8系统如何关闭杀毒系统
  • win8.1连接wifi
  • linux的三个部分
  • linux阅读器
  • window10的连接功能
  • linux测试软件
  • jquery-file-upload 文件上传带进度条效果
  • 骨骼动画程序设计
  • JavaScript弹出对话框
  • node.js中的http.response.write方法使用说明
  • javascript高级程序设计pdf百度云
  • pygame rect.move
  • jQuery插件库
  • js混杂模式
  • pythonsetter
  • 房屋设备租赁费
  • 已抵扣过的进项怎么做账
  • 个人年收入超过多少不能退税
  • 广东税务微信公众号微办税
  • 纪检组长如何监督党员
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设