深圳Yolo 视觉
深圳
立即加入

使用Ultralytics Platform更快地训练YOLO模型。

了解如何使用Ultralytics Platform更快地训练YOLO模型,这是一个旨在加速从数据到部署路径的端到端环境。

想部署一个计算机视觉项目吗?

了解授权

上周,Ultralytics推出了Ultralytics Platform,这是一个统一的工作区,旨在简化团队构建、训练和部署计算机视觉模型的方式。该平台将所有功能整合到一处,无需在多个工具之间切换。使用视觉AI模型从构思到部署变得轻松无忧。 

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

将这些视觉应用转化为可靠系统取决于模型的训练效果。模型训练涉及从标注数据中学习,以便模型能够识别模式并做出准确预测。通常,训练有素的模型在实际应用中能带来更好的模型性能和更可靠的结果。

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

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

图1. Ultralytics Platform中的模型训练概览 (来源)

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

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

在深入了解Ultralytics Platform上的模型训练工作原理之前,我们首先回顾一下模型训练的定义及其构成要素。

模型训练是计算机视觉模型学习解释视觉数据的过程。它分析图像或视频,并逐步调整其内部参数,以准确执行视觉任务,如目标detect、图像classify和实例segment。随着时间的推移,模型通过直接从所见数据中学习模式而得到改进。

训练质量在很大程度上取决于数据集。您可以将数据集想象成老师用来训练学生的闪卡,其中每个示例都帮助模型学习要寻找什么。

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

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

数据集的准备方式

您可能认为一旦拥有数据集,就可以立即开始训练模型,但在此之前,您需要先执行几个步骤,例如拆分数据集。

通常,数据集被分为三个部分:训练集、验证集和测试集。训练图像用于教导模型数据中的模式,而验证集则有助于在训练期间监控和微调性能。 

测试集最后用于评估模型在新颖的、未见过的数据上的表现。这种设置有助于确保模型不仅仅是记忆数据,而是能够泛化到真实世界的场景。

选择合适的训练模型。

训练前的另一个重要步骤是选择您想要使用的模型。在许多情况下,这意味着选择一个预训练模型。像Ultralytics YOLO模型这样的模型已经在大型数据集上进行了训练,并学习了通用的视觉模式,这使它们成为一个强大的起点。

使用这些模型是迁移学习的一个例子,即在现有知识的基础上,使模型适应您的特定任务。这种方法有助于加速训练并改善结果,尤其是在处理有限数据时。

这些模型也有不同的尺寸,每种尺寸都在速度和准确性之间提供权衡。较小的模型速度更快、效率更高,而较大的模型通常能提供更高的准确性,但需要更多的计算资源。

配置视觉模型的训练参数

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

计算机视觉模型通过一组参数进行训练,这些参数决定了它如何处理数据、更新权重并随着时间推移而改进。这些设置直接影响训练速度和最终准确性,因此对于取得良好结果至关重要。

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

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

在基于Ultralytics YOLO的工作流中,这些配置通常在yaml文件中定义。此文件指定数据集路径、类别名称以及数据如何划分。它作为中央配置,指导模型如何解释数据集。

从碎片化的工作流到Ultralytics Platform的统一体验

我们刚刚讨论了训练计算机视觉模型的一些关键步骤,从准备数据集到选择模型和配置训练参数。实际上,这个过程通常会更进一步,包括跟踪实验、比较多次训练运行,以及随着时间的推移不断优化模型。

这些步骤很少在一个地方完成。数据集可能在一个工具中准备,训练运行在另一个环境中执行,实验track则单独管理。随着项目的增长,这种碎片化增加了复杂性,减慢了迭代速度,并使得保持一切井然有序变得更加困难。

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

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

Ultralytics 平台支持的训练选项

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

Ultralytics Platform支持以下训练选项以满足这些需求:

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

探索Ultralytics Platform上的云端训练

在计算机视觉项目方面,在本地或通过notebook环境训练模型并非总是容易的。

例如,在本地训练时,性能完全取决于您的硬件,这会限制计算能力并减慢实验速度。GPU对于高效训练至关重要,但并非每个设置都能可靠地访问它们。 

虽然 Google Colab 等笔记本环境通过提供云端 GPU 提供了替代方案,但会话通常是临时的,可能会中断较长时间的训练运行。随着数据集的增长和工作流程的复杂化,这些局限性会迅速演变为瓶颈,导致训练速度变慢且可靠性降低。

Ultralytics Platform 通过其云训练选项解决了这个问题。它提供了一个即用型环境,其中 python 依赖项和 PyTorch 等框架已预先配置,让您无需额外设置即可开始训练。

通过一个仪表板,您可以启动训练任务并实时监控进度。这使得您可以更专注于改进模型,而不是管理基础设施。

现在,让我们看看如何在 Ultralytics Platform 上开始云训练。

步骤 1: 选择一个基础模型

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

该平台支持所有 Ultralytics YOLO 模型,包括 Ultralytics YOLO26Ultralytics YOLO11Ultralytics YOLOv8Ultralytics YOLOv5,每种模型都有不同尺寸变体,如 nano (n)、small (s)、medium (m)、large (l) 和 extra-large (x)。不同的模型变体在速度和准确性之间提供权衡,您可以选择适合您性能和计算需求(compute requirements)的模型。

这些模型支持一系列Ultralytics YOLO用户已经熟悉的计算机视觉任务,包括目标检测、实例segmentation、图像分类、旋转框检测 (OBB) detect和姿势估计。

如果您有自定义需求,您还可以上传自己的预训练模型权重。这意味着您可以在平台内继续训练或微调现有模型,例如目标detect器,而不是从头开始。如果您已经在其他地方训练过模型,或者想将模型适应更具体的用例,这将特别有用。

步骤 2: 选择一个数据集

下一步是选择用于训练的数据集。在 Ultralytics 平台上,您可以使用 COCO 数据集等预先存在的数据集,从社区克隆数据集,或者上传您自己的根据特定应用量身定制的自定义数据集。

该平台支持 Ultralytics YOLO 和 COCO 等常见标注格式,如果您计划直接在平台上 标注自定义数据,它还可以处理原始图像上传。

上传后,数据集会自动处理,包括验证、归一化、标签解析和统计数据生成。这使您能够立即了解数据,包括类别分布和数据集结构,并有助于确保所有内容都已准备好进行训练。

数据集还会自动关联到训练运行,让您能够追踪每个模型使用了哪些数据,并在不同实验中保持一致性。

步骤3:配置训练参数

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

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

步骤 4:选择一个 GPU

接下来,您可以为您的训练运行选择 GPU 配置。选择合适的 GPU 取决于数据集大小、批次大小、图像分辨率和模型复杂度等因素。找到合适的平衡有助于保持训练效率,同时避免不必要的计算资源消耗。

Ultralytics Platform 提供22种 GPU 选项,具有不同级别的显存(GPU上的内存)和计算能力,支持从小型任务到大规模工作负载的各种需求。

借此,您可以根据具体需求匹配硬件,无论是训练轻量级模型还是处理大型复杂数据集。要了解更多信息,请查看 Ultralytics 平台训练文档页面上的可用 GPU 列表。

图 2. 通过 Ultralytics Platform 启用的一些 GPU 选项 (来源)

步骤 5:开始云端训练

选择模型、数据集、训练参数和计算选项后,启动训练运行非常迅速。从仪表板中,您只需单击一下即可启动训练,平台将通过初始化环境并在选定的GPU上运行作业来处理其余部分。

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

要了解更多关于本地训练或使用 Google Colab 与 Ultralytics Platform 的信息,您可以在 Ultralytics 官方 Platform 文档 中探索更多教程。

在 Ultralytics Platform 上评估和比较模型

训练完成后,下一步是评估模型的性能。在Ultralytics平台上,您可以在一个项目中比较多个训练运行,从而清晰了解不同实验的表现。

在开发模型时,训练通常会重复多次,采用不同的设置(例如更改学习率、批大小或模型大小)以改进结果。每次运行都会生成一个略有不同的模型,因此比较它们至关重要。

项目作为中心枢纽,将模型和实验统一组织起来。您可以 track 进度、审查结果,并保持专注,无需在不同工具或视图之间切换。

从这个统一视图中,您还可以分析关键性能指标,例如 precision、recall 和 mAP(平均精度均值),以了解您的模型在不同类别上的表现。您还可以并排比较训练运行,以确定哪些配置能提供最佳结果。 

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

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

图 3. 在 Ultralytics Platform 上查看指标的示例 (来源)

在 Ultralytics Platform 中估算训练成本

在云端训练目标 detect 模型会产生计算成本,尤其是在您访问高性能 GPU 时。为了更方便,Ultralytics 平台会在训练开始前提供成本估算。

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

训练时间如何估算

为准确估算成本,平台首先计算单个训练周期(epoch)所需的时间。这取决于数据集大小、模型大小、图像分辨率、批处理大小以及所选 GPU 的速度等因素。

利用这些输入,它确定了每个 epoch 的估计时间,并将其扩展到整个训练运行。总持续时间是通过将所有 epoch 的时间与少量启动开销相结合来计算的。

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

训练成本如何计算

估算出总训练时间后,平台会使用所选 GPU 的每小时费率将其转换为成本。

通过将训练时长与 GPU 定价相结合,我们可以在运行开始之前,清楚地估算出其将产生的成本。

提前了解这些信息可以轻松调整您的设置,例如调整训练参数或选择不同的 GPU,从而更有效地平衡性能和成本。

图 4. 在 Ultralytics 平台中设置模型训练和估算成本 (来源)

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

迄今为止,我们已经探讨了计算机视觉模型训练所涉及的关键步骤,以及它们如何在 Ultralytics 平台上协同工作。 

除了这些核心功能之外,还有一些额外的功能可以增强训练工作流程。以下是使用 Ultralytics 平台进行模型训练的一些主要优势概述:

  • 内置实验可复现性:每次训练运行都会自动记录其完整配置,包括模型、数据集、参数和计算设置。这使得重新审视实验并可靠地复现结果变得简单。
  • 训练过程洞察:您不仅可以查看最终结果,还可以跟踪模型性能在不同训练周期(epochs)中的演变,从而更好地理解模型在训练过程中的行为。
  • 降低运营开销:平台在后台处理环境设置、依赖管理和基础设施,让您能够更专注于模型开发,减少配置工作。
  • 集中式实验组织:项目作为管理模型、数据集和训练运行的单一平台,有助于在工作流变得更复杂时保持实验的结构化。

主要要点

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

通过在一个环境中整合训练数据配置、监控、实验比较和成本估算,Ultralytics 平台简化了构建高性能计算机视觉模型并为部署做好准备的过程。

查看我们不断壮大的社区GitHub 仓库,了解更多关于计算机视觉的信息。如果您正在寻求构建视觉解决方案,请查看我们的许可选项。浏览我们的解决方案页面,了解计算机视觉在制造业中的应用人工智能在农业中的应用的更多优势。

让我们一起共建AI的未来!

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