发财

  • 一、环境搭建
    • 1.1、源码下载
    • 1.2、切换虚拟环境
    • 1.3、安装组件
  • 二、数据集
  • 三、训练
  • 四、检测
  • 五、写在最末

还是先贴下结果图,



最后收敛的pr都接近0.9。

一、环境搭建

可以先参考博主的另一篇文章pytorch相关安装。

1.1、源码下载

安装完成后在pycharm中配置好新建的虚拟环境,通过pycharm编辑器打开YOLO工程(在YOLO源码官网下载即可)。

用pycharm打开YOLO项目后,编辑器一般会自动读取YOLO中requirments.txt,提示是否需要安装其中的组件,可以不急,等虚拟环境配置好了,再安装。

虚拟环境非必需项,只是方便管理。

1.2、切换虚拟环境

  • step1: 点击pycharm左上角【File】→【Settings】:


  • step2: 选择step1中的项目→【Python Interpreter】→右上角的设置图标【add】

  • step3: 【Virtualenv Envirionment】→【Existing environment】→【…】下拉选取创建好的虚拟环境中的python.exe即可完成虚拟环境配置。
    注意:创建的虚拟环境目录一般为D:\Anaconda\envs也就是安装的anaconda/envs目录下,博主为jpytorch。
  • step4: 打开pycharm终端,如果终端有显示虚拟环境则表示切换成功。
    如果没有显示,终端输入命令:
conda activate jpytorch

若显示为【PS】如下(博主环境已经成功切换,没有实例图了,所以找了个网图代替供大家参考)而非虚拟环境,下一步再见:

  • step5: 【File】→【Setting】→【Tools】→【Terminal】→【Shell path:】如下选择后下拉按钮选择博主图里的选项C:\Windows\system32\cmd.exe

  • step6: 上述操作完成后重启编辑器。


成功切换。

1.3、安装组件

执行pycharm自动安装YOLO中的requirments.txt,时间可能会久一点。

可能会若存在部分组件自动无法安装的情况,

博主这里列一下部分解决办法。

上图中格式为组件名称+版本要求

  • 方法1:pip安装
    在执行这个方法之前最好是先更新一下:pip install --upgrade
    终端输入:pip install XXX
    xxx表示组件名称:比如上图中的第一个,输入
pip install tensorboard

便会自动安装t组件tensorboard的最新版本,都满足图中要求的版本。


-方法2:源码安装

输入组件名找到组件的源码.whl文件,选择匹配版本进行安装。例如博主的opencv-python>=4.1.2,当时通过方法1也无法安装。
OpenCV下载地址,选择


上图中是博主选择的【版本4.5.5】+【Python3.8】+【win64】。

下载后打开电脑cmd终端,依然使用conda activate jpytorch先切换到YOLO的虚拟环境,

终端进入到openCV的下载目录通过pip安装:

pip install XXX.whl

这里直接在文件目录中通过【control+c】复制.whl的文件名和后缀粘贴在终端后【Enter】。


博主这里以安装的pycuda为例,因为OpenCV当时忘记截图了,pycuda也是.whl文件安装,除了文件名不一样外其余都一模一样。

至此环境配置部署结束。

二、数据集


数据集是博主整理好的YOLO格式的数据集,一共有7959张图片,可根据需要按比例重新划分数据集。

博主是按照721比例划分的数据集给YOLOv5训练。

数据集部分截图:


三、训练

这是博主第一次在win下训练,也是踩了些雷,因为部分参数还是区别于Ubuntu的。

数据集放置目录:

博主是直接在编辑器终端运行的,输入命令(容可能出错):

python train.py --data data/maskYOLO.yaml --cfg yolov5s.yaml --weights '' --batch-size 40

这里博主没有给weights的地址,Ubuntu里边会自行去YOLO官网下载初始权重文件,但win出错了(可能解压过程中的错误吧)。

那就直接在官网下载yolov5s.pt,放置在如下目录(可自定义):

重新输入命令:

>python train.py --weights yolopt/yolov5s.pt --data data/maskYOLO.yaml --cfg yolov5s.yaml  --batch-size 40

有的这一步就是直接开始训练了。
但也可能会报错,因为网络结构的些许不一样导致的错误:


解决办法:修改【utils】中的【loss.py】。
step1:
将图中红色部分代码改为绿色框框中的代码:anchors, shape = self.anchors[i], p[i].shape

step2:

不知道代码位置的可以直接根据图中左侧代码行数去匹配位置。
修改好后再重新运行上述代码:


开始训练。。。

四、检测

首先拷贝训练好的best.pt的相对路径:

终端运行:

python detect.py --weights runs/train/exp10/weights/best.pt


这是博主在网上随意查找的网图哈。


  • 可能BUG1RuntimeError: The size of tensor a (80) must match the size of tensor b (84) at non-singleton dimension 3

这是因为博主最开始在给权重文件的时候给错权重文件了,将权重文件改为训练好的权重文件就好啦。

这个问题比较常见,如果不是终端命令行运行指定了权重文件路径的话,则需要在源码detect.py中修改下图路径为权重路径。

  • 可能BUG2:AttributeError: 'Upsample' object has no attribute 'recompute_scale_factor'

定位到图中红色框框的py文件位置,同样是将红色框框的的代码改为绿色框框代码即可,实质就是将原return()中的第二行代码删掉,当然一起的,也应一块删除。

return F.interpolate(input, self.size, self.scale_factor, self.mode, self.align_corners)

这是因为YOLO版的问题导致的,这里博主没有深究。

完结撒花,,,

五、写在最末

  • 对于刚接触这个的小白同学,如果有什么环境配置部署等问题也可以私信博主;
  • 如果不想自己运行,想要已经跑好的数据集或者权重文件直接提供给YOLO的同学,私信博主(非无偿);
  • 想要coco格式或者voc格式口罩数据集的也可以私信博主(非无偿)。

YOLO5实战口罩检测识别(win下 + 环境部署配置 + 口罩YOLO格式数据集+训练好的权重)相关推荐

  1. 树莓派4B爽上流安装python3的OpenCV(人脸检测识别—门禁“环境搭建篇”)

    树莓派4B安装OpenCV3.4.0人脸检测识别-门禁"环境搭建篇" 前言 一.准备工作 PC端软件 二.搭建树莓派环境 拓展TF内存卡 Tips:换源(python软件源) 修改 ...

  2. Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)

    博客园 首页 新随笔 联系 管理 订阅 <div class="blogStats"><!--done--> 随笔- 556  文章- 38  评论- 77 ...

  3. 阿里云centos7下环境部署和项目部署

    阿里云centos7下环境部署和项目部署系统环境: 阿里云centos7系统 linux下的jdk1.8 linux下的tomcat8 linux下的mysql5.7 jdk1.8的安装 下载jdk官 ...

  4. EMQTT环境部署配置双向认证

    EMQTT环境部署&&配置双向认证 EMQT服务部署 Ubuntu安装EMQTT Docker 搭建EMQ服务 EMQ双向认证配置 EMQ X Broker 是基于高并发的 Erlan ...

  5. 口罩检测识别率惊人,这个Python项目开源了

    作者 | 一颗小树x,CSDN 博主 编辑 | 唐小引 来源 | CSDN 博客 昨天在 GitHub 上看到一个有趣的开源项目,它能检测我们是否有戴口罩,跑起程序测试后,发现识别率挺高的,也适应不同 ...

  6. 自定义win下环境盒子开发-总纲

    0x00 前言 今年的一个想要实现的目标就是制作一个win下的环境盒子,从1月1日开始到现在,目前也获得了一些成果,故这里进行一个思路的记录,避免遗忘以及方便复习. 0x01 架构 主要架构是基于cm ...

  7. c语言人脸口罩检测,使用ModelArts 0代码实现人脸口罩检测

    一.灵感来源 前两天闲逛华为Modelarts AI市场的时候偶然间发现huqi大佬上传的一个有关口罩检测的数据集,突然就想着看见好多大佬写过口罩检测的案例,要不我也玩一把试试.虽然没有大佬们高大上都 ...

  8. windows下环境变量配置后没生效,不重启电脑的解决办法

    本篇文章主要讲解windows配置了环境变量但没有生效的原因及不重启电脑的解决办法 作者:任聪聪 配置环境变量后显示命令不存在,找不到,现象如下. 主要原因 windows配置完毕环境变量,由于某种原 ...

  9. .NET Core开发实战(第10课:环境变量配置提供程序)--学习笔记

    10 | 环境变量配置提供程序:容器环境下配置注入的最佳途径 环境变量的配置提供程序主要适应场景: 1.在 Docker 中运行时 2.在 Kubernetes 中运行时 3.需要设置 ASP.NET ...

最新文章

  1. java创建请求拦截器_80.简单Retrofit+RxJava+日志拦截器结合使用
  2. Python 调用有道翻译api接口翻译外文网站的整篇西班牙文实战演示
  3. (Java多线程)线程状态
  4. 举例详解PHP归并排序的实现
  5. 对照片进行边缘化处理,并将边缘化处理后的结果保存
  6. 文本处理三剑客之sed(流编辑器)
  7. SQL Server中 sysobjects、syscolumns、systypes
  8. NodeJS收发GET和POST请求
  9. 史上最经典的数据库面试题之一
  10. 排序算法1:最快最简单的排序——桶排序(C++版本)
  11. hbase的学习逻辑_HBase-1.0.1学习笔记(二)HBase数据模型
  12. Latex:入门教程
  13. Excel如何批量设置英语句首大写
  14. 如何修复图片清晰度呢?这三款软件不要错过
  15. 复杂网络-小世界网络WS模型
  16. 【MATLAB】创建网格图和曲面图
  17. 计算机打字测速,电脑的打字测速软件分享
  18. 7kbscan御剑版下载及使用
  19. 使用background 的url 引入背景图片失效的问题
  20. 如何书写UserCase

热门文章

  1. theboboy原创 随机生成器 生成伪数据 用来做测试 Java版本
  2. C语言实现--快速排序
  3. 别说我的眼泪你无所谓
  4. 阿里上市后首次员工讲话 马云说了啥?
  5. 2021年度工作总结
  6. ceph RADOS架构 monitor
  7. ets5怎么找到数据文件夹_mac怎么清理磁盘空间?如何找到并清理Mac电脑“其他”文件?...
  8. 从Linux移植到FreeBSD
  9. 我的python学习之路_我的Python入门之路
  10. Windows系统电脑桌面无响应解决方法