如何使用yolo深度学习模型

前言:出于对瞄准类游戏的热爱,想做一个比较科技的辅助器,了解到关于python的yolo训练模型,花了两天时间参考无数网页,跌跌撞撞完成了yolo程序的搭建,记录一下过程,以后方便搭建

目录

准备工具:

1. 开始工作:

1.PyTorch环境配置及安装

2.在pycharm配置环境,Setting->Project Interpreter->Add Python Interpreter

 3.下载yolov5项目

4.项目结构

5.启动detect文件

2.训练自己的样本

1.收集训练图片样本

2.收集训练标签样本

3.修改训练集配置文件

4.修改train.py训练脚本

5.修改detect.py检测脚本

6.关键代码

7.运行train.py

8.运行detect.py


准备工具:

1.安装python开发工具,Pycharm,我用的是试用版,官网下载。

2.安装python版本管理工具,用于切换python版本。Anaconda开源的,安装方法在下面的1.1网址内

1. 开始工作:

1.PyTorch环境配置及安装

PyTorch 是一种用于构建深度学习模型的功能完备框架,是一种通常用于图像识别和语言处理等应用程序的机器学习

安装重点

python用3.7版本

Pytorch选择上,如果你的电脑有2080ti或以上显卡的选择用CUDA,没有的话像笔者一样用CPU

为Anaconda添加国内镜像源,速度嘎嘎的快

参考这个文章:PyTorch环境配置及安装_pytorch配置_饰一的博客-CSDN博客

2.在pycharm配置环境,Setting->Project Interpreter->Add Python Interpreter

Interpreter选择当前环境的python.py,输入>conda info --envs 带*号的文件夹里面找到python.py

 3.下载yolov5项目

登录GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

并下载到本地,

4.项目结构

使用pycharm打开该项目,我们先了解下项目结构,以便于我们修改配置文件

/yolov5

    /data 训练数据集文件夹

         /hyps 超参配置文件,用于数据增强

         /images  yolo开发员用于测试数据,用于参考

         coco.yaml yolo开发员自己写的训练集配置文件,用于参考

     /models 模型文件夹,存放权重文件

         yolo~.yaml  权重文件,权重越高,采样概率越大

     /utils  工具包

     train.py  用于训练数据

     detect.py  训练完后,用来测试数据

5.启动detect文件

因为下载的yolo项目,开发员已经训练好的,不需要再次训练,直接detect即可

期间有很多module缺失报错,使用下面的命令安装包

pip install 【包名】 -i https://pypi.tuna.tsinghua.edu.cn/simple

如果包冲突,可以使用pip uninstall 【包名】,pip install --upgrade 【包名】

至此yolov5运行完毕。接下来说说怎么训练自己的训练样本。

2.训练自己的样本

1.收集训练图片样本

以笔者为例,打算测试百里的自瞄,在游戏里把一段百里对线鲁班视频截屏下来,大概20秒,

使用Convert To JPG转成一帧帧的图片,放在该目录下D:\yolo_v5\datasets\images\train

2.收集训练标签样本

python下载图片提取标签的工具>pip install labelimg,运行>labelim

百度一下,打上标签【cute】,按顺序取120张图片转为标签文件存放在D:\yolo_v5\datasets\labels\train

 

3.修改训练集配置文件

由于改了训练样本的位置,也需要改一下配置,复制coco.yaml,自定义文件名

内容改为这样:

train: D:\yolo_v5\datasets\images\train  # train images (relative to 'path') 128 images
val: D:\yolo_v5\datasets\images\train  # val images (relative to 'path') 128 images
nc: 1  # 多少个类数目,我这里只有一个类名
names: ['cute']  # 类名

4.修改train.py训练脚本

    parser.add_argument('--data', type=str, default=ROOT / 'data/自定义文件.yaml', help='dataset.yaml path')#配置新的训练集配置文件
   parser.add_argument('--epochs', type=int, default=50)#电脑运行太慢了,我只设置了50,也就是重复跑50次训练样本

parser.add_argument('--batch-size', type=int, default=8, help='total batch size for all GPUs, -1 for autobatch')#电脑运行太慢了,设置为一次性随机训练8张图片

    parser.add_argument('--imgsz', '--img', '--img-size', type=int, default=640, help='inference size h,w')#电脑运行太慢了,将图像缩小成 640×640 大小进行训练,可以设置格式例[720,540]

     parser.add_argument('--device', default='cpu', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')#默认是cuda,没有显卡,所以设置为cpu

5.运行train.py

训练时间取决于电脑配置,还有训练次数epoch和batch数量

训练完成后在/runs文件夹下生成/exp【周期】文件夹,并在该文件夹下生成results.csv文件

打开该文件,可以看到训练结果

  • GIoU:推测为GIoU损失函数均值,越小方框越准;

  • Objectness:推测为目标检测loss均值,越小目标检测越准;

  • Classification:推测为分类loss均值,越小分类越准;

  • Precision:精度(找对的正类/所有找到的正类

6.修改detect.py检测脚本

    parser.add_argument('--source', type=str, default='D:/yolo_v5/datasets/cute.mp4', help='file/dir/URL/glob, 0 for webcam')#用于测试的视频路径

    parser.add_argument('--data', type=str, default=ROOT / 'data/cute.yaml', help='(optional) dataset.yaml path')#训练集位置

8.运行detect.py

 

6.关键代码

上面的只是视频识别,接下来要实机展示

先上业务逻辑型代码。

还没做到这一步

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值