发财

  • 一、环境搭建
    • 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. flutter 类似日期选择器控件_一切皆组件的Flutter,安能辨我是雄雌
  2. 编程珠玑第八章——习题10查找数组中总和最接近0的子数组
  3. 【MORE协议】基于MORE的改进协议设计的MATLAB仿真
  4. 从左边列表复制到右边列表html,JQ实现左侧列表内容移动至右侧列表出现的问题...
  5. 龙芯2k按键中断驱动_外部中断按键驱动
  6. pgsql怎么从interval中取出数字_tp6中swoole扩展websocket的使用
  7. 程序员经验分享:Android高级工程师系列学习路线介绍,面试必备
  8. 定时器name冲突会报错吗_部落冲突:冬季版本即将更新,多个超级兵种被曝光,会上线吗?...
  9. 电脑如何录制gif动图
  10. svn取消文件夹图标_SVN文件夹或文件不显示图标解决方法
  11. 手把手教你如何生成自己的二维码
  12. 泰勒公式的展开细节解析
  13. CAD等分不显示等分点
  14. HYPERLEDGER FABRIC网络搭建之network e2ecli_default not found
  15. java推送叮叮消息,叮叮叮!请及时签收入门学习Java导航路线
  16. 技术博客1鸿蒙系统和安卓的区别有哪些
  17. 赋能新零售,Stratifyd亮相Smart Retail智慧零售年度峰会
  18. 东北大学计算机组成实验报告,东北大学计算机组成原理实验三
  19. 没有python基础直接学爬虫_只针对 Python 爬虫,该如何学习?
  20. 【C 语言】文件操作 ( remove 函数删除文件 | rename 函数重命名文件 | 代码示例 )

热门文章

  1. html如何做banner点击按钮下一张,banner.html
  2. ansible playbook 添加具有sudo (root)权限的用户
  3. 编译原理——确定有穷自动机的化简-分割法
  4. Virtualbox下使用virt-p2v
  5. hive建立内部表映射hbase_Hive 建外链表到 Hbase(分内部表、外部表两种方式)
  6. option43选项
  7. 基于云查杀的PC游戏反外挂
  8. 支付宝启用人工智能客服 能力媲美大学生
  9. jQuery—下拉菜单
  10. websocket 实现 手机/平板 控制 大屏Demo