news 2026/5/12 6:00:18

Yolov7模型训练指南:从环境搭建到最终应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Yolov7模型训练指南:从环境搭建到最终应用

1. 环境搭建

1.1 【 设备与系统配置 】

我使用的设备配置为V100显卡双卡,总显存64GB,操作系统为Ubuntu 18.04,Python版本为3.7.10。在这样的环境下,我可以顺利地进行yolov7模型的训练。

1.2 【 代码获取与准备 】

在搭建好环境后,接下来需要获取yolov7的代码,并进行必要的安装和环境配置。同时,也需要下载预训练的权重文件,以便于模型的训练和推理。这些步骤完成后,就可以正式开始yolov7模型的训练了。

022. 代码准备

2.1 【 克隆代码 】

yolov7的代码可以在其官方仓库中获取。直接访问官方GitHub页面(

git clone

执行该命令后,代码将被下载并保存在本地,为后续的训练和推理工作做好准备。从官方GitHub页面克隆yolov7代码,并准备训练和推理的基础。

代码克隆过程

代码的克隆速度主要取决于服务器的网络速度。有时,这一过程可能需要两到三分钟,而其他时候,可能只需几十秒即可完成。一旦克隆成功,你就可以打开yolov7,并看到一系列的文件,为后续的训练和推理工作提供基础。

2.2 【 环境搭建 】

进入yolov7项目文件夹后,开始进行环境的搭建。只需依次输入以下两行代码即可完成。在yolov7项目文件夹中,通过命令进行环境搭建和依赖安装。请注意,这个过程的速度会受到服务器网络速度的影响,但通常不会花费太久的时间。

```bash

cd yolov7

pip install -r requirements.txt

```

接下来,我们将展示环境搭建完成后的截图。

环境搭建完成后,我们就可以开始进行后续的开发工作了。

2.3 【 权重下载 】

我们此次采用的预训练模型为yolov7_training.pt,该模型是在MS COCO数据集上经过精心训练的。为了便于管理,我们将此模型下载至/yolov7/weights/文件夹中。下载预训练模型yolov7_training.pt,并将其放在指定目录。

请注意,若该文件夹尚不存在,需先进行创建。以下是创建文件夹并切换至该目录的命令:

mkdir weights # 创建weights文件夹

cd weights # 进入weights文件夹

请放心,这些预训练模型均可从官网获取。在掌握数据集的训练方法后,您还可以根据个人需求对预训练模型进行定制化更改。官网的相关截图已附上,供您参考:

下载完成后(或上传至服务器后),请确保您已成功获取到预训练模型文件。接下来,您可以开始进行后续的操作,如模型训练或评估等。

执行cd ..命令,我们的预训练权重文件就已经成功下载完毕。

2.4 【 进行测试 】

这一步的关键在于验证环境的配置是否完整且无误。测试环境配置的正确性,并进行模型推断验证。

接下来,我们需要从网络上下载已经训练好的权重文件,将其保存至/weights/文件夹中。请注意,此处所下载的权重文件与Transfer Learning中使用的预训练文件并非同一份。

在完成环境配置和权重文件下载后,我们接下来将进行实际的测试。首先,使用命令cd weights进入权重文件所在的目录,然后运行`wget

请确保测试成功,运行结果将显示预测的图片已被保存在/runs/detect/exp/文件夹下。

033. 数据准备阶段

3.1 【 数据准备 】

在完成了模型推理的初步准备后,我们接下来需要聚焦于数据准备的重要环节。创建 datasets文件夹并管理训练数据。我们创建了一个名为datasets的文件夹,用于集中管理所有数据。在训练过程中,我们使用了yolo数据格式,但与常规格式有所不同的是,我们额外添加了两个.txt文件。这两个文件的主要作用是存储每张图片的路径信息,其具体用途将在后续章节中详细阐述。

3.2 【 准备yolo格式的数据 】
3.2.1 【 创建数据文件夹 】

使用mkdir datasets命令来创建一个名为datasets的文件夹,以方便我们集中管理所有数据。执行此命令后,将得到如下结果:

[成功创建datasets文件夹]

3.2.2 【 准备yolo格式数据集 】

若您对yolo格式数据集尚不了解,不妨先进行一番学习。众多CV领域专家推荐使用labelImg进行数据标注,其便捷性不言而喻。当然,此处我们不深入探讨labelImg的具体使用方法,因其使用教程在网络上不胜枚举。需注意的是,标注数据通常需借助图形交互界面,而远程服务器可能无法满足此需求,因此推荐在本地电脑完成标注后再上传至服务器。

接下来,我们将探讨如何准备已标注的yolo格式数据集。这些数据集将遵循特定的存放格式。不过,值得注意的是,train\_list.txtval\_list.txt这两个文件需要我们后续自行生成,而并非由labelImg直接生成。至于其他由labelImg生成的文件,则会自动包含相应的标注信息。

生成这两个文件并不复杂,只需编写一个简单的循环即可完成。在完成对数据集的准备之后,我们可以继续进行下一步,即进行模型训练和评估。

044. 配置文件准备

4.1 【 简介 】

在准备训练所需配置文件时,我们主要需要关注两个文件。首先是/yolov7/cfg/training/yolov7.yaml,这是一个关于模型配置的重要文件,其中包含了模型的各项参数设置。另一个则是/yolov7/data/coco.yaml,这个文件用于指定数据集的路径和相关信息。配置训练文件,包括模型配置和数据集路径的设置。

4.2 【 配置模型文件 】

首先,将yolov7.yaml文件复制到相同路径,并重命名为yolov7-Helmet.yaml。接下来,打开这个重命名后的文件,进行简单的修改。修改yolov7-Helmet.yaml中的nc参数以适配特定任务。修改内容如下:

nc参数的值修改为你的数据集中目标类别的总数。例如,如果你的数据集包含三个类别,那么就将nc的值设置为3。完成修改后,保存文件。

4.3 【 数据集文件配置 】

首先,将coco.yaml文件复制到相同目录下,并重命名为Helmet.yaml。接下来,打开Helmet.yaml文件,进行以下关键修改:修改Helmet.yaml,指定训练和验证数据路径

  1. 注释掉自动下载COCO数据集的代码,以避免不必要的内存占用。

  2. train路径修改为train_list.txt文件的实际路径。

  3. val路径修改为val_list.txt文件的实际路径。

  4. nc修改为数据集中目标类别的总数。

  5. names修改为数据集中所有目标类别的名称列表。

完成上述修改后,记得保存Helmet.yaml文件。在完成配置后,我们就可以开始进行模型训练了。

055. 训练流程

5.1 【 引言 】

在启动训练流程时,利用关键文件和超参数配置启动模型训练。我们将需要使用三个关键文件:预训练模型yolov7.pt、配置文件yolov7-Helmet.yaml以及数据集文件Helmet.yaml。

5.2 【 启动训练 】

运行train.py命令开始训练。执行以下命令:

```bash

python train.py --weights weights/yolov7.pt --cfg cfg/training/yolov7-Helmet.yaml --data data/Helmet.yaml --device 0,1 --batch-size 64 --epoch 10

```

执行上述命令后,训练界面将开始扫描数据,并在yolov7/datasets/Helmet/目录下生成两个缓存文件。这两个文件是模型进行数据读取所必需的,训练过程中请勿删除。在指定目录生成缓存文件,接着正式开始训练。

066. 模型训练结果与推理应用

6.1 【 训练结果展示 】

在模型训练完成后,显示训练完成后的最佳模型信息及其他结果文件。系统会输出最佳模型的信息,并告知最后一个epoch的模型结果保存位置,例如:

除了最后一个epoch的模型结果,系统还在/runs/train/exp/目录下保存了其他训练结果文件。

6.2 【 推理 】

推理过程与测试类似,只需将相应的训练好的模型对新的测试图片进行推理,并展示结果。运行以下命令进行推理:

```bash

python detect.py --weights runs/train/exp3/weights/best.pt --source datasets/testImages

```

通过这一系列步骤,我们能够顺利地进行yolov7模型的训练,并成功应用在实际目标检测任务中。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 6:00:10

告别低效繁琐!千笔·专业降AI率智能体 VS 文途AI,研究生专属降AI率工具

在AI技术迅速渗透学术写作领域的当下,越来越多的研究生开始借助AI工具提升论文撰写效率。然而,随着各大查重系统对AI生成内容的识别能力不断升级,如何有效降低AI率、避免重复率超标,已成为众多学生面临的核心难题。面对市场上五花…

作者头像 李华
网站建设 2026/5/12 3:16:32

Golang构建AI智能体社交网络:MoltBook分布式架构实战

引言 2026年初,全球首个专为AI智能体设计的社交网络平台MoltBook在科技圈引发轰动。在短短48小时内,超过15万个AI智能体涌入平台,自发形成了上万个主题社区(Submolts),甚至诞生了名为"龙虾教"(Crustafarianism)的虚拟宗教。这一现象级实验不仅展示了AI群体自…

作者头像 李华
网站建设 2026/5/1 16:40:04

Transformer架构深度解析

🧠 Transformer架构深度解析:从“注意力”到“理解”的革命 Transformer架构是人工智能领域近十年来最具颠覆性的创新之一,它不仅是GPT、BERT等大语言模型的基石,更是推动了自然语言处理乃至整个深度学习范式的变革。其核心思想完全抛弃了传统的循环(RNN)和卷积(CNN)…

作者头像 李华
网站建设 2026/5/9 3:16:38

最近在折腾C#和欧姆龙PLC通信,发现网上完整的HostLink协议实现案例不多,自己啃手册写了套基础通信框架。直接上干货,先扔个读取DM区的代码

C#上位机与omron欧姆龙 Host Link通信串口通讯实例 源码 通过和PLC用串口连接,可以读取写入欧姆龙PLC的数据寄存器DM(批量也可以)、输入输出CIO、辅助继电器WR,H保持继电器等。 c#基于VS2015以上版本 // 串口配置 SerialPort sp new Serial…

作者头像 李华
网站建设 2026/5/12 6:00:08

使用Nginx搭配GeoIP2实现根据IP自动跳转国家站点

前言 在现代Web应用中,根据用户的地理位置提供不同的内容是一种常见的需求。本文将详细介绍如何使用Nginx和GeoIP2模块实现按国家或地区的智能路由的功能,我们可以实现更加精准的内容分发、个性化的用户体验和合规化的服务策略。 这里只实现了根据国家或…

作者头像 李华
网站建设 2026/5/10 20:21:56

JAVA核心技术实战

一、为什么这些 “老技术” 至今仍是面试 / 开发的核心?​ Java 生态迭代迅速,但真正支撑企业级项目稳定运行的,始终是那些 “不变的核心”—— 它们不依赖最新 JDK 版本,却贯穿所有 Java 开发场景,也是大厂面试的 “…

作者头像 李华