最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

YOLOV5模型运行

维修 admin 29浏览 0评论

YOLOV5模型运行

1安装包

如果已经有了torch-cuda环境直接在环境下

pip install -r requirements.txt

2解决报错代码

    raise ImportError("Failed to initialize: {0}".format(exc)) from exc
ImportError: Failed to initialize: Bad git executable.
The git executable must be specified in one of the following ways:- be included in your $PATH- be set via $GIT_PYTHON_GIT_EXECUTABLE- explicitly set via git.refresh()All git commands will error until this is rectified.This initial warning can be silenced or aggravated in the future by setting the
$GIT_PYTHON_REFRESH environment variable. Use one of the following values:- quiet|q|silence|s|none|n|0: for no warning or exception- warn|w|warning|1: for a printed warning- error|e|raise|r|2: for a raised exceptionExample:export GIT_PYTHON_REFRESH=quietProcess finished with exit code 1

在导入os后加入一行,

import os
os.environ["GIT_PYTHON_REFRESH"] = "quiet"

3修改解析参数代码

        在train脚本中,def parse_opt(known=False):方法。

3.1修改weight--模型预训练权重

        根目录下yolov5-master,创建weights文件夹,如果没有的话,把预训练参数yolov5s.pt、yolov5x.pt等放入。

    parser.add_argument('--weights', type=str, default=ROOT / 'weights/yolov5x.pt', help='initial weights path')

3.2修改cfg--模型的配置文件

    parser.add_argument('--cfg', type=str, default=ROOT / 'models/yolov5x.yaml', help='model.yaml path')

        路径在yolov5-master/models下ymal文件中,设好想加载的,修改其中参数,nc你的数据中的类别数。

3.3修改data--数据的配置文件

        路径在yolov5-master/data下ymal文件中。

    parser.add_argument('--data', type=str, default=ROOT / 'data/break.yaml', help='dataset.yaml path')

我的是VOC.yaml改的,nc类别数,其他为数据集路径,名字是各样本类别。 

nc: 9
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]train: D:\DBSY\yolov5-master\yolov5-master\data\VOC1014_9\train\imagesval: D:\DBSY\yolov5-master\yolov5-master\data\VOC1014_9\val\imagestest: ..\datasets\VOCdevkit/valnames:0: powerdirty1: powerdirtyl2: powerdirtys3: lightdirty4: lightdirtys5: powerbreakt6: powerbreakb7: powerbreak8: lightbreakx

3.4修改workers--模型工作的线程

        这个参数设置为8可能报错,看自己电脑,我一般设为0和2

    parser.add_argument('--workers', type=int, default=8, help='max dataloader workers (per RANK in DDP mode)')

3.5修改其他的参数设置

3.4.1 hyp

        超参数设置,这个默认就可以。

    parser.add_argument('--hyp', type=str, default=ROOT / 'data/hyps/hyp.scratch-low.yaml', help='hyperparameters path')

3.4.2 epochs

        模型训练的轮次,这个设置300-500就可以。

parser.add_argument('--epochs', type=int, default=300, help='total training epochs')

3.4.3 batch-size

        每次放入模型中几张影像,一起训练。这个参数取值受到显存限制。设置越高,模型训练的时间就会减少,同时也会影像训练的精度,不是越高越好,越低越不好。设置4、8、16都可行。

    parser.add_argument('--batch-size', type=int, default=16, help='total batch size for all GPUs, -1 for autobatch')

3.4.4 imgsz

        输入图像的大小,默认640,可以设为1280。图像越大,效果越好。

    parser.add_argument('--imgsz', '--img', '--img-size', type=int, default=640, help='train, val image size (pixels)')

3.4.5 optimizer

        优化器设置,这个默认是SGD,也可以混合着来。

    parser.add_argument('--optimizer', type=str, choices=['SGD', 'Adam', 'AdamW'], default='SGD', help='optimizer')

4 数据

        我们在数据的配置文件中填了数据路径,直接把数据复制到YOLOV5\yolov5-master\datasets

YOLOV5模型运行

1安装包

如果已经有了torch-cuda环境直接在环境下

pip install -r requirements.txt

2解决报错代码

    raise ImportError("Failed to initialize: {0}".format(exc)) from exc
ImportError: Failed to initialize: Bad git executable.
The git executable must be specified in one of the following ways:- be included in your $PATH- be set via $GIT_PYTHON_GIT_EXECUTABLE- explicitly set via git.refresh()All git commands will error until this is rectified.This initial warning can be silenced or aggravated in the future by setting the
$GIT_PYTHON_REFRESH environment variable. Use one of the following values:- quiet|q|silence|s|none|n|0: for no warning or exception- warn|w|warning|1: for a printed warning- error|e|raise|r|2: for a raised exceptionExample:export GIT_PYTHON_REFRESH=quietProcess finished with exit code 1

在导入os后加入一行,

import os
os.environ["GIT_PYTHON_REFRESH"] = "quiet"

3修改解析参数代码

        在train脚本中,def parse_opt(known=False):方法。

3.1修改weight--模型预训练权重

        根目录下yolov5-master,创建weights文件夹,如果没有的话,把预训练参数yolov5s.pt、yolov5x.pt等放入。

    parser.add_argument('--weights', type=str, default=ROOT / 'weights/yolov5x.pt', help='initial weights path')

3.2修改cfg--模型的配置文件

    parser.add_argument('--cfg', type=str, default=ROOT / 'models/yolov5x.yaml', help='model.yaml path')

        路径在yolov5-master/models下ymal文件中,设好想加载的,修改其中参数,nc你的数据中的类别数。

3.3修改data--数据的配置文件

        路径在yolov5-master/data下ymal文件中。

    parser.add_argument('--data', type=str, default=ROOT / 'data/break.yaml', help='dataset.yaml path')

我的是VOC.yaml改的,nc类别数,其他为数据集路径,名字是各样本类别。 

nc: 9
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]train: D:\DBSY\yolov5-master\yolov5-master\data\VOC1014_9\train\imagesval: D:\DBSY\yolov5-master\yolov5-master\data\VOC1014_9\val\imagestest: ..\datasets\VOCdevkit/valnames:0: powerdirty1: powerdirtyl2: powerdirtys3: lightdirty4: lightdirtys5: powerbreakt6: powerbreakb7: powerbreak8: lightbreakx

3.4修改workers--模型工作的线程

        这个参数设置为8可能报错,看自己电脑,我一般设为0和2

    parser.add_argument('--workers', type=int, default=8, help='max dataloader workers (per RANK in DDP mode)')

3.5修改其他的参数设置

3.4.1 hyp

        超参数设置,这个默认就可以。

    parser.add_argument('--hyp', type=str, default=ROOT / 'data/hyps/hyp.scratch-low.yaml', help='hyperparameters path')

3.4.2 epochs

        模型训练的轮次,这个设置300-500就可以。

parser.add_argument('--epochs', type=int, default=300, help='total training epochs')

3.4.3 batch-size

        每次放入模型中几张影像,一起训练。这个参数取值受到显存限制。设置越高,模型训练的时间就会减少,同时也会影像训练的精度,不是越高越好,越低越不好。设置4、8、16都可行。

    parser.add_argument('--batch-size', type=int, default=16, help='total batch size for all GPUs, -1 for autobatch')

3.4.4 imgsz

        输入图像的大小,默认640,可以设为1280。图像越大,效果越好。

    parser.add_argument('--imgsz', '--img', '--img-size', type=int, default=640, help='train, val image size (pixels)')

3.4.5 optimizer

        优化器设置,这个默认是SGD,也可以混合着来。

    parser.add_argument('--optimizer', type=str, choices=['SGD', 'Adam', 'AdamW'], default='SGD', help='optimizer')

4 数据

        我们在数据的配置文件中填了数据路径,直接把数据复制到YOLOV5\yolov5-master\datasets

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论