【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

这篇具有很好参考价值的文章主要介绍了【Yolov5】保姆级别源码讲解之-推理部分detect.py文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.下载Yolov5的源码

  • 克隆一下yolov5的代码
git clone https://github.com/huangfengge/yolov5
  • 配置好项目所需的依赖包
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

2. 主函数讲解

opt 为执行可以传递的参数

if __name__ == '__main__':
    opt = parse_opt()
    main(opt)
  • 具体的参数如图所示,比较重要的参数 weights权重文件、–source 数据集合 – data 数据集的配置
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件
  • weights 权重文件
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

– source 为需要推理的原图
【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

  • data参数 数据配置
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

  • imgsz 参数是训练配置图片的大小

  • device 设备信息,使用的Gpu还是cpu

  • 这些参数都可以通过命令进行传递
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

cd /home/hfg/Soft/Idea_Project/deep/yolov5
python detect.py --weights yolov5s.pt --source data/images/bus.jpg 
  • 将推理结果放入runs/detect/exp3进行了保存
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

3.文件标头的注释

  • 明显的示例告诉了我们的使用方法
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

4. main函数的

  • 第一个方法检测了当前的依赖包是否安装
  • 进行了下一步的run函数
def main(opt):
    check_requirements(exclude=('tensorboard', 'thop'))  # 检测是否安装包
    run(**vars(opt))
  • requirements安装
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件- 里面定义了各个依赖包使用的版本【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

5. run函数

  • run 函数一共分为7个部分

5.1 第一块参数部分

  • 如图所示我们可以看到传递的参数部分
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

5.2第二块,传入数据预处理

  • 传入的可以是字符串图片名称,并对图片进行格式校验,可以支持的图片类型(如下图),如果是url地址或者文件地址进行下载操作。
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件
  • 可以支持的数据类型
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件
  • 下载文件的代码
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

5.3 第三块创建文件夹

  • 是否将推理过程写入一个txt文件
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件
  • 因save-txt是默认为false,增加上表示true,这样就生成了一个labels 文件
python detect.py --weights yolov5s.pt --source data/images/bus.jpg --save-txt

【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

  • 类型和坐标信息
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

5.4 第四块 加载模型的权重

【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

  • 选择当前训练设备的信息,gpu和cpu信息
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件
  • 模型框架 yolov5和pytorch

【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

5.5 第五块 Dataloader 加载模块

  • 一般加载的都是image
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件
  • 可以配置图片的大小,如果是多个图片使用数组
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

5.6 第六块 推理部分 Run inference

  • 热身先给cpu和gpu一张图片进行热身处理
  • 变量每个图片进行推理
  • 确定检测的坐标
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件
  • 热身处理【Yolov5】保姆级别源码讲解之-推理部分detect.py文件
  • 具体的画框【Yolov5】保姆级别源码讲解之-推理部分detect.py文件
  • 输出预测的结果进行保存
    【Yolov5】保姆级别源码讲解之-推理部分detect.py文件

5.7 输出结果 Print results

【Yolov5】保姆级别源码讲解之-推理部分detect.py文件文章来源地址https://www.toymoban.com/news/detail-473767.html

到了这里,关于【Yolov5】保姆级别源码讲解之-推理部分detect.py文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • YOLOv5源码逐行超详细注释与解读(3)——训练部分train.py

    本篇文章主要是对YOLOv5项目的训练部分 train.py 。通常这个文件主要是用来读取用户自己的数据集,加载模型并训练。 文章代码逐行手打注释,每个模块都有对应讲解,一文帮你梳理整个代码逻辑! 友情提示: 全文近5万字,可以先点 再慢慢看哦~ 源码下载地址: mirrors / ul

    2024年02月02日
    浏览(42)
  • YOLOv5源码逐行超详细注释与解读(4)——验证部分val(test).py

    本篇文章主要是对YOLOv5项目的验证部分。这个文件之前是叫test.py,后来改为 val.py 。 在之前我们已经学习了推理部分 detect.py 和训练部分 train.py 这两个,而我们今天要介绍的验证部分 val.py 这个文件主要是 train.py 每一轮训练结束后, 用 val.py 去验证当前模型的mAP、混淆矩阵等

    2023年04月15日
    浏览(80)
  • Python —— 解析Yolov5 - detect.py

    Yolov5自带detect.py加入cv2简单操作      说明:im0为mat的原图     detect.py参数解析      1、运行detect.py的两种方式:           (1)、 使用命令 :                python detect.py --source ./testfiles/img1.jpg --weights runs/train/base/weights/best.pt --c

    2024年02月12日
    浏览(38)
  • yolov5的detect.py代码详解

    目标检测系列之yolov5的detect.py代码详解 哈喽呀!今天又是小白挑战读代码啊!所写的是目标检测系列之yolov5的detect.py代码详解。yolov5代码对应的是官网v6.1版本的,链接地址如下:https://github.com/ultralytics/yolov5 废话不多说,直接上代码啦! 代码如下(示例): 代码如下(示例

    2024年02月04日
    浏览(38)
  • YOLOv5的Tricks | 【Trick13】YOLOv5的detect.py脚本的解析与简化

    如有错误,恳请指出。 在之前介绍了一堆yolov5的训练技巧,train.py脚本也介绍得差不多了。之后还有detect和val两个脚本文件,还想把它们总结完。 在之前测试yolov5训练好的模型时,用detect.py脚本简直不要太方便,觉得这个脚本集成了很多功能,今天就分析源码一探究竟。 关

    2023年04月08日
    浏览(37)
  • Yolov5对本地视频进行推理时,实现跳帧检测,提高推理效率

    今天在使用Yolov5的detect.py对本地视频进行推理时,发现推理速度受硬件性能影响比较大,为提高检测效率,在部分没必要逐帧检测的情况下,可以考虑设置跳帧检测。 对detect.py观察了一番之后,发现视频读取靠的是dataloaders.py库,于是继续观察。 最终得出了以下解决方案:

    2024年02月12日
    浏览(60)
  • 【目标检测】YOLOv5推理加速实验:TensorRT加速

    前两篇博文分别讨论了YOLOv5检测算法的两种加速思路:采用多进程或批量检测,不过效果均收效甚微。本问将讨论使用TensorRT加速以及半精度推理/模型量化等优化策略对检测加速的实际影响。 测试图片分辨率:13400x9528 GPU:RTX4090 Cuda:11.7 YOLOv5版本:最新版(v7.0+) 检测策略:将

    2024年02月05日
    浏览(53)
  • yolov5——detect.py代码【注释、详解、使用教程】

    根据目前的最新版本的yolov5代码做出注释和详解以及使用教程,对了目前已经是v6,不知道你看博客的时候是什么版本呢,总的来说越来越先进越来越完善,越来越适合无脑啊哈哈哈,没你说哈IIII crop文件夹下的文件 labels下面的文件

    2024年02月02日
    浏览(46)
  • 【目标检测】YOLOv5多进程/多线程推理加速实验

    最近在研究如何让YOLOv5推理得更快,总体看来,主要有以下这些思路: 使用更快的 GPU,即:P100 - V100 - A100 多卡GPU推理 减小模型尺寸,即YOLOv5x - YOLOv5l - YOLOv5m - YOLOv5s - YOLOv5n 进行半精度FP16推理与 python detect.py --half 减少–img-size,即 1280 - 640 - 320 导出成 ONNX 或 OpenVINO 格式,获

    2023年04月14日
    浏览(41)
  • Tensorflow调用训练好的yolov5模型进行推理

    conda search找找当前源下的CUDA与cuDNN有没有我们要的版本: Onnx(Open Neural Network Exchange)是一种开放的深度学习模型交换格式,用于在不同的深度学习框架之间共享模型。它提供了一个中间格式,可以将模型从一个框架转换为另一个框架。 Tensorflow是一个广泛使用的深度学习框

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包