• YOLOV5模型运行


    1安装包

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

    pip install -r requirements.txt

    2解决报错代码

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

    在导入os后加入一行,

    1. import os
    2. 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类别数,其他为数据集路径,名字是各样本类别。 

    1. nc: 9
    2. # 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, ..]
    3. train: D:\DBSY\yolov5-master\yolov5-master\data\VOC1014_9\train\images
    4. val: D:\DBSY\yolov5-master\yolov5-master\data\VOC1014_9\val\images
    5. test: ..\datasets\VOCdevkit/val
    6. names:
    7. 0: powerdirty
    8. 1: powerdirtyl
    9. 2: powerdirtys
    10. 3: lightdirty
    11. 4: lightdirtys
    12. 5: powerbreakt
    13. 6: powerbreakb
    14. 7: powerbreak
    15. 8: 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

  • 相关阅读:
    【爬虫实战】利用代理爬取电商数据
    操作系统实验三 进程间通信
    TCP协议面试灵魂10问,建议收藏~
    java计算机毕业设计付费自习室管理系统源码+mysql数据库+系统+lw文档+部署
    【C++进阶】:C++类型转换
    代码以功能为单位
    闲聊电脑(7)常见故障排查
    [React] react-redux基本使用
    一文搞懂设计模式之代理模式
    深入理解左倾红黑树 | 京东物流技术团队
  • 原文地址:https://blog.csdn.net/qq_69854365/article/details/134004163