软硬件环境

  • ubuntu 18.04 64bit
  • anaconda with 3.7
  • nvidia gtx 1070Ti
  • cuda 10.1
  • pytorch 1.5
  • YOLOv5

YOLOv5环境装windows是什么意思

请参看之前的文章,YOLOv5方针检测

运用COCO数据集

YOLOv5的预练习模型是依据 COCO 数据集,假定自己想去复现下练习进程,能够依照下面的指令

$ python train.py --data coco.yaml --cwindows更新有必要吗fg yolov5s.yaml --weights '' --batch-size 64
yolov5m                                48
yolov5l                                32
yolov5x                                16

COCO的数据集能够通过data文件夹下get_coco2017.sh脚本进行下载,包含图片和lable文件。COCO的数据集实在是太大了,整个压缩包有18G,考虑到自己到的网速还有机器的算力,仍是洗洗睡吧。。。

制造自己的数据集

假定没有对应方针的戳穿数据集,那就只需自己出手收集了,图片到手后,接下来就是艰苦的打标签工作了,这儿运gitee用东西LabelImg,下载地址是

github.com/tzugithubtalin/la…

LabelImg运用Qt做了图形化的界面,操作仍是很便利的,这也是挑选它的理由giti轮胎,它供应了默许的class,假定你不需要这些类型的话,能够将其删去

YOLOv5模型练习

接下来就能够翻开exe文件,点击Open导入图片,按下快捷输入框变小了怎样回事w输入框,选定方针后,会弹出输入框,写上class称谓,就能够了索引符号表示的含义,假定有多个方针,那就持续标

YOLOv5模型练习

labelImg还支撑文件夹的导入,在标完一张后,在左侧挑选Next Image就能够切换到索引的效果及优缺点下一张持续了。输出格局部分,现在labelImg支撑YOLOPascalOVC2种格局,前者标签信息是存储在txt文件中,而索引后者是存储在xml

打完标签后,就能够进行保存了,图片和标签文件咱们分隔索引页是哪一页存放,但是文件名是对应的,仅仅扩ubuntu和linux的区别展名不同

YOLOv5模型练习

毕竟来看看标签文件的内容

YOLOv5模型练习

一行代表一个方针,格局是

clagiteess x_center y_center width height

榜首列是class索引失效的几种状况的索引,计gitlab数从0初步,比如这儿的0代表的是basketball,1代表的是face;后4列是x_center/image_widthy输入框_center/image_heightwidth/image_widthheiUbuntught/image_height,取值规划是0 ~ 1

运用戳穿的数据集进行练习

ROBOFLOW 供应了一些戳穿的数据集,咱们下载其间的口罩数据集进行练习,链接索引超出了数组边界什么意思是 pu输入框怎样调大小blic.roboflow.ai/object-dete…, 假ubuntu体系装置设原网站无法访问的话,能够到下面的链接下载

  • CSDN下载
  • 百度网盘, 提取码:wja4

下载下来是一个压缩包,解压后,文件ubuntu体系夹内的文件结构是这样的

YOLOv5模型练习

其间文件夹train包含了参加练习的图片以及对应的label文件,两者只需扩展名ubuntu怎样读不同算了,现在图片只需105张。咱们将包含数据集的文件夹重命名为mask,存储在yol输入框测试点ov5工程的同级目录下

YOLOv5模型练习

接着批改mask/data.y索引符号aml文件内容为

(base) xugaoxiang@1070Ti:~/Works/github/mask$ cat data.yaml
tragithubin: ../mask/train/images
val: ../mask/valid/images
nc输入框测试点: 2
names: ['mask', 'no-mask']

毕竟批改yolov5/models/yolov5s.yaml,将nc = 80批改为索引失效的几种状况nc = 2,因为数据会集只需maskno-mask2个类别索引页是哪一页

接下来执行练习指令

cd yolov5
python train.py --img 640 --batch 16 --epochs 300 --data ../mask/data.yaml --cfg modelwindows字体被起诉s/yolovgitlab5s.yaml --weights ''

练习完毕后,在weights文件夹下就生成了best.ptlast.pt,到mask/test/images找些图片检验一下

pytgithubhon detect.py --weight weights/best.pt --source ../mask/test/images/1224331650_g_400-w_g_jpg.rf.索引有哪几种类型b816f49e2d84044fc997a8cbd55c347d.jpg

YOLOv5模型练习

YOLOv5模型练习

效果还算ok。感兴趣的话,自己着手试试吧

v3.0版别

许多朋友反响,在练习时呈现下面的差错

YOLOv5模型练习

这个差错是因为python环境中的pyqt引起的,卸载pyqt就好

pip uninstall pyqt5

这儿多说一索引超出了数组边界什么意思句,假定运用的是anaconda的环境,在设备好后,在base的环境中不要去设备任何第三方库。针对不同的项目或许工程,创建独立的虚拟环境,然后设备依托的库,就不会呈现相似的差错了。

其他,在windows上练习模型,假定呈现

OMP: Error #15输入框测试点: Initializing libiomp5md.d输入框测试用例ll, buubuntu指令t found libiomp5md.dll alreadyubuntu20.04装置教程 initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, sinWindowsce it can deggithubrade performance or cause incorrgit指令ect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the enviro索引图nment variable KMP_DUPLICAubuntu指令TE_LIB_OK=TRUE to allow the progGitram to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.cogithub中文官网网页m/software/products/support/.

处理的办法是在train.py文件开头部分,添加句子

import os
os.索引的效果及优缺点environ['KMP_DUPLICATE_LIB_OK'] = 'Tgiti轮胎rue'

参看资料

  • YOLOv5环境树立
  • github.com/ultralytics…
  • COCO数据集