保姆级官方yolov7训练自己的数据集及项目部署详解

目录
  • 前言
  • 第一步 数据集准备
  • 第二步 train.py载入自己的数据集并训练
  • 第三步 将训练好的pt文件做成接口调用
  • 总结

前言

首先,先说明我只是初步接触yolov7,写这篇文章的主要目的是可以让大家快速应用自己的数据集进行训练。没有接触过yolov5也没有关系,该篇文章会逐步进行演示如何训练。

第一步 数据集准备

首先确保你有labelimg标图软件,若无,需要自行去下一个并看一下标图教程。

当你已经标注完成,获得了img以及相对应的xml之后(如图)

接下来就是可选择项:是否需要图像增强来获取更多样本,如需要点击这里下载,直接用enhance_img.py去增强。之后我的习惯是每有一个项目需要训练,则会新建一个文件夹,项目存放的文件如图:

下面ImageSets\Main用于存放后续脚本文件划分训练集测试集的相对应的train.txt,test.txt。hyp.scratch.p5.yaml为yolov7的超参设置,可以直接从yolov7\data下面去拷过来放到你项目里。icon.yaml为你要所要训练的类别和相应的类,同时也会写上实际训练时训练数据和测试数据。该文件如下图。

Main.py就是划分你的数据为训练集和测试集.txt的脚本。整体新建的项目目录就是这样。下面说一下操作流程:1 首先确保是该项目目录方式 2 运行main.py脚本文件得到了ImageSets\Main下面的train.txt,test.txt。3 在yolov7的根目录下运行xml2txt脚本文件。main.py xml2txt.py文件点击这里下载 注意要将该文件的类和项目名改成自己的。如图:

此时,我们的数据准备阶段已经完成,项目目录如图:

第二步 train.py载入自己的数据集并训练

红色箭头和红框就是常见改动的地方,改动后就可以训练了。

第三步 将训练好的pt文件做成接口调用

在等待训练完成之后,就会在runs/train下面获得训练的best.pt,你可以拿着这个pt去做接口使用了。首先,在自己的项目里使用必须要确保yolov7根目录下的models和utils文件夹放到了你的项目根目录。然后下载model_import.py 点击这里下载 嵌入你的任何项目路径下调用predict函数就可以输出检出结果了。

总结

到此这篇关于保姆级官方yolov7训练自己的数据集及项目部署的文章就介绍到这了,更多相关yolov7训练自己的数据集内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 关于yolov5的一些简单说明(txt文件、训练结果分析等)

    目录 一.yolo中txt文件的说明: 二.yolo跑视频.图片文件的格式: 三.yolov5训练结果不好的原因: 四.yolov5训练结果(train文件)分析 总结 一.yolo中txt文件的说明: 二.yolo跑视频.图片文件的格式: 三.yolov5训练结果不好的原因: 1. 欠拟合: 在训练集上表现很差,测试集上表现也很差的现象可能是欠拟合导致的,是因为泛化能力太强,误识别率较高解决办法: 1)增加数据集的正样本数, 增加主要特征的样本数量 2)增加训练次数 3)减小正则化参数 2.

  • 保姆级官方yolov7训练自己的数据集及项目部署详解

    目录 前言 第一步 数据集准备 第二步 train.py载入自己的数据集并训练 第三步 将训练好的pt文件做成接口调用 总结 前言 首先,先说明我只是初步接触yolov7,写这篇文章的主要目的是可以让大家快速应用自己的数据集进行训练.没有接触过yolov5也没有关系,该篇文章会逐步进行演示如何训练. 第一步 数据集准备 首先确保你有labelimg标图软件,若无,需要自行去下一个并看一下标图教程. 当你已经标注完成,获得了img以及相对应的xml之后(如图) 接下来就是可选择项:是否需要图像增强

  • C#使用TensorFlow.NET训练自己的数据集的方法

    今天,我结合代码来详细介绍如何使用 SciSharp STACK 的 TensorFlow.NET 来训练CNN模型,该模型主要实现 图像的分类 ,可以直接移植该代码在 CPU 或 GPU 下使用,并针对你们自己本地的图像数据集进行训练和推理.TensorFlow.NET是基于 .NET Standard 框架的完整实现的TensorFlow,可以支持 .NET Framework 或 .NET CORE , TensorFlow.NET 为广大.NET开发者提供了完美的机器学习框架选择. Sc

  • python 使用Yolact训练自己的数据集

    可能是由于yolact官方更新过其项目代码,所以网上其他人的yolact训练使用的config文件和我的稍微有区别.但总体还是差不多的. 1:提前准备好自己的数据集 使用labelme来制作分割数据集,但是得到的是一个个单独的json文件.需要将其转换成coco. labelme2coco.py如下所示(代码来源:github链接): import os import json import numpy as np import glob import shutil from sklearn.m

  • gaussdb 200安装 data studio jdbc idea链接保姆级安装步骤

    安装步骤 所使用linux为:openEuler-20.03-LTS-x86_64 openEuler下载地址 修改本机的ip地址 vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DE

  • Anaconda+Pycharm+Pytorch虚拟环境创建(各种包安装保姆级教学)

    目录 前言 Pycharm使用虚拟环境 1)anaconda安装 2)使用anaconda创建虚拟环境 3)安装pytorch 4)安装其他包 5)Pycharm使用虚拟环境 前言 相信很多时候大家都会用到虚拟环境,他具有可以让你快速切换不同的python版本,让程序打包的时候轻量化等等优点,之前作为小白第一次接触python的时候,为了配置虚拟环境花了好几天,踩了很多坑,网上很多教程的水平也参差不齐,正好最近帮实习公司做了个学校项目,需要我提供python环境配置的文档,于是我就顺手把教程编辑

  • SpringBoot MyBatis保姆级整合教程

    目录 Spring Boot整合MyBatis 数据准备 创建项目引入相应的启动器 编写与数据库表 编写配置文件 注解方式整合Mybatis 配置文件的方式整合MyBatis 创建接口类 创建XML映射文件 配置XML映射文件路径 编写单元测试进行接口方法测试 Spring Boot整合MyBatis MyBatis 是一款优秀的持久层框架,Spring Boot官方虽然没有对MyBatis进行整合,但是MyBatis团队自行适配了对应的启动器,进一步简化了使用MyBatis进行数据的操作 基础

  • xmind免费安装使用保姆级教程详解

    目录 xmind免费安装使用保姆级教程 一.简介 二.安装 Xmind 1.开始安装 2.安装免费补丁 3.打开xmind 三.Xmind的基本功能 1.创建新思维导图 2.添加节点 3.编辑节点内容 4.设置节点属性 5.添加关联和标签 6.快速分支 7.框选 8.快捷键 9.分享和协作 10.导出和导入 11.云端存储和同步 12.模板库和资源库 四.总结 推荐阅读:XMind 2021激活码及安装步骤 xmind免费安装使用保姆级教程 一.简介 xmind 是一款功能强大的思维导图和脑图制

  • 对sklearn的使用之数据集的拆分与训练详解(python3.6)

    研修课上讲了两个例子,融合一下. 主要演示大致的过程: 导入->拆分->训练->模型报告 以及几个重要问题: ①标签二值化 ②网格搜索法调参 ③k折交叉验证 ④增加噪声特征(之前涉及) from sklearn import datasets #从cross_validation导入会出现warning,说已弃用 from sklearn.model_selection import train-test_split from sklearn.grid_search import Gri

  • Tensorflow 训练自己的数据集将数据直接导入到内存

    制作自己的训练集 下图是我们数据的存放格式,在data目录下有验证集与测试集分别对应iris_test, iris_train 为了向伟大的MNIST致敬,我们采用的数据名称格式和MNIST类似 classification_index.jpg 图像的index都是5的整数倍是因为我们选择测试集的原则是每5个样本,选择一个样本作为测试集,其余的作为训练集和验证集 生成这样数据的过程相对简单,如果有需要python代码的,可以给我发邮件,或者在我的github下载 至此,我们的训练集,测试集,验证

  • Django项目uwsgi+Nginx保姆级部署教程实现

    写在最前: 非常抱歉的是,因为突如其来的疫情,我的hadoop系列断更了,很难受,因为我的分布式环境在学校,我的笔记本配置带不起来,代码跑不起来我是不敢写博客的,然后寒假在家写代码也没啥意思,看了非常多的书,把计网和操作系统重新学了一遍.因为实习的需要,未来我更多的技术可能在Python这块,但是java相关的内容我也会努力保持更新,同时也会出更多的入门教程给大家谢谢大家. 背景: 最近在学习django的过程中,用django做了一个小demo,所以试试看能不能部署到服务器上,自己顺便也熟悉一

随机推荐