文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

YOLOV5 代码复现以及搭载服务器运行

2023-09-04 13:58

关注

文章目录


在前面文章中提到,目标检测有两种方式,一种是one_stage(单阶段)如YOLO 一种是two_stage(双阶段)如Faster_Rcnn,Mask_Rcnn。之前介绍了Faster_Rcnn,这篇文章主要介绍YOLOV5 代码复现过程,以及配置文件的修改。


YOLO是目标检测的一种网络框架,检测速度非常快,适合做一些实时检测,YOLO现在经过几代版本的更迭,现在已经到了V5版本,V5提供了5l,5m,5s,5x几种版本,这篇文章使用5s的模型。

大家可以自行到百度网盘进行下载,附链接:

链接:百度网盘
提取码:qnn5
在这里插入图片描述

在上篇文章中,介绍了xml转txt文件的代码过程,可以自行查看,附链接:
代码
转换之后,还可以分成训练集跟测试集
在这里插入图片描述
images 放置文件
labels 放置txt文件
这里要注意的是,文件夹名称一定为images跟labels,原代码规定如下:

def img2label_paths(img_paths):    # Define label paths as a function of image paths    sa, sb = os.sep + 'images' + os.sep, os.sep + 'labels' + os.sep  # /images/, /labels/ substrings    return [sb.join(x.rsplit(sa, 1)).rsplit('.', 1)[0] + '.txt' for x in img_paths]

1.data下的yaml

在这里插入图片描述
修改data目录下面的VOCyaml文件,

修改前:path: ../datasets/VOCtrain: # train images (relative to 'path')  16551 images  - images/train2012  - images/train2007  - images/val2012  - images/val2007val: # val images (relative to 'path')  4952 images  - images/test2007test: # test images (optional)  - images/test2007修改后train: # train images (relative to 'path')  16551 images  - /mnt/wu/images/trainval: # val images (relative to 'path')  4952 images  - /mnt/wu/images/val

这里修改数据路径
在这里插入图片描述

修改前:nc: 20  # number of classesnames: ['aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog',        'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor']  # class names修改后:nc: 4  # number of classesnames: ["Traffic_Light_go","Traffic_Light_stop","Traffic_Light_warning",'Traffic_Light_ambiguous'] # class names

这里更改nc跟标签
nc:表示你训练的数据是几分类。
在这里插入图片描述

2.models下的yaml

在这里插入图片描述
这里使用的是5s的模型,更改yolov5s.yaml文件
在这里插入图片描述
这里只需要更改nc可以,代表你训练的数据是几分类。

3.训练train

在这里插入图片描述

  1. 更改YOLOV5s模型的路径
parser.add_argument('--weights', type=str, default=ROOT / 'yolov5s.pt', help='initial weights path')

更改上面修改过models的yaml文件路径

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

更改上面修改过data的yaml文件路径

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

训练批次

parser.add_argument('--epochs', type=int, default=50)

批次大小,batch_size 如果在训练过程中出现显存不足可以降低batch_size的大小

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

像YOLO这种深度框架,最好搭载服务器进行训练,博主使用的是矩池云,附链接矩池云
附邀请码:BQlYmrQhDiex1lZ

1.上传数据

租服务器之前,先上传数据,数据很大的话,租服务器之后上传会浪费时间,还费钱。
进入我的网盘,上传数据。
在这里插入图片描述

2.租服务器

这里选择显卡型号,进行租用。
在这里插入图片描述
环境选择yolov5环境,省去配环境的环节。
在这里插入图片描述

3.pycharm连接服务器

租用好之后,进入租用界面,显示租用服务器的详细信息。
请添加图片描述
这里使用ssh连接。
请添加图片描述

1.添加ssh

在这里插入图片描述
根据租用服务器的ssh链接,输入主机,用户名,端口。
请添加图片描述

2.输入密码

请添加图片描述

3.配置服务器环境路径跟代码映射路径

在这里插入图片描述
打开链接,进入终端。
请添加图片描述
输入conda env list查看环境路径
请添加图片描述

配置环境路径,代码映射路径
mnt路径下就是自己的网盘路径。
请添加图片描述
如图所示,配置完成。
请添加图片描述

4.解压数据

打开终端,cd到压缩数据集目录下,unzip 文件名 进行解压,如下图所示:

请添加图片描述

5.开始训练

等待代码全部上传至服务器之后,按照服务器数据集路径,修改data下面的yaml文件中数据集路径,就可以进行训练了。

如下图所示:就是搭载服务器进行训练。
请添加图片描述
请添加图片描述
如图所示,开始训练。
请添加图片描述
请添加图片描述
训练结束。
请添加图片描述
这个路径下就是训练产生的权值文件。
请添加图片描述
在这里插入图片描述
best.ph 是最好的权值文件。
last.ph 是最后一次训练的权值文件。

6.文件下载到本地

我们可以通过winscp这个软件,将训练的好的文件夹,下载到本地
1.输入主机名,端口号,用户名,密码,连接服务器
请添加图片描述
如图所示,连接成功
请添加图片描述
2.找到文件夹,下载到本地。请添加图片描述

我们可以根据训练好的权重进行测试。
测试代码detect.py
在这里插入图片描述
权重文件路径

 parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'runs/train/exp6/weights/best.pt', help='model path(s)')

测试图片,视频路径,0表示开启摄像头。

parser.add_argument('--source', type=str, default="traffic.mp4", help='file/dir/URL/glob, 0 for webcam')

设置好之后就可以就行测试。
请添加图片描述
请添加图片描述
请添加图片描述
测试完成,会显示保存路径。
打开文件夹,查看效果。
请添加图片描述

以上就是YOLOV5 搭载服务器复现的全部过程,大家在复现过程中,遇到的问题,可以反馈到评论区。

来源地址:https://blog.csdn.net/Lightismore/article/details/125057597

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯