yolov5训练部署全链路教程

这篇具有很好参考价值的文章主要介绍了yolov5训练部署全链路教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Yolov5简介

YOLOv5 模型是 Ultralytics 公司于 2020 年 6 月 9 日公开发布的。YOLOv5 模型是基于 YOLOv3 模型基础上改进而来的,有 YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 四个模型。YOLOv5 相比YOLOv4 而言,在检测平均精度降低不多的基础上,具有均值权重文件更小,训练时间和推理速度更短的特点。YOLOv5 的网络结构分为输入端BackboneNeck、Head 四个部分。本教程针对目标检测算法yolov5的训练和部署到EASY-EAI-Nano(RV1126)进行说明,而数据标注方法可以参考我们往期的文章《Labelimg的安装与使用》。以下为YOLOv5训练部署的大致流程:

yolov5模型部署,深度学习,目标检测,人工智能

2. 准备数据集

2.1 数据集下载

本教程以口罩检测为例,数据集的百度网盘下载链接为:

https://pan.baidu.com/s/1vtxWurn1Mqu-wJ017eaQrw 提取码:6666

解压完成后得到以下三个文件:

yolov5模型部署,深度学习,目标检测,人工智能

2.2 生成路径列表

在数据集目录下执行脚本list_dataset_file.py:

执行现象如下图所示:

yolov5模型部署,深度学习,目标检测,人工智能

得到训练样本列表文件train.txt和验证样本列表文件valid.txt,如下图所示:

yolov5模型部署,深度学习,目标检测,人工智能

3. 下载yolov5训练源码

通过git工具,在PC端克隆远程仓库(注:此处可能会因网络原因造成卡顿,请耐心等待)

git clone https://github.com/EASY-EAI/yolov5.git

yolov5模型部署,深度学习,目标检测,人工智能

得到下图所示目录:

yolov5模型部署,深度学习,目标检测,人工智能

4. 训练算法模型

切换到yolov5的工作目录,接下来以训练一个口罩检测模型为例进行说明。需要修改data/mask.yaml里面的train.txt和valid.txt的路径。

yolov5模型部署,深度学习,目标检测,人工智能

执行下列脚本训练算法模型:

python train.py --data mask.yaml --cfg yolov5s.yaml --weights "" --batch-size 64

开始训练模型,如下图所示:

yolov5模型部署,深度学习,目标检测,人工智能

关于算法精度结果可以查看./runs/train/results.csv获得。

5. 在PC端进行模型预测

训练完毕后,在./runs/train/exp/weights/best.pt生成通过验证集测试的最好结果的模型。同时可以执行模型预测,初步评估模型的效果:

python detect.py --source data/images --weights ./runs/train/exp/weights/best.pt --conf 0.5

yolov5模型部署,深度学习,目标检测,人工智能

6. pt模型转换为onnx模型

算法部署到EASY-EAI-Nano需要转换为RKNN模型,而转换RKNN之前可以把模型先转换为ONNX模型,同时会生成best.anchors.txt:

python export.py --include onnx --rknpu RV1126 --weights ./runs/train/exp/weights/best.pt

生成如下图所示:

yolov5模型部署,深度学习,目标检测,人工智能

7. 转换为rknn模型环境搭建

onnx模型需要转换为rknn模型才能在EASY-EAI-Nano运行,所以需要先搭建rknn-toolkit模型转换工具的环境。当然tensorflow、tensroflow lite、caffe、darknet等也是通过类似的方法进行模型转换,只是本教程onnx为例。

7.1 概述

模型转换环境搭建流程如下所示:

yolov5模型部署,深度学习,目标检测,人工智能

7.2 下载模型转换工具

为了保证模型转换工具顺利运行,请下载网盘里”AI算法开发/RKNN-Toolkit模型转换工具/rknn-toolkit-v1.7.1/docker/rknn-toolkit-1.7.1-docker.tar.gz”。网盘下载链接:https://pan.baidu.com/s/1LUtU_-on7UB3kvloJlAMkA 提取码:teuc

7.3 把工具移到ubuntu18.04

把下载完成的docker镜像移到我司的虚拟机ubuntu18.04的rknn-toolkit目录,如下图所示:

yolov5模型部署,深度学习,目标检测,人工智能

7.4 运行模型转换工具环境

7.4.1 打开终端

在该目录打开终端:

yolov5模型部署,深度学习,目标检测,人工智能

7.4.2 加载docker镜像

执行以下指令加载模型转换工具docker镜像:

docker load --input /home/developer/rknn-toolkit/rknn-toolkit-1.7.1-docker.tar.gz

7.4.3 进入镜像bash环境

执行以下指令进入镜像bash环境:

docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb rknn-toolkit:1.7.1 /bin/bash

现象如下图所示:

yolov5模型部署,深度学习,目标检测,人工智能

 

7.4.4 测试环境

输入“python”加载python相关库,尝试加载rknn库,如下图环境测试成功:文章来源地址https://www.toymoban.com/news/detail-666526.html

到了这里,关于yolov5训练部署全链路教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • yolov5训练pt模型并转换为rknn模型,部署在RK3588开发板上——从训练到部署全过程

    目录 一、任务介绍 二、实验过程 2.1 使用正确版本的yolov5进行训练(平台:x86机器windows系统) 2.2 best.pt转换为best.onnx(平台:x86机器window系统) 2.3 best.onnx转换为best.rknn(平台:x86机器Linux系统) 2.3.1 环境准备和工具包安装 2.3.2 onnx转换为rknn 2.4 RK3588部署rknn实现NPU加速(平台:

    2024年02月03日
    浏览(48)
  • 基于深度学习的跌倒检测系统(UI界面+YOLOv5+训练数据集)

    摘要:跌倒监测系统用于智能化监测是否有行人跌倒,通过YOLOv5的深度学习技术对视频、图片、摄像头等画面进行跌倒检测,分析并安全提醒。在介绍算法原理的同时,给出 P y t h o n 的实现代码、 P y Q t 的UI界面及训练数据集。跌倒监测系统主要用于日常生活中行人跌倒情况

    2023年04月18日
    浏览(52)
  • 深度学习—Yolov5模型配置

    搭建Yolov5要注意两个大问题:一个是在搭建YOLOv5前的环境准备,另一个是前部环境搭好后对YOLOv5的配置,运行YOLOv5自带的检验程序,便于后续的处理。 ps: 搭建环境一定要细心 + 耐心 个人配置如下: Python 3.7 + CUDA 11.6 + CUDNN 8.4.0 + Torch 1.12.0 具体配置过程请跳转下列链接: 深度

    2024年02月16日
    浏览(52)
  • 基于YOLOv5的停车位检测系统(清新UI+深度学习+训练数据集)

    摘要:基于YOLOv5的停车位检测系统用于露天停车场车位检测,应用深度学习技术检测停车位是否占用,以辅助停车场对车位进行智能化管理。在介绍算法原理的同时,给出 P y t h o n 的实现代码、训练数据集以及 P y Q t 的UI界面。博文提供了完整的Python代码和使用教程,适合新

    2024年02月11日
    浏览(48)
  • 本地Pycharm连接远程服务器训练模型教程-yolov5为例-傻瓜式保姆级教程!!建议收藏✨✨!

    本篇文章解决的问题: 本地pycharm 与云服务器/实验室服务器进行远程连接跑实验训练、同步本地与云服务器的全部或者部分文件。 在这之前需要做的的工作: 1.服务器上已经创建好虚拟环境(不会的可以看下篇文章):使用云GPU进行yolov5的训练_gpu训练云服务器_耿鬼喝椰汁的

    2024年02月06日
    浏览(95)
  • 交通信号标志识别软件(Python+YOLOv5深度学习模型+清新界面)

    摘要:交通信号标志识别软件用于交通信号标志的检测和识别,利用机器视觉和深度学习智能识别交通标志并可视化记录,以辅助无人驾驶等。本文详细介绍交通信号标志识别软件,在介绍算法原理的同时,给出 P y t h o n 的实现代码以及 P y Q t 的UI界面。在界面中可以选择各

    2024年02月02日
    浏览(47)
  • 吸烟行为检测系统(Python+YOLOv5深度学习模型+清新界面)

    摘要:吸烟行为检测软件用于日常场景下吸烟行为监测,快速准确识别和定位吸烟位置、记录并显示检测结果,辅助公共场所吸烟安全报警等。本文详细介绍吸烟行为检测系统,在介绍算法原理的同时,给出 P y t h o n 的实现代码、训练数据集以及 P y Q t 的UI界面。在界面中可

    2023年04月12日
    浏览(52)
  • 行人车辆检测与计数系统(Python+YOLOv5深度学习模型+清新界面)

    摘要:行人车辆检测与计数系统用于交通路口行人及车辆检测计数,道路人流量、车流量智能监测,方便记录、显示、查看和保存检测结果。本文详细介绍行人车辆检测,在介绍算法原理的同时,给出 P y t h o n 的实现代码、 P y Q t 的UI界面以及训练数据集。在界面中可以选择

    2024年02月01日
    浏览(50)
  • 智能火焰与烟雾检测系统(Python+YOLOv5深度学习模型+清新界面)

    摘要:智能火焰与烟雾检测系统用于智能日常火灾检测报警,利用摄像头画面实时识别火焰与烟雾,另外支持图片、视频火焰检测并进行结果可视化。本文详细介绍基于智能火焰与烟雾检测系统,在介绍算法原理的同时,给出 P y t h o n 的实现代码以及 P y Q t 的UI界面。在界面

    2023年04月17日
    浏览(47)
  • 【机器学习】全网最全模型评价指标(性能指标、YOLOv5训练结果分析、轻量化指标、混淆矩阵详解)【基础收藏】

    在目标检测任务中,我们常用的评价指标一般有两种,一种是使用Pascal VOC的评价指标,一种是更加严格的COCO评价指标,一般后者会更常用点。 如何判断一个检测结果是否正确。目前最常用的方式就是去计算检测框与真实框的IOU,然后 根据IOU去判别两个框是否匹配 。 常见指

    2024年02月04日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包