深圳Yolo 视觉
深圳
立即加入

了解如何利用Ultralytics 更快地训练YOLO ——这是一个专为加速从数据到部署的流程而打造的端到端环境。

借助Ultralytics扩展您的计算机视觉项目

开始使用

上周Ultralytics Ultralytics 这是一个旨在简化团队构建、训练和部署计算机视觉模型流程的统一工作空间。该平台将所有功能整合于一体,无需再在多种工具之间来回切换。借助该平台,从构思到部署视觉 AI 模型的过程变得轻松无忧。 

这一点至关重要,因为计算机视觉正迅速成为各行各业的核心组成部分。它为制造检测、零售分析以及自主导航等应用提供了技术支持。

能否将这些基于视觉的应用程序转化为可靠的系统,取决于模型训练的质量。模型训练涉及从标注数据中学习,以便模型能够识别模式并做出准确的预测。一般而言,训练有素的模型在实际应用中能带来更优异的性能和更可靠的结果。

然而,训练计算机视觉模型并非总是那么简单。这一过程涉及多个方面,例如搭建环境、选择合适的计算资源、调整超参数以及跟踪多个训练实验。当这些步骤分散在不同的工具和系统中时,训练工作流很快就会变得复杂且难以管理。

Ultralytics 通过将整个训练流程整合到一个统一的仪表盘中,解决了这一问题。无论您是在云端、本地还是在Google 上工作,都可以在同一个地方配置、运行和监控训练任务。 

图1.Ultralytics 中的模型训练一瞥(来源

在本文中,我们将探讨Ultralytics 如何简化模型训练流程,以及它为何能为您的视觉 AI 项目带来竞争优势。让我们开始吧!

计算机视觉模型通过模型训练从数据中学习

在深入探讨Ultralytics 模型训练原理之前,让我们先退一步,详细了解什么是模型训练以及其中包含哪些内容。

模型训练是指计算机视觉模型学习解读视觉数据的过程。它通过分析图像或视频,逐步调整其内部参数,从而能够准确地完成物体检测、图像分类和实例分割等视觉任务 。随着时间的推移,模型通过直接从所处理的数据中学习模式而不断改进。

训练质量在很大程度上取决于数据集。你可以把数据集想象成老师用来教学生的卡片集,其中的每个示例都能帮助模型学会识别关键特征。

典型的计算机视觉数据集包含图像(通常为 JPG 或 PNG 格式)以及描述每张图像内容的标注。这些标注通常以 JSON 或 TXT 文件的形式存储,为模型提供了有效学习所需的标签和上下文信息。

但训练不仅仅是将数据输入模型。它涉及多个关键步骤,从准备数据集到选择合适的模型,再到配置训练过程。接下来,让我们详细了解其中几个步骤。

数据集的准备过程一览

乍看之下,似乎只要有了数据集,就可以立即开始训练模型,但其实在此之前还需要进行几个步骤,例如对数据集进行划分。

通常,数据集会被划分为三部分:训练集、验证集和测试集。训练集用于让模型学习数据中的模式,而验证集则有助于在训练过程中监控和微调模型的性能。 

测试集用于在最后评估模型在完全陌生的新数据上的表现。这种设置有助于确保模型不仅能记住数据,还能将所学知识推广到现实场景中。

选择合适的模型进行训练

训练前的另一个重要步骤是选择要使用的模型。在许多情况下,这意味着选择一个预训练模型。像Ultralytics YOLO 模型已经在大型数据集上经过训练,并掌握了通用的视觉模式,因此是一个很好的起点。

使用这些模型是迁移学习的一个典型例子,即在现有知识的基础上,将模型调整以适应特定任务。这种方法有助于加快训练速度并提升结果质量,尤其是在数据有限的情况下。

这些模型还提供不同规模的版本,每种版本都在速度与准确性之间做出了权衡。较小的模型运行更快、效率更高,而较大的模型通常能提供更高的准确性,但需要更多的计算资源。

配置视觉模型的训练参数

在准备好数据集并选定模型后,下一步就是配置模型的学习方式。

计算机视觉模型是通过一组参数进行训练的,这些参数决定了模型如何处理数据、更新权重以及随时间推移而不断优化。这些设置直接影响训练速度和最终准确率,因此对于取得优异结果至关重要。

以下是一些最常用的训练参数:

  • epoch:它表示模型在训练过程中遍历整个数据集的次数。增加 epoch 的数量,能让模型有更多机会从数据中学习模式。
  • 批量大小:指在单次训练步骤中同时处理的图像数量。更大的批量大小可以加快训练速度,但需要更多的内存。
  • 图像尺寸:指训练过程中使用的输入图像的分辨率。更高的分辨率可能提高检测准确率,但会增加计算成本。
  • 学习率:这是模型在训练过程中更新其内部参数的速率。数值过高或过低都可能导致训练不稳定。
  • 优化器:这是负责根据每次训练迭代中计算出的误差来更新模型参数的算法。

在YOLO Ultralytics YOLO工作流中,这些配置通常定义在 YAML 文件中。该文件指定了数据集路径、类名以及数据的分割方式。它作为核心配置文件,指导模型如何解析数据集。

从分散的工作流程到Ultralytics 带来的统一体验

我们刚才讨论了训练计算机视觉模型的一些关键步骤,从准备数据集到选择模型以及配置训练参数。实际上,这一过程通常还包括后续工作,例如跟踪实验进展、比较多次训练结果,以及随着时间的推移不断优化模型。

这些步骤很少能在同一个地方完成。数据集可能在某个工具中准备,训练任务在另一个环境中执行,而实验跟踪则由其他系统单独管理。随着项目规模的扩大,这种分散管理会增加复杂性,延缓迭代速度,并使整体管理变得更加困难。

Ultralytics 将整个训练工作流整合到一个环境中,从而消除了这种复杂性。您无需在不同工具之间切换,而是在同一个地方即可管理数据集、配置训练、运行实验并监控结果。

接下来,让我们深入探讨Ultralytics 如何让模型训练更加智能。 

Ultralytics 支持的训练选项

在实际应用中,训练计算机视觉模型通常需要灵活的环境。根据数据集的大小、模型的复杂程度以及可用的硬件,您可以选择在云端、本地机器或通过外部笔记本环境进行训练。

Ultralytics 支持以下培训选项,以满足这些需求:

  • 云端训练:训练在Ultralytics云端图形处理单元(GPU)上运行。此选项非常适合需要大量计算资源的大型数据集或更复杂的模型。
  • 本地训练:此选项利用您机器上现有的硬件资源,非常适合快速实验、测试配置或处理较小的数据集。对于更具扩展性的工作负载,您也可以在自己的云环境(如 AWS 或 GCP)中运行训练任务。
  • Google :借助Ultralytics 您可以在Google 托管笔记本环境中运行训练任务,从而实现灵活的基于浏览器的操作流程,无需配置本地机器。

探索Ultralytics 上的云培训

在计算机视觉项目中,本地或在笔记本环境中训练模型并不总是那么容易。

例如,在本地训练时,性能完全取决于硬件配置,这可能会限制计算能力,从而拖慢实验进程。GPU 对高效训练至关重要,但并非所有环境都能稳定地使用 GPU。 

虽然像Google 这样的笔记本环境通过提供基于云的 GPU 提供了一种替代方案,但会话通常是临时性的,可能会中断较长的训练过程。随着数据集的增长和工作流的日益复杂,这些限制很快就会演变成瓶颈,导致训练速度变慢且可靠性降低。

Ultralytics 其云端训练选项解决了这一问题。它提供了一个开箱即用的环境,其中Python PyTorch 等框架PyTorch 预先配置,让您无需额外设置即可开始训练。

通过一个统一的控制面板,您可以启动训练任务并实时监控进度。这使您能够更专注于优化模型,而非耗费精力管理基础设施。

现在,让我们来看看如何在Ultralytics 开始云培训。

步骤 1:选择基础型号

第一步是为训练运行选择一个基础模型。您可以选择一个预训练好的Ultralytics YOLO 、克隆一个社区模型,或者上传您自己的预训练权重以满足自定义需求。

该平台支持所有Ultralytics YOLO ,包括Ultralytics Ultralytics YOLO11Ultralytics YOLOv8,以及 Ultralytics YOLOv5,每种模型均提供多种尺寸版本,如纳米 (n)、小 (s)、中 (m)、大 (l) 和特大 (x)。不同模型版本在速度与精度之间存在权衡,您可以选择符合自身性能和计算需求的模型。

这些模型支持一系列计算机视觉任务,这些任务对Ultralytics YOLO 已经非常熟悉,包括目标检测、实例分割、图像分类、旋转框检测以及姿势估计 。

如果您有特殊需求,还可以上传您自己的预训练模型权重。这意味着您可以在平台内继续训练或微调现有模型(例如物体检测器),而无需从头开始。如果您已经在其他地方训练过模型,或者希望将模型适配到更具体的应用场景中,这将特别有用。

步骤 2:选择数据集

下一步是选择用于训练的数据集。在Ultralytics ,您可以使用现成的数据集(如COCO ),克隆社区中的数据集,或者上传专为您的特定应用定制的自有数据集。

该平台Ultralytics COCO常见标注格式,如果您计划直接在平台上对自定义数据进行标注,平台也支持上传原始图像。

数据集上传后,系统会自动进行处理,包括数据验证、标准化、标签解析以及统计信息生成。这使您能够立即了解数据情况,包括类别分布和数据集结构,并有助于确保一切就绪,准备进行训练。

数据集还会自动与训练运行关联,这样您就可以track 每个模型使用了track 数据,并确保不同实验之间的一致性。

步骤 3:配置训练参数

选择数据集后,您可以配置控制模型学习方式的训练参数。这些参数包括训练轮数、批量大小、图像尺寸以及训练日志的运行名称。其中许多参数既会影响训练时长,也会影响模型的最终性能。

为了实现更精细的训练控制,该平台还允许您调整高级参数,例如学习率、优化器类型、颜色增强设置以及其他训练选项。这些设置可以对训练过程进行微调,从而提高模型的准确性和稳定性。

第 4 步:选择GPU

接下来,您可以为训练任务选择GPU 。选择合适的GPU 数据集大小、批量大小、图像分辨率和模型复杂度等因素。找到合适的平衡点,既能保持训练效率,又不会消耗超过实际需要的计算资源。

Ultralytics 提供 22GPU ,具备不同规格的 VRAM(GPU 内存)和计算能力,可满足从小型任务到大规模工作负载的各种需求。

借助此功能,您可以根据具体需求选择合适的硬件,无论您是训练轻量级模型,还是处理大型复杂数据集。如需了解更多信息,请查阅Ultralytics 平台培训文档页面中列出的可用 GPU 列表。

图2.Ultralytics 启用的GPU (来源

第 5 步:开始云培训

选定模型、数据集、训练参数和计算选项后,启动训练过程非常快捷。在仪表盘上,您只需单击一下即可启动训练,平台将自动完成后续工作,包括初始化环境并在选定的GPU 上运行任务。

随着训练的开始,您可以在平台内直接监控进度。“训练”选项卡可实时显示关键指标,包括性能指标、损失曲线、系统使用情况以及实时训练日志。

如需进一步了解本地训练或如何在Ultralytics 中使用Google ,您可以在Ultralytics Platform 官方文档中查阅更多教程。

在Ultralytics 评估和比较模型

训练完成后,下一步就是评估模型的性能。在Ultralytics ,您可以比较同一项目中的多次训练结果,从而清晰地了解不同实验的性能表现。

在开发模型时,为了提升效果,通常会采用不同的设置(例如调整学习率、批量大小或模型规模)多次重复训练过程。每次训练生成的模型都会略有不同,因此对它们进行比较至关重要。

项目充当了一个中央枢纽,用于集中管理模型和实验。您可以在不切换不同工具或视图的情况下,track 、查看结果并保持专注。

通过这个统一视图,您还可以分析精度、召回率和mAP 平均精度)等关键性能指标,从而了解模型在不同类别中的表现。您还可以并排比较不同的训练运行,以确定哪些配置能带来最佳结果。 

为了补充这些指标,您可以使用“预测”选项卡,快速在样本图像或数据上测试已训练的模型,从而直观地验证模型性能并发现潜在问题。

基于这些洞察,您可以选择表现最佳的模型(通常保存为“best.pt”检查点),并进入下一阶段,无论是进行进一步评估、使用该模型进行推理,还是通过平台部署模型。

图3.Ultralytics 查看指标的示例(来源

在Ultralytics 内估算训练成本

在云端训练目标检测模型会产生计算成本,尤其是当您使用高性能 GPU 时。为了让操作更加便捷Ultralytics 会在训练开始前提供成本估算。

它能让您清晰了解预期使用情况,帮助您规划工作负载、管理预算,并在启动训练任务前避免意外开支。以下是您在开始训练前查看预估成本的方法。

如何估算培训时间

为了准确估算成本,该平台首先会计算单个训练 epoch 所需的时间。这取决于数据集大小、模型规模、图像分辨率、批量大小以及所选GPU 的运行速度等因素。

基于这些输入,它会计算出每个 epoch 的预估时间,并将其按比例扩展到整个训练过程。总时长是通过将所有 epoch 的时间与一小部分启动开销相加得出的。

这些开销包括环境初始化、加载数据集以及准备GPU 等任务,以确保该估计值反映完整的训练过程,而不仅仅是训练循环。

培训费用的计算方式

一旦估算出总训练时间,平台就会根据所选GPU每小时费率将其转换为成本。

通过将训练时长与GPU 相结合,我们甚至在训练开始之前,就能对运行成本做出清晰的估算。

提前掌握情况,便于您调整配置,例如调整训练参数或选择不同的GPU,从而更有效地平衡性能与成本。

图 4. 在Ultralytics 设置模型训练并估算成本(来源

使用Ultralytics 进行模型训练的主要优势

到目前为止,我们已经详细介绍了训练计算机视觉模型的关键步骤,以及这些步骤在Ultralytics 是如何协同运作的。 

除了这些核心功能外,还有其他功能可进一步优化训练工作流程。以下是使用Ultralytics 进行模型训练的一些主要优势概述:

  • 内置实验可重复性:每次训练都会自动记录完整的配置信息,包括模型、数据集、参数和计算设置。这使得重新访问实验并可靠地复现结果变得非常简单。
  • 随时间推移的训练洞察:与其仅关注最终结果,不如track 模型在各个 epoch 中的表现track 有助于您更好地理解模型在训练过程中的行为。
  • 降低运维开销:该平台在后台自动处理环境配置、依赖项管理和基础设施维护,让您能够将更多精力投入到模型开发中,而无需耗费过多时间在配置工作上。
  • 集中式实验管理:项目作为统一的管理平台,用于管理模型、数据集和训练任务,有助于在工作流日益复杂的情况下保持实验的条理清晰。

主要要点

训练是机器学习模型生命周期中最重要的阶段之一。它决定了模型识别和解读视觉数据的准确程度。 

Ultralytics 将训练数据配置、监控、实验对比和成本估算整合于同一环境,从而简化了构建高性能计算机视觉模型并为其部署做准备的流程。

欢迎访问我们不断壮大的社区和 GitHub 代码库,了解更多关于计算机视觉的信息。如果您希望构建视觉解决方案,请查看我们的授权方案。浏览我们的解决方案页面,深入了解计算机视觉在制造业以及人工智能在农业领域的应用优势。

让我们携手共创人工智能的未来!

开启您的机器学习未来之旅