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

📅 发布时间:2026/7/6 7:17:09 👁️ 浏览次数:
Yolov7模型训练指南:从环境搭建到最终应用
1. 环境搭建1.1 【 设备与系统配置 】我使用的设备配置为V100显卡双卡总显存64GB操作系统为Ubuntu 18.04Python版本为3.7.10。在这样的环境下我可以顺利地进行yolov7模型的训练。1.2 【 代码获取与准备 】在搭建好环境后接下来需要获取yolov7的代码并进行必要的安装和环境配置。同时也需要下载预训练的权重文件以便于模型的训练和推理。这些步骤完成后就可以正式开始yolov7模型的训练了。022. 代码准备2.1 【 克隆代码 】yolov7的代码可以在其官方仓库中获取。直接访问官方GitHub页面git clone执行该命令后代码将被下载并保存在本地为后续的训练和推理工作做好准备。从官方GitHub页面克隆yolov7代码并准备训练和推理的基础。代码克隆过程代码的克隆速度主要取决于服务器的网络速度。有时这一过程可能需要两到三分钟而其他时候可能只需几十秒即可完成。一旦克隆成功你就可以打开yolov7并看到一系列的文件为后续的训练和推理工作提供基础。2.2 【 环境搭建 】进入yolov7项目文件夹后开始进行环境的搭建。只需依次输入以下两行代码即可完成。在yolov7项目文件夹中通过命令进行环境搭建和依赖安装。请注意这个过程的速度会受到服务器网络速度的影响但通常不会花费太久的时间。bashcd yolov7pip 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.txt和val\_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指定训练和验证数据路径。注释掉自动下载COCO数据集的代码以避免不必要的内存占用。将train路径修改为train_list.txt文件的实际路径。将val路径修改为val_list.txt文件的实际路径。将nc修改为数据集中目标类别的总数。将names修改为数据集中所有目标类别的名称列表。完成上述修改后记得保存Helmet.yaml文件。在完成配置后我们就可以开始进行模型训练了。055. 训练流程5.1 【 引言 】在启动训练流程时利用关键文件和超参数配置启动模型训练。我们将需要使用三个关键文件预训练模型yolov7.pt、配置文件yolov7-Helmet.yaml以及数据集文件Helmet.yaml。5.2 【 启动训练 】运行train.py命令开始训练。执行以下命令bashpython 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 【 推理 】推理过程与测试类似只需将相应的训练好的模型对新的测试图片进行推理并展示结果。运行以下命令进行推理bashpython detect.py --weights runs/train/exp3/weights/best.pt --source datasets/testImages通过这一系列步骤我们能够顺利地进行yolov7模型的训练并成功应用在实际目标检测任务中。