YOLOV7源码复现教程

YOLOV7源码复现教程

1. 代码下载:

源码位置: https://github.com/WongKinYiu/yolov7,直接下载并解压
或可使用git复制代码: 'git clone https://gitee.com/YFwinston/yolov7.git'

2. 创建虚拟环境:

(1)Anaconda创建Yolo虚拟环境:
(2)安装需要的包: pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
此处需要注意CUDA和Pytorch的版本对应关系,否则会出错。
Previous PyTorch Versions | PyTorch。
本人电脑CUDA版本:10.2,对应下载Pytorch版本:
pip install torch==1.10.0+cu102 torchvision==0.11.0+cu102 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.tuna.tsinghua.edu.cn/simple/

3. 验证环境配置是否成功:

(1)README文件中有对应的权重,可直接下载,放在weights文件夹下。
在这里插入图片描述
(2)运行脚本detect.py, 在某张图片上进行推理,得到的可视化结果保存在runs/detect中。其中需确认验证图片的路径是否正确。
python detect.py --weights weights/yolov7.pt --conf 0.25 --img-size 640 --source data/bdd100k/images/val/b1c66a42-6f7d68ca/b1c66a42-6f7d68ca-0000001.jpg
推理成功可生成runs文件夹,并保存图片到如下位置。说明可进行下一步工作。
在这里插入图片描述

3.数据集准备:

数据集需要为Yolo数据格式
(1)将下载的coco数据集放在创建的datasets文件夹下,如下图所示。
在这里插入图片描述
(2)在data文件夹下找到coco.yaml,将路径修改为自己的数据集的文件夹路径。
在这里插入图片描述
(3)修改train.py文件:需注意路径及文件名称。
在这里插入图片描述
(4)接下来即可进行训练,但运行之后发现会有关wandb的报错。
UsageError: api_key not configured (no-tty). call wandb.login(key=[your_api_key])
这个报错一般是由于没有配置API key导致的,你需要按照以下步骤解决问题:
首先,登录到wandb网站并创建一个帐户:wandb注册登录 ,创建完用户并登录之后会跳转到以下页面,在该页面中复制API KEY的内容
在这里插入图片描述
其次,打开终端安装wandb: pip install wandb
安装好之后,输入以下代码:wandb login your_api_key
接着按ctrl+V粘贴上述在页面中复制的API KEY并回车。(注意:粘贴的内容不会在命令行显示,粘贴后直接回车即可
以上完成即可进行训练。

4.训练及测试:

训练结果展示:
在这里插入图片描述
P:精度(找对的正类/所有找到的正类);
R:召回率(找对的正类/所有本应该被找对的正类);
mAP: 是用Precision和Recall作为两轴作图后围成的面积,m表示平均,@后面的数表示判定iou为正负样本的阈值。
mAP@.5 :将IoU设为0.5时,计算每一类的所有图片的AP,然后所有类别求平均,即mAP
mAP@.5:.95:表示在不同IoU阈值(从0.5到0.95,步长0.05)(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)上的平均mAP。

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
YOLOv7 是一个目标检测算法,是基于深度学习的方法。它是由 Alexey Bochkovskiy 等人在 YOLOv4 的基础上进行改进和优化得到的。 YOLOv7源码主要分为以下几个部分: 1. 模型结构:YOLOv7 使用了 Darknet53 作为主干网络,该网络由 53 个卷积层组成,可以提取图像的特征。在 Darknet53 的基础上,YOLOv7 添加了更多的卷积层和连接层,用来预测目标的位置和类别。 2. 数据处理:源码中包含了数据预处理的部分,包括读取图像、缩放图像、数据增强等操作。数据增强可以提高模型的泛化能力,常见的增强方式包括随机裁剪、随机翻转、颜色抖动等。 3. 损失函数:YOLOv7 使用了一种称为 YOLO Loss 的损失函数来训练模型。YOLO Loss 综合考虑了目标的位置误差、目标的分类误差和目标的置信度误差,通过最小化这些误差来优化模型。 4. 训练过程:源码中包含了模型的训练过程,包括前向传播、反向传播、参数更新等步骤。训练过程中还会使用一些技巧来提高模型的性能,例如学习率调整、梯度裁剪等。 5. 推理过程:源码中也包含了模型的推理过程,可以将训练好的模型用于目标检测任务。推理过程中会使用非极大值抑制(NMS)来去除冗余的检测框,并且根据置信度阈值来筛选目标。 以上是对 YOLOv7 源码的简要解析,具体的实现细节可以参考相关的论文和代码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值